<?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>62742</bug_id>
          
          <creation_ts>2011-06-15 11:55:28 -0700</creation_ts>
          <short_desc>Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp</short_desc>
          <delta_ts>2011-06-15 12:50:37 -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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>421482</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-15 11:55:28 -0700</bug_when>
    <thetext>Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421483</commentid>
    <comment_count>1</comment_count>
      <attachid>97340</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-15 11:57:29 -0700</bug_when>
    <thetext>Created attachment 97340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421484</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-15 12:00:06 -0700</bug_when>
    <thetext>Attachment 97340 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/Shared/ShareableBitmap.h:49:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421501</commentid>
    <comment_count>3</comment_count>
      <attachid>97340</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-15 12:34:24 -0700</bug_when>
    <thetext>Comment on attachment 97340
Patch

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

&gt; Source/WebKit2/Shared/ShareableBitmap.h:110
&gt; +    // This create a bitmap image that directly references the shared bitmap data.

Should be &quot;This creates&quot;.

&gt; Source/WebKit2/Shared/ShareableBitmap.h:112
&gt; +    // This is only safe to use when we know that the contents of the shareable bitmap won&apos;t change.
&gt; +    PassRefPtr&lt;WebCore::Image&gt; createImage();

Would be nice if that “this is only safe” information was reflected in the function name.

&gt; Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp:115
&gt; +    // BitmapImage::create adopts the CGImageRef that&apos;s passed in, which is why we need to leakRef here.

Could that be fixed by changing BitmapImage::create to take a RetainPtr?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421505</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-15 12:38:25 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 97340 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97340&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/ShareableBitmap.h:110
&gt; &gt; +    // This create a bitmap image that directly references the shared bitmap data.
&gt; 
&gt; Should be &quot;This creates&quot;.
&gt; 

Fixed.

&gt; &gt; Source/WebKit2/Shared/ShareableBitmap.h:112
&gt; &gt; +    // This is only safe to use when we know that the contents of the shareable bitmap won&apos;t change.
&gt; &gt; +    PassRefPtr&lt;WebCore::Image&gt; createImage();
&gt; 
&gt; Would be nice if that “this is only safe” information was reflected in the function name.
&gt; 

Agreed. For the two functions we have that return CGImageRefs we indicate when the image is copied. (makeCGImage vs makeCGImageCopy).

&gt; &gt; Source/WebKit2/Shared/cg/ShareableBitmapCG.cpp:115
&gt; &gt; +    // BitmapImage::create adopts the CGImageRef that&apos;s passed in, which is why we need to leakRef here.
&gt; 
&gt; Could that be fixed by changing BitmapImage::create to take a RetainPtr?

It could. That&apos;s a bit more involved though since BitmapImage::create takes a NativeImagePtr typedef which is currently a CGImageRef typedef. Changing it to RetainPtr&lt;CGImageRef&gt; would introduce ref-churn. Ideally we&apos;d have a more cross-platform solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421514</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-06-15 12:50:37 -0700</bug_when>
    <thetext>Committed r88967: &lt;http://trac.webkit.org/changeset/88967&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97340</attachid>
            <date>2011-06-15 11:57:29 -0700</date>
            <delta_ts>2011-06-15 12:34:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62742-20110615115728.patch</filename>
            <type>text/plain</type>
            <size>12969</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg4OTYzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDYtMTUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVJbWFnZSBh
bmQgZ2V0IHJpZCBvZiBXZWJDb3JlQXJndW1lbnRDb2RlcnNDRy5jcHAKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzQyCisKKyAgICAgICAgKiBTaGFy
ZWQvU2hhcmVhYmxlQml0bWFwLmg6CisgICAgICAgIE1vdmUgY3JlYXRlSW1hZ2Ugb3V0IG9mIHRo
ZSAjaWYgUExBVEZPUk0oUVQpIHNlY3Rpb24uCisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKENvcmVJUEM6OmRlY29kZUltYWdlKToKKyAgICAg
ICAgQ2FsbCBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUltYWdlLgorCisgICAgICAgICogU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICByZW1vdmUgY3JlYXRlSW1hZ2UgZnVu
Y3Rpb24gZGVjbGFyYXRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0
bWFwQ2Fpcm8uY3BwOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUlt
YWdlKToKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogU2hhcmVkL2Nn
L1NoYXJlYWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpjcmVhdGVHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRt
YXA6OmNyZWF0ZUltYWdlKToKKyAgICAgICAgTW92ZSBjcmVhdGVJbWFnZSBpbXBsZW1lbnRhdGlv
biBmcm9tIFdlYkNvcmVBcmd1bWVudENvZGVyc0NHLmNwcCBoZXJlLgorCisgICAgICAgICogV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZj
cHJvajoKKyAgICAgICAgVXBkYXRlIHByb2plY3RzLgorCiAyMDExLTA2LTE1ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5
IFByb3NrdXJ5YWtvdi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVCaXRt
YXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlQml0bWFw
LmgJKHJldmlzaW9uIDg4OTQzKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZUJp
dG1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFNoYXJlYWJs
ZUJpdG1hcF9oCiAKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKLSNpbmNsdWRlIDxXZWJDb3Jl
L0ltYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNDcsNiArNDYsNyBA
QAogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBJbWFnZTsKICAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CiB9CiAKQEAgLTEwNyw2ICsxMDcsMTAgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc0JhY2tlZEJ5U2hhcmVkTWVtb3J5KCkgY29uc3QgeyByZXR1cm4gbV9zaGFy
ZWRNZW1vcnk7IH0KIAorICAgIC8vIFRoaXMgY3JlYXRlIGEgYml0bWFwIGltYWdlIHRoYXQgZGly
ZWN0bHkgcmVmZXJlbmNlcyB0aGUgc2hhcmVkIGJpdG1hcCBkYXRhLgorICAgIC8vIFRoaXMgaXMg
b25seSBzYWZlIHRvIHVzZSB3aGVuIHdlIGtub3cgdGhhdCB0aGUgY29udGVudHMgb2YgdGhlIHNo
YXJlYWJsZSBiaXRtYXAgd29uJ3QgY2hhbmdlLgorICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6SW1h
Z2U+IGNyZWF0ZUltYWdlKCk7CisKICNpZiBVU0UoQ0cpCiAgICAgLy8gVGhpcyBjcmVhdGVzIGEg
Y29waWVkIENHSW1hZ2VSZWYgKG1vc3QgbGlrZWx5IGEgY29weS1vbi13cml0ZSkgb2YgdGhlIHNo
YXJlYWJsZSBiaXRtYXAuCiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IG1ha2VDR0ltYWdlQ29w
eSgpOwpAQCAtMTIyLDcgKzEyNiw2IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGNyZWF0ZXMgYSBR
SW1hZ2UgdGhhdCBkaXJlY3RseSByZWZlcmVuY2VzIHRoZSBzaGFyZWQgYml0bWFwIGRhdGEuCiAg
ICAgLy8gVGhpcyBpcyBvbmx5IHNhZmUgdG8gdXNlIHdoZW4gd2Uga25vdyB0aGF0IHRoZSBjb250
ZW50cyBvZiB0aGUgc2hhcmVhYmxlIGJpdG1hcCB3b24ndCBjaGFuZ2UuCiAgICAgUUltYWdlIGNy
ZWF0ZVFJbWFnZSgpOwotICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6SW1hZ2U+IGNyZWF0ZUltYWdl
KCk7CiAjZW5kaWYKIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCShyZXZpc2lvbiA4ODk2MCkKKysrIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODEsNyArMTgxLDcgQEAgYm9vbCBkZWNvZGVJbWFnZShBcmd1bWVudERlY29kZXIqIGRlY29k
ZQogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlKGhhbmRsZSk7CiAgICAgaWYgKCFiaXRtYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBpbWFnZSA9IGNyZWF0ZUltYWdlKGJpdG1hcC5nZXQoKSk7CisgICAgaW1hZ2UgPSBiaXRt
YXAtPmNyZWF0ZUltYWdlKCk7CiAgICAgaWYgKCFpbWFnZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAkocmV2aXNpb24gODg5NjApCisrKyBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw3ICsx
NDEsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6CiAKIHZvaWQg
ZW5jb2RlSW1hZ2UoQXJndW1lbnRFbmNvZGVyKiwgV2ViQ29yZTo6SW1hZ2UqKTsKIGJvb2wgZGVj
b2RlSW1hZ2UoQXJndW1lbnREZWNvZGVyKiwgUmVmUHRyPFdlYkNvcmU6OkltYWdlPiYpOwotUmVm
UHRyPFdlYkNvcmU6OkltYWdlPiBjcmVhdGVJbWFnZShXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcCop
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkN1cnNvcj4gewog
ICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdl
YkNvcmU6OkN1cnNvciYgY3Vyc29yKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJv
L1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCShyZXZpc2lvbiA4ODk0MykKKysr
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDkgKzI4LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJTaGFyZWFibGVCaXRtYXAuaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvQml0bWFwSW1hZ2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0NhaXJvVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9HcmFwaGljc0NvbnRleHQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUNvbnRleHRDYWlyby5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKQEAgLTcyLDQgKzcyLDE0IEBAIHZvaWQgU2hhcmVhYmxlQml0bWFwOjpy
ZWxlYXNlU3VyZmFjZURhdGEKICAgICBzdGF0aWNfY2FzdDxTaGFyZWFibGVCaXRtYXAqPih0eXBl
bGVzc0JpdG1hcCktPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IHJlZiBpbiBjcmVhdGVDYWlyb1N1
cmZhY2UuCiB9CiAKK1Bhc3NSZWZQdHI8SW1hZ2U+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlSW1h
Z2UoKQoreworICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IHN1cmZhY2UgPSBjcmVhdGVDYWly
b1N1cmZhY2UoKTsKKyAgICBpZiAoIXN1cmZhY2UpCisgICAgICAgIHJldHVybiAwOworCisgICAg
Ly8gQml0bWFwSW1hZ2U6OmNyZWF0ZSBhZG9wdHMgdGhlIGNhaXJvX3N1cmZhY2VfdCB0aGF0J3Mg
cGFzc2VkIGluLCB3aGljaCBpcyB3aHkgd2UgbmVlZCB0byBsZWFrUmVmIGhlcmUuCisgICAgcmV0
dXJuIEJpdG1hcEltYWdlOjpjcmVhdGUoc3VyZmFjZS5yZWxlYXNlKCkubGVha1JlZigpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2cv
U2hhcmVhYmxlQml0bWFwQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAJKHJldmlzaW9uIDg4OTQzKQorKysgU291cmNlL1dl
YktpdDIvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZUJp
dG1hcC5oIgogCisjaW5jbHVkZSA8V2ViQ29yZS9CaXRtYXBJbWFnZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2lu
Y2x1ZGUgIkNHVXRpbGl0aWVzLmgiCkBAIC00OSw3ICs1MCw2IEBAIFBhc3NPd25QdHI8R3JhcGhp
Y3NDb250ZXh0PiBTaGFyZWFibGVCaXQKIHsKICAgICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVm
PiBjb2xvclNwYWNlKEFkb3B0Q0YsIENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpKTsKIAot
CiAgICAgcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmIGluIHJlbGVhc2VCaXRtYXBDb250ZXh0
RGF0YS4KICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBiaXRtYXBDb250ZXh0KEFkb3B0Q0Ys
IENHQml0bWFwQ29udGV4dENyZWF0ZVdpdGhEYXRhKGRhdGEoKSwKICAgICAgICAgbV9zaXplLndp
ZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSwgOCwgbV9zaXplLndpZHRoKCkgKiA0LCBjb2xvclNwYWNl
LmdldCgpLApAQCAtMTA2LDQgKzEwNiwxNCBAQCB2b2lkIFNoYXJlYWJsZUJpdG1hcDo6cmVsZWFz
ZURhdGFQcm92aWRlCiAgICAgYml0bWFwLT5kZXJlZigpOyAvLyBCYWxhbmNlZCBieSByZWYgaW4g
Y3JlYXRlQ0dJbWFnZS4KIH0KIAorUGFzc1JlZlB0cjxJbWFnZT4gU2hhcmVhYmxlQml0bWFwOjpj
cmVhdGVJbWFnZSgpCit7CisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IHBsYXRmb3JtSW1hZ2Ug
PSBtYWtlQ0dJbWFnZSgpOworICAgIGlmICghcGxhdGZvcm1JbWFnZSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICAvLyBCaXRtYXBJbWFnZTo6Y3JlYXRlIGFkb3B0cyB0aGUgQ0dJbWFnZVJlZiB0
aGF0J3MgcGFzc2VkIGluLCB3aGljaCBpcyB3aHkgd2UgbmVlZCB0byBsZWFrUmVmIGhlcmUuCisg
ICAgcmV0dXJuIEJpdG1hcEltYWdlOjpjcmVhdGUocGxhdGZvcm1JbWFnZS5sZWFrUmVmKCkpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9j
Zy9XZWJDb3JlQXJndW1lbnRDb2RlcnNDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvU2hhcmVkL2NnL1dlYkNvcmVBcmd1bWVudENvZGVyc0NHLmNwcAkocmV2aXNpb24gODg5NDMp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2cvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ0cuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0KLSNpbmNsdWRl
ICJTaGFyZWFibGVCaXRtYXAuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0JpdG1hcEltYWdlLmg+Ci0K
LXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotbmFt
ZXNwYWNlIENvcmVJUEMgewotCi1SZWZQdHI8SW1hZ2U+IGNyZWF0ZUltYWdlKFNoYXJlYWJsZUJp
dG1hcCogYml0bWFwKQotewotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBwbGF0Zm9ybUltYWdl
ID0gYml0bWFwLT5tYWtlQ0dJbWFnZSgpOwotICAgIGlmICghcGxhdGZvcm1JbWFnZSkKLSAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgLy8gQml0bWFwSW1hZ2U6OmNyZWF0ZSBhZG9wdHMgdGhlIENHSW1h
Z2VSZWYgdGhhdCdzIHBhc3NlZCBpbiwgd2hpY2ggaXMgd2h5IHdlIG5lZWQgdG8gbGVha1JlZiBo
ZXJlLgotICAgIHJldHVybiBCaXRtYXBJbWFnZTo6Y3JlYXRlKHBsYXRmb3JtSW1hZ2UubGVha1Jl
ZigpKTsKLX0KLSAgICAKLX0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDg4OTQzKQorKysgU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00
MTIsNyArNDEyLDYgQEAKIAkJOTM5MUYyQ0ExMjFCNjc5QTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzkxRjI4NDEyMUIzOEY1MDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29u
dGV4dC5tbSAqLzsgfTsKIAkJOTM5MUYyQ0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzOTFGMjgzMTIxQjM4RjUwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0LmggKi87IH07CiAJCTkzOUFFNzY2MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM5QUU3NjUxMzE2RTk5QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAg
Ki87IH07Ci0JCTkzOUFFNzY4MTMxNkU5QUQwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2Rl
cnNDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzlBRTc2NzEzMTZFOUFEMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ0cuY3BwICov
OyB9OwogCQk5M0MwMURBQzEzOUFDOTE3MDBFRDUxRDcgLyogQ29yZUlQQ0NsaWVudFJ1bkxvb3Au
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzQzAxREFB
MTM5QUM5MTcwMEVENTFENyAvKiBDb3JlSVBDQ2xpZW50UnVuTG9vcC5oICovOyB9OwogCQk5M0Mw
MURBRDEzOUFDOTE3MDBFRDUxRDcgLyogQ29yZUlQQ0NsaWVudFJ1bkxvb3AubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0MwMURBQjEzOUFDOTE3MDBF
RDUxRDcgLyogQ29yZUlQQ0NsaWVudFJ1bkxvb3AubW0gKi87IH07CiAJCTkzRkM2N0JEMTJEM0ND
RjIwMEE2MDYxMCAvKiBEZWNvZGVyQWRhcHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0ZDNjc5RDEyRDNDQzc0MDBBNjA2MTAgLyogRGVjb2Rl
ckFkYXB0ZXIuY3BwICovOyB9OwpAQCAtMTM1MSw3ICsxMzUwLDYgQEAKIAkJOTM5MUYyODMxMjFC
MzhGNTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzkxRjI4NDEyMUIzOEY1MDBFQkY3RTggLyogV2ViRnJh
bWVOZXR3b3JraW5nQ29udGV4dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzOUFFNzY1MTMxNkU5OUMwMEFFMDZBNiAvKiBXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTM5QUU3NjcxMzE2
RTlBRDAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVyc0NHLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVBcmd1bWVudENvZGVyc0NHLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNDMDFEQUExMzlBQzkxNzAwRUQ1MUQ3IC8qIENv
cmVJUENDbGllbnRSdW5Mb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
cmVJUENDbGllbnRSdW5Mb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzQzAx
REFCMTM5QUM5MTcwMEVENTFENyAvKiBDb3JlSVBDQ2xpZW50UnVuTG9vcC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENvcmVJUENDbGllbnRSdW5Mb29wLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0ZDNjc5RDEyRDNDQzc0MDBBNjA2MTAgLyog
RGVjb2RlckFkYXB0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGVjb2RlckFkYXB0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzI1Myw3
ICszMjUxLDYgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQzAx
QTI2MDAxMjY2MkYyMTAwQzlFRDU1IC8qIFNoYXJlYWJsZUJpdG1hcENHLmNwcCAqLywKLQkJCQk5
MzlBRTc2NzEzMTZFOUFEMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ0cuY3BwICov
LAogCQkJKTsKIAkJCXBhdGggPSBjZzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC00
NDQwLDcgKzQ0MzcsNiBAQAogCQkJCTUxQTlFMTI4MTMxNUVEMzUwMDlFNzAzMSAvKiBXZWJLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxQTlFMTJBMTMxNUVEMzUwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5QUU3NjYxMzE2RTk5
QzAwQUUwNkE2IC8qIFdlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk5MzlBRTc2ODEzMTZFOUFEMDBBRTA2QTYgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ0cuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzMwOTM0NDcxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tp
ZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMwOTM0NDkx
MzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzA5MzQ0RjEzMTVCOTREMDA5N0E3QkMgLyogV2ViQ29v
a2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi52
Y3Byb2oJKHJldmlzaW9uIDg4OTQzKQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzA1LDI2ICsxMzA1LDYgQEAKIAkJCQkJCS8+CiAJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0
aXZlUGF0aD0iLi5cU2hhcmVkXGNnXFdlYkNvcmVBcmd1bWVudENvZGVyc0NHLmNwcCIKLQkJCQkJ
PgotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQkJPgotCQkJCQkJ
PFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkJLz4KLQkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCQlOYW1lPSJS
ZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgotCQkJCQkJPgotCQkJCQkJPFRvb2wKLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkJLz4KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8L0ZpbGU+CiAJCQkJPEZp
bHRlcgogCQkJCQlOYW1lPSJ3aW4iCiAJCQkJCT4K
</data>
<flag name="review"
          id="91264"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>