<?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>83152</bug_id>
          
          <creation_ts>2012-04-04 06:07:41 -0700</creation_ts>
          <short_desc>[GTK] Separate image encoding from dataURL construction</short_desc>
          <delta_ts>2012-04-10 19:59:51 -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>Canvas</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>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595469</commentid>
    <comment_count>0</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-04 06:07:41 -0700</bug_when>
    <thetext>[GTK] Separate image encoding from dataURL construction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595480</commentid>
    <comment_count>1</comment_count>
      <attachid>135575</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-04 06:23:16 -0700</bug_when>
    <thetext>Created attachment 135575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597095</commentid>
    <comment_count>2</comment_count>
      <attachid>135575</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-05 18:15:04 -0700</bug_when>
    <thetext>Comment on attachment 135575
Patch

This seems like a nice refactor, but is there some reason that it will be useful in the future?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597284</commentid>
    <comment_count>3</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-06 04:18:39 -0700</bug_when>
    <thetext>http://dev.w3.org/html5/spec/the-canvas-element.html#dom-canvas-toblob</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597370</commentid>
    <comment_count>4</comment_count>
      <attachid>135575</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-06 08:20:18 -0700</bug_when>
    <thetext>Comment on attachment 135575
Patch

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

&gt; Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp:70
&gt; +    base64Encode(reinterpret_cast&lt;const char*&gt;(buffer.get()), bufferSize, base64Data);

It seems unusual that we need this reinpterpret_cast here. Perhaps you could try removing this before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598932</commentid>
    <comment_count>5</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-09 19:57:24 -0700</bug_when>
    <thetext>Happy to try removing the reinterpret_cast&lt;&gt; and try landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598933</commentid>
    <comment_count>6</comment_count>
      <attachid>136382</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-09 19:59:49 -0700</bug_when>
    <thetext>Created attachment 136382
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598940</commentid>
    <comment_count>7</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-09 20:09:29 -0700</bug_when>
    <thetext>Other questions: does the SupportedImageMIMETypeForEncoding registry for GTK contain items that don&apos;t begin with &quot;image/&quot;?  I&apos;d be surprised, and it seems these lines are redundant, due to the ASSERT at the start of ImageBuffer::toDataURL() ...

http://trac.webkit.org/browser/trunk/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp#L39

 39    if (!mimeType.startsWith(&quot;image/&quot;))
 40        return &quot;data:,&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598941</commentid>
    <comment_count>8</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-09 20:11:33 -0700</bug_when>
    <thetext>Oh, and is gdk_pixbuf_save_to_buffer() thread-safe?  I don&apos;t see anything in the docs about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599444</commentid>
    <comment_count>9</comment_count>
      <attachid>136382</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 11:29:28 -0700</bug_when>
    <thetext>Comment on attachment 136382
Patch for landing

Clearing flags on attachment: 136382

Committed r113742: &lt;http://trac.webkit.org/changeset/113742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599445</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-10 11:29:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599969</commentid>
    <comment_count>11</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-04-10 19:59:51 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Other questions: does the SupportedImageMIMETypeForEncoding registry for GTK contain items that don&apos;t begin with &quot;image/&quot;?  I&apos;d be surprised, and it seems these lines are redundant, due to the ASSERT at the start of ImageBuffer::toDataURL() ...
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/platform/graphics/gtk/ImageBufferGtk.cpp#L39
&gt; 
&gt;  39    if (!mimeType.startsWith(&quot;image/&quot;))
&gt;  40        return &quot;data:,&quot;;

Filed bug 83657 about that if you&apos;d like to review.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135575</attachid>
            <date>2012-04-04 06:23:16 -0700</date>
            <delta_ts>2012-04-09 19:59:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83152-20120404232313.patch</filename>
            <type>text/plain</type>
            <size>4860</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDVkYmExNmYxZjIyOWI1
YmM1ODEyNzNkYmQwZGU0ZjZhM2I1ZWZiYi4uNmMwNWEzMTEyMTgzM2IyYzJhMGEyNzA0MDZhMDhm
ZmNlYjhhODZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA0LTA0ICBOb2Vs
IEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBTZXBhcmF0
ZSBpbWFnZSBlbmNvZGluZyBmcm9tIGRhdGFVUkwgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzE1MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgaW1wbGljaXQgYXNz
dW1wdGlvbiB0aGF0IGEgZGF0YVVSTCBpcyB0aGUgb25seSBkZXNpcmVkIG91dHB1dCBmb3JtYXQK
KyAgICAgICAgb2YgdGhlIGltYWdlIGVuY29kaW5nIHBoYXNlLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cywgcmVmYWN0b3Jpbmcgb25seSwgY292ZXJlZCBieSBleGlzdGluZyBjYW52YXMgdGVzdHMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VCdWZmZXJHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6ZW5jb2RlSW1hZ2UpOiBPdXRwdXQgdGhlIGVuY29kZWQgaW1hZ2Ug
dG8gdGhlIHByb3ZpZGVkIEdPd25QdHI8Z2NoYXI+JgorICAgICAgICBidWZmZXIuIFVwZGF0ZSBH
VEsgZG9jdW1lbnQgcmVmZXJlbmNlIHRvIGEgdmFsaWQgVVJMLiBSb3VuZCB0aGUgcXVhbGl0eSBh
cmd1bWVudAorICAgICAgICB0byBhbiBpbnQgbGlrZSB0aGUgdG9EYXRhVVJMKCkgaW1wbGVtZW50
YXRpb25zIG9mIG90aGVyIHBvcnRzLiBEaXRjaCB0aGUgc3VjY2VzcworICAgICAgICB2YXJpYWJs
ZTsgaW5zdGVhZCB0ZXN0IHRoZSBHRXJyb3IqIGVycm9yIHJldHVybiB0byBpbmRpY2F0ZSBzdWNj
ZXNzLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1ZmZlcjo6
dG9EYXRhVVJMKTogRm9ybWF0IHRoZSBkYXRhVVJMIGVuY29kaW5nIG9mIHRoZSBtaW1lVHlwZQor
ICAgICAgICBlbmNvZGVkIGltYWdlIGRhdGEgYnVmZmVyIGhlcmVpbi4KKwogMjAxMi0wNC0wNCAg
QWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQG5va2lhLmNvbT4KIAogICAgICAg
ICBCZXN0IHpvb21hYmxlIGFyZWEgZG9lcyBub3QgYmFsYW5jZSBpbnRlcnNlY3Rpb24gd2l0aCB0
YXJnZXQgYXJlYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9JbWFnZUJ1ZmZlckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ndGsvSW1hZ2VCdWZmZXJHdGsuY3BwCmluZGV4IDIwODMyNTcxNWExZDNkYmZhNjJjYWFjZmM2
Y2Q3MThjN2E0ZTk3OTAuLjgxODBhOWM5MDUyMzE2YzM2ODA2NzJiY2NjNzU5MTFhZGJmMDg5MWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUJ1
ZmZlckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0lt
YWdlQnVmZmVyR3RrLmNwcApAQCAtMTYsNyArMTYsNiBAQAogICogIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQogICovCiAKLQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVy
LmgiCiAKQEAgLTMyLDQyICszMSw0NSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVN0cmlu
ZyBJbWFnZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRv
dWJsZSogcXVhbGl0eSkgY29uc3QKK3N0YXRpYyBib29sIGVuY29kZUltYWdlKGNhaXJvX3N1cmZh
Y2VfdCogc3VyZmFjZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgZG91YmxlKiBxdWFs
aXR5LCBHT3duUHRyPGdjaGFyPiYgYnVmZmVyLCBnc2l6ZSYgYnVmZmVyU2l6ZSkKIHsKLSAgICBB
U1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlRm9yRW5jb2Rp
bmcobWltZVR5cGUpKTsKLQotICAgIGlmICghbWltZVR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikp
Ci0gICAgICAgIHJldHVybiAiZGF0YTosIjsKKyAgICAvLyBMaXN0IG9mIHN1cHBvcnRlZCBpbWFn
ZSBlbmNvZGluZyB0eXBlcyBjb21lcyBmcm9tIHRoZSBHZGtQaXhidWYgZG9jdW1lbnRhdGlvbi4K
KyAgICAvLyBodHRwOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9nZGstcGl4YnVmL3N0YWJsZS9nZGst
cGl4YnVmLUZpbGUtc2F2aW5nLmh0bWwjZ2RrLXBpeGJ1Zi1zYXZlLXRvLWJ1ZmZlcnYKIAotICAg
IC8vIExpc3Qgb2Ygc3VwcG9ydGVkIGltYWdlIHR5cGVzIGNvbWVzIGZyb20gdGhlIEdka1BpeGJ1
ZiBkb2N1bWVudGF0aW9uLgotICAgIC8vIGh0dHA6Ly9saWJyYXJ5Lmdub21lLm9yZy9kZXZlbC9n
ZGstcGl4YnVmL3N0YWJsZS9nZGstcGl4YnVmLWZpbGUtc2F2aW5nLmh0bWwjZ2RrLXBpeGJ1Zi1z
YXZlLXRvLWJ1ZmZlcnYKICAgICBTdHJpbmcgdHlwZSA9IG1pbWVUeXBlLnN1YnN0cmluZyhzaXpl
b2YgImltYWdlIik7CiAgICAgaWYgKHR5cGUgIT0gImpwZWciICYmIHR5cGUgIT0gInBuZyIgJiYg
dHlwZSAhPSAidGlmZiIgJiYgdHlwZSAhPSAiaWNvIiAmJiB0eXBlICE9ICJibXAiKQotICAgICAg
ICByZXR1cm4gImRhdGE6LCI7CisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEdSZWZQdHI8
R2RrUGl4YnVmPiBwaXhidWYgPSBjYWlyb0ltYWdlU3VyZmFjZVRvR2RrUGl4YnVmKG1fZGF0YS5t
X3N1cmZhY2UpOworICAgIEdSZWZQdHI8R2RrUGl4YnVmPiBwaXhidWYgPSBjYWlyb0ltYWdlU3Vy
ZmFjZVRvR2RrUGl4YnVmKHN1cmZhY2UpOwogICAgIGlmICghcGl4YnVmKQotICAgICAgICByZXR1
cm4gImRhdGE6LCI7CisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEdPd25QdHI8Z2NoYXI+
IGJ1ZmZlcigwKTsKLSAgICBnc2l6ZSBidWZmZXJTaXplOwogICAgIEdFcnJvciogZXJyb3IgPSAw
OwotICAgIGdib29sZWFuIHN1Y2Nlc3MgPSBGQUxTRTsKICAgICBpZiAodHlwZSA9PSAianBlZyIg
JiYgcXVhbGl0eSAmJiAqcXVhbGl0eSA+PSAwLjAgJiYgKnF1YWxpdHkgPD0gMS4wKSB7Ci0gICAg
ICAgIFN0cmluZyBxdWFsaXR5U3RyaW5nID0gU3RyaW5nOjpmb3JtYXQoIiVmIiwgKnF1YWxpdHkg
KiAxMDAuMCk7Ci0gICAgICAgIHN1Y2Nlc3MgPSBnZGtfcGl4YnVmX3NhdmVfdG9fYnVmZmVyKHBp
eGJ1Zi5nZXQoKSwgJmJ1ZmZlci5vdXRQdHIoKSwgJmJ1ZmZlclNpemUsCi0gICAgICAgICAgICB0
eXBlLnV0ZjgoKS5kYXRhKCksICZlcnJvciwgInF1YWxpdHkiLCBxdWFsaXR5U3RyaW5nLnV0Zjgo
KS5kYXRhKCksIE5VTEwpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHN1Y2Nlc3MgPSBnZGtfcGl4
YnVmX3NhdmVfdG9fYnVmZmVyKHBpeGJ1Zi5nZXQoKSwgJmJ1ZmZlci5vdXRQdHIoKSwgJmJ1ZmZl
clNpemUsIHR5cGUudXRmOCgpLmRhdGEoKSwgJmVycm9yLCBOVUxMKTsKLSAgICB9CisgICAgICAg
IFN0cmluZyBxdWFsaXR5U3RyaW5nID0gU3RyaW5nOjpmb3JtYXQoIiVkIiwgc3RhdGljX2Nhc3Q8
aW50PigqcXVhbGl0eSAqIDEwMC4wICsgMC41KSk7CisgICAgICAgIGdka19waXhidWZfc2F2ZV90
b19idWZmZXIocGl4YnVmLmdldCgpLCAmYnVmZmVyLm91dFB0cigpLCAmYnVmZmVyU2l6ZSwgdHlw
ZS51dGY4KCkuZGF0YSgpLCAmZXJyb3IsICJxdWFsaXR5IiwgcXVhbGl0eVN0cmluZy51dGY4KCku
ZGF0YSgpLCBOVUxMKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZ2RrX3BpeGJ1Zl9zYXZlX3RvX2J1
ZmZlcihwaXhidWYuZ2V0KCksICZidWZmZXIub3V0UHRyKCksICZidWZmZXJTaXplLCB0eXBlLnV0
ZjgoKS5kYXRhKCksICZlcnJvciwgTlVMTCk7CiAKLSAgICBpZiAoIXN1Y2Nlc3MpCisgICAgcmV0
dXJuICFlcnJvcjsKK30KKworU3RyaW5nIEltYWdlQnVmZmVyOjp0b0RhdGFVUkwoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgY29uc3QgZG91YmxlKiBxdWFsaXR5KSBjb25zdAoreworICAgIEFTU0VS
VChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEltYWdlTUlNRVR5cGVGb3JFbmNvZGluZyht
aW1lVHlwZSkpOworCisgICAgaWYgKCFtaW1lVHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSkKKyAg
ICAgICAgcmV0dXJuICJkYXRhOiwiOworCisgICAgR093blB0cjxnY2hhcj4gYnVmZmVyKDApOwor
ICAgIGdzaXplIGJ1ZmZlclNpemU7CisgICAgaWYgKCFlbmNvZGVJbWFnZShtX2RhdGEubV9zdXJm
YWNlLCBtaW1lVHlwZSwgcXVhbGl0eSwgYnVmZmVyLCBidWZmZXJTaXplKSkKICAgICAgICAgcmV0
dXJuICJkYXRhOiwiOwogCi0gICAgVmVjdG9yPGNoYXI+IG91dDsKLSAgICBiYXNlNjRFbmNvZGUo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyLmdldCgpKSwgYnVmZmVyU2l6ZSwg
b3V0KTsKKyAgICBWZWN0b3I8Y2hhcj4gYmFzZTY0RGF0YTsKKyAgICBiYXNlNjRFbmNvZGUocmVp
bnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYnVmZmVyLmdldCgpKSwgYnVmZmVyU2l6ZSwgYmFz
ZTY0RGF0YSk7CiAKLSAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjtiYXNlNjQsIiAr
IG91dDsKKyAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjtiYXNlNjQsIiArIGJhc2U2
NERhdGE7CiB9CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136382</attachid>
            <date>2012-04-09 19:59:49 -0700</date>
            <delta_ts>2012-04-10 11:29:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-83152-20120410125947.patch</filename>
            <type>text/plain</type>
            <size>4800</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIxMThjZmIwM2ExNDdi
NDlmYmMxMmY1NzM0ZDA5NDBjYjU5OWM4Yy4uMjBlYjVlMmI1YzRiMThmOTk2MzhkYjgxNDE1MmMx
MmUxYjY3ODNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA0LTA5ICBOb2Vs
IEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBTZXBhcmF0
ZSBpbWFnZSBlbmNvZGluZyBmcm9tIGRhdGFVUkwgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzE1MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KKworICAgICAgICBSZW1vdmUgdGhlIGltcGxpY2l0IGFz
c3VtcHRpb24gdGhhdCBhIGRhdGFVUkwgaXMgdGhlIG9ubHkgZGVzaXJlZCBvdXRwdXQgZm9ybWF0
CisgICAgICAgIG9mIHRoZSBpbWFnZSBlbmNvZGluZyBwaGFzZS4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlZmFjdG9yaW5nIG9ubHksIGNvdmVyZWQgYnkgZXhpc3RpbmcgY2FudmFzIHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlQnVmZmVyR3RrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmVuY29kZUltYWdlKTogT3V0cHV0IHRoZSBlbmNvZGVkIGltYWdl
IHRvIHRoZSBwcm92aWRlZCBHT3duUHRyPGdjaGFyPiYKKyAgICAgICAgYnVmZmVyLiBVcGRhdGUg
R1RLIGRvY3VtZW50IHJlZmVyZW5jZSB0byBhIHZhbGlkIFVSTC4gUm91bmQgdGhlIHF1YWxpdHkg
YXJndW1lbnQKKyAgICAgICAgdG8gYW4gaW50IGxpa2UgdGhlIHRvRGF0YVVSTCgpIGltcGxlbWVu
dGF0aW9ucyBvZiBvdGhlciBwb3J0cy4gRGl0Y2ggdGhlIHN1Y2Nlc3MKKyAgICAgICAgdmFyaWFi
bGU7IGluc3RlYWQgdGVzdCB0aGUgR0Vycm9yKiBlcnJvciByZXR1cm4gdG8gaW5kaWNhdGUgc3Vj
Y2Vzcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6
OnRvRGF0YVVSTCk6IEZvcm1hdCB0aGUgZGF0YVVSTCBlbmNvZGluZyBvZiB0aGUgbWltZVR5cGUK
KyAgICAgICAgZW5jb2RlZCBpbWFnZSBkYXRhIGJ1ZmZlciBoZXJlaW4uCisKIDIwMTItMDQtMDkg
IExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENsZWFuIHVw
IExheW91dFVuaXQgdXNhZ2UgaW4gRE9NTm9kZUhpZ2hsaWdodGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VCdWZmZXJHdGsuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlQnVmZmVyR3RrLmNwcAppbmRl
eCAyMDgzMjU3MTVhMWQzZGJmYTYyY2FhY2ZjNmNkNzE4YzdhNGU5NzkwLi42MTdmZWFiNGI1MzZm
MmE5OTZkMDdlZTUyZTg1MDBkODY5OTcxZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VCdWZmZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUJ1ZmZlckd0ay5jcHAKQEAgLTE2LDcgKzE2
LDYgQEAKICAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqLwogCi0KICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogCkBAIC0zMiw0MiArMzEsNDUgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1TdHJpbmcgSW1hZ2VCdWZmZXI6OnRvRGF0YVVSTChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBkb3VibGUqIHF1YWxpdHkpIGNvbnN0CitzdGF0aWMg
Ym9vbCBlbmNvZGVJbWFnZShjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UsIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUsIGNvbnN0IGRvdWJsZSogcXVhbGl0eSwgR093blB0cjxnY2hhcj4mIGJ1ZmZlciwg
Z3NpemUmIGJ1ZmZlclNpemUpCiB7Ci0gICAgQVNTRVJUKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkSW1hZ2VNSU1FVHlwZUZvckVuY29kaW5nKG1pbWVUeXBlKSk7Ci0KLSAgICBpZiAoIW1p
bWVUeXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpKQotICAgICAgICByZXR1cm4gImRhdGE6LCI7Cisg
ICAgLy8gTGlzdCBvZiBzdXBwb3J0ZWQgaW1hZ2UgZW5jb2RpbmcgdHlwZXMgY29tZXMgZnJvbSB0
aGUgR2RrUGl4YnVmIGRvY3VtZW50YXRpb24uCisgICAgLy8gaHR0cDovL2RldmVsb3Blci5nbm9t
ZS5vcmcvZ2RrLXBpeGJ1Zi9zdGFibGUvZ2RrLXBpeGJ1Zi1GaWxlLXNhdmluZy5odG1sI2dkay1w
aXhidWYtc2F2ZS10by1idWZmZXJ2CiAKLSAgICAvLyBMaXN0IG9mIHN1cHBvcnRlZCBpbWFnZSB0
eXBlcyBjb21lcyBmcm9tIHRoZSBHZGtQaXhidWYgZG9jdW1lbnRhdGlvbi4KLSAgICAvLyBodHRw
Oi8vbGlicmFyeS5nbm9tZS5vcmcvZGV2ZWwvZ2RrLXBpeGJ1Zi9zdGFibGUvZ2RrLXBpeGJ1Zi1m
aWxlLXNhdmluZy5odG1sI2dkay1waXhidWYtc2F2ZS10by1idWZmZXJ2CiAgICAgU3RyaW5nIHR5
cGUgPSBtaW1lVHlwZS5zdWJzdHJpbmcoc2l6ZW9mICJpbWFnZSIpOwogICAgIGlmICh0eXBlICE9
ICJqcGVnIiAmJiB0eXBlICE9ICJwbmciICYmIHR5cGUgIT0gInRpZmYiICYmIHR5cGUgIT0gImlj
byIgJiYgdHlwZSAhPSAiYm1wIikKLSAgICAgICAgcmV0dXJuICJkYXRhOiwiOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBHUmVmUHRyPEdka1BpeGJ1Zj4gcGl4YnVmID0gY2Fpcm9JbWFn
ZVN1cmZhY2VUb0dka1BpeGJ1ZihtX2RhdGEubV9zdXJmYWNlKTsKKyAgICBHUmVmUHRyPEdka1Bp
eGJ1Zj4gcGl4YnVmID0gY2Fpcm9JbWFnZVN1cmZhY2VUb0dka1BpeGJ1ZihzdXJmYWNlKTsKICAg
ICBpZiAoIXBpeGJ1ZikKLSAgICAgICAgcmV0dXJuICJkYXRhOiwiOworICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBHT3duUHRyPGdjaGFyPiBidWZmZXIoMCk7Ci0gICAgZ3NpemUgYnVmZmVy
U2l6ZTsKICAgICBHRXJyb3IqIGVycm9yID0gMDsKLSAgICBnYm9vbGVhbiBzdWNjZXNzID0gRkFM
U0U7CiAgICAgaWYgKHR5cGUgPT0gImpwZWciICYmIHF1YWxpdHkgJiYgKnF1YWxpdHkgPj0gMC4w
ICYmICpxdWFsaXR5IDw9IDEuMCkgewotICAgICAgICBTdHJpbmcgcXVhbGl0eVN0cmluZyA9IFN0
cmluZzo6Zm9ybWF0KCIlZiIsICpxdWFsaXR5ICogMTAwLjApOwotICAgICAgICBzdWNjZXNzID0g
Z2RrX3BpeGJ1Zl9zYXZlX3RvX2J1ZmZlcihwaXhidWYuZ2V0KCksICZidWZmZXIub3V0UHRyKCks
ICZidWZmZXJTaXplLAotICAgICAgICAgICAgdHlwZS51dGY4KCkuZGF0YSgpLCAmZXJyb3IsICJx
dWFsaXR5IiwgcXVhbGl0eVN0cmluZy51dGY4KCkuZGF0YSgpLCBOVUxMKTsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBzdWNjZXNzID0gZ2RrX3BpeGJ1Zl9zYXZlX3RvX2J1ZmZlcihwaXhidWYuZ2V0
KCksICZidWZmZXIub3V0UHRyKCksICZidWZmZXJTaXplLCB0eXBlLnV0ZjgoKS5kYXRhKCksICZl
cnJvciwgTlVMTCk7Ci0gICAgfQorICAgICAgICBTdHJpbmcgcXVhbGl0eVN0cmluZyA9IFN0cmlu
Zzo6Zm9ybWF0KCIlZCIsIHN0YXRpY19jYXN0PGludD4oKnF1YWxpdHkgKiAxMDAuMCArIDAuNSkp
OworICAgICAgICBnZGtfcGl4YnVmX3NhdmVfdG9fYnVmZmVyKHBpeGJ1Zi5nZXQoKSwgJmJ1ZmZl
ci5vdXRQdHIoKSwgJmJ1ZmZlclNpemUsIHR5cGUudXRmOCgpLmRhdGEoKSwgJmVycm9yLCAicXVh
bGl0eSIsIHF1YWxpdHlTdHJpbmcudXRmOCgpLmRhdGEoKSwgTlVMTCk7CisgICAgfSBlbHNlCisg
ICAgICAgIGdka19waXhidWZfc2F2ZV90b19idWZmZXIocGl4YnVmLmdldCgpLCAmYnVmZmVyLm91
dFB0cigpLCAmYnVmZmVyU2l6ZSwgdHlwZS51dGY4KCkuZGF0YSgpLCAmZXJyb3IsIE5VTEwpOwog
Ci0gICAgaWYgKCFzdWNjZXNzKQorICAgIHJldHVybiAhZXJyb3I7Cit9CisKK1N0cmluZyBJbWFn
ZUJ1ZmZlcjo6dG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IGRvdWJsZSog
cXVhbGl0eSkgY29uc3QKK3sKKyAgICBBU1NFUlQoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0
ZWRJbWFnZU1JTUVUeXBlRm9yRW5jb2RpbmcobWltZVR5cGUpKTsKKworICAgIGlmICghbWltZVR5
cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikpCisgICAgICAgIHJldHVybiAiZGF0YTosIjsKKworICAg
IEdPd25QdHI8Z2NoYXI+IGJ1ZmZlcigwKTsKKyAgICBnc2l6ZSBidWZmZXJTaXplOworICAgIGlm
ICghZW5jb2RlSW1hZ2UobV9kYXRhLm1fc3VyZmFjZSwgbWltZVR5cGUsIHF1YWxpdHksIGJ1ZmZl
ciwgYnVmZmVyU2l6ZSkpCiAgICAgICAgIHJldHVybiAiZGF0YTosIjsKIAotICAgIFZlY3Rvcjxj
aGFyPiBvdXQ7Ci0gICAgYmFzZTY0RW5jb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+
KGJ1ZmZlci5nZXQoKSksIGJ1ZmZlclNpemUsIG91dCk7CisgICAgVmVjdG9yPGNoYXI+IGJhc2U2
NERhdGE7CisgICAgYmFzZTY0RW5jb2RlKGJ1ZmZlci5nZXQoKSwgYnVmZmVyU2l6ZSwgYmFzZTY0
RGF0YSk7CiAKLSAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjtiYXNlNjQsIiArIG91
dDsKKyAgICByZXR1cm4gImRhdGE6IiArIG1pbWVUeXBlICsgIjtiYXNlNjQsIiArIGJhc2U2NERh
dGE7CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>