<?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>118417</bug_id>
          
          <creation_ts>2013-07-05 08:33:26 -0700</creation_ts>
          <short_desc>[GTK] FrameLoaderClient: Refactor naked pointers to use smart pointers</short_desc>
          <delta_ts>2013-07-08 03:14:03 -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>Page Loading</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>0</everconfirmed>
          <reporter name="Brian Holt">brian.holt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906413</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-05 08:33:26 -0700</bug_when>
    <thetext>FrameLoaderClient::dispatchDidFailLoad(const ResourceError&amp; error) has a number of naked pointers that should be refactored to use smart pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906417</commentid>
    <comment_count>1</comment_count>
      <attachid>206155</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-05 08:38:42 -0700</bug_when>
    <thetext>Created attachment 206155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906419</commentid>
    <comment_count>2</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-05 08:45:29 -0700</bug_when>
    <thetext>This fix was motivated after looking for other areas in the codebase that may have memory leaks.  There are no leaks in this function, however with this refactoring any changes in the future are less likely to introduce unexpected errors.

I have run the gtk tests and can confirm that they pass after this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906422</commentid>
    <comment_count>3</comment_count>
      <attachid>206155</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-05 08:49:01 -0700</bug_when>
    <thetext>Comment on attachment 206155
Patch

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

Good patch. I&apos;ve just added a couple of minor comments as an informal review.

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1075
&gt; +    if (isHandled || !shouldFallBack(error)) {

You don&apos;t need that extra { now you got a single line if

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1084
&gt; +    GRefPtr&lt;GFile&gt; errorFile(adoptGRef(g_file_new_for_uri(errorURI.get())));

We normally use the = assignment for this kind of statments:

 GRefPtr&lt;GFile&gt; errorFile = adoptGRef(g_file_new_for_uri(errorURI.get()));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906423</commentid>
    <comment_count>4</comment_count>
      <attachid>206157</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-05 08:57:03 -0700</bug_when>
    <thetext>Created attachment 206157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906426</commentid>
    <comment_count>5</comment_count>
      <attachid>206157</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 09:07:17 -0700</bug_when>
    <thetext>Comment on attachment 206157
Patch

Looks fine. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906427</commentid>
    <comment_count>6</comment_count>
      <attachid>206157</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-05 09:10:07 -0700</bug_when>
    <thetext>Comment on attachment 206157
Patch

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

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1083
&gt; +    GOwnPtr&lt;gchar&gt; errorURI(g_filename_to_uri(errorPath.get(), 0, 0));
&gt; +    GRefPtr&lt;GFile&gt; errorFile = adoptGRef(g_file_new_for_uri(errorURI.get()));

I know the code was already that way, but I wondering why we need to convert the path to uri instead of using g_file_new_for_path() directly, if it&apos;s possible we could take advantage that you are changing this code to improve this too.

&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1091
&gt; +        gboolean loaded = g_file_load_contents(errorFile.get(), 0, &amp;fileContent.outPtr(), 0, 0, 0);
&gt;          if (!loaded)
&gt;              content = makeString(&quot;&lt;html&gt;&lt;body&gt;&quot;, webError-&gt;message, &quot;&lt;/body&gt;&lt;/html&gt;&quot;);

You can probably do if (!g_file_load_contents(errorFile.get(), 0, &amp;fileContent.outPtr(), 0, 0, 0)) and you don&apos;t need the local variable that is only used for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906428</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-05 09:10:56 -0700</bug_when>
    <thetext>Oops, I didn&apos;t mean to change the flag, please feel free to r+ it again, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906432</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-05 09:15:38 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Oops, I didn&apos;t mean to change the flag, please feel free to r+ it again, sorry.

It&apos;s fine. Since you have comments, I&apos;ll let you handle this one :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906689</commentid>
    <comment_count>9</comment_count>
      <attachid>206157</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-08 01:25:43 -0700</bug_when>
    <thetext>Comment on attachment 206157
Patch

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

&gt;&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1083
&gt;&gt; +    GRefPtr&lt;GFile&gt; errorFile = adoptGRef(g_file_new_for_uri(errorURI.get()));
&gt; 
&gt; I know the code was already that way, but I wondering why we need to convert the path to uri instead of using g_file_new_for_path() directly, if it&apos;s possible we could take advantage that you are changing this code to improve this too.

Good point, I wasn&apos;t really focusing on simplifying the logic but it makes sense to do so now.

&gt;&gt; Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:1091
&gt;&gt;              content = makeString(&quot;&lt;html&gt;&lt;body&gt;&quot;, webError-&gt;message, &quot;&lt;/body&gt;&lt;/html&gt;&quot;);
&gt; 
&gt; You can probably do if (!g_file_load_contents(errorFile.get(), 0, &amp;fileContent.outPtr(), 0, 0, 0)) and you don&apos;t need the local variable that is only used for this.

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906695</commentid>
    <comment_count>10</comment_count>
      <attachid>206223</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-08 01:36:19 -0700</bug_when>
    <thetext>Created attachment 206223
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906705</commentid>
    <comment_count>11</comment_count>
      <attachid>206223</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-08 02:08:53 -0700</bug_when>
    <thetext>Comment on attachment 206223
Revised patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906707</commentid>
    <comment_count>12</comment_count>
      <attachid>206223</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-07-08 02:14:59 -0700</bug_when>
    <thetext>Comment on attachment 206223
Revised patch

Would you mind setting cg+ ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906721</commentid>
    <comment_count>13</comment_count>
      <attachid>206223</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 03:13:58 -0700</bug_when>
    <thetext>Comment on attachment 206223
Revised patch

Clearing flags on attachment: 206223

Committed r152446: &lt;http://trac.webkit.org/changeset/152446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906722</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-08 03:14:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206155</attachid>
            <date>2013-07-05 08:38:42 -0700</date>
            <delta_ts>2013-07-05 08:56:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118417-20130705163644.patch</filename>
            <type>text/plain</type>
            <size>3894</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggN2YzYTg1NjJl
M2YwMjBiNmE2MTA4N2YwZTQ3M2M1ZTdiNjA4OTg3Yi4uMTFiMjg1OWM0YWE5MzA0NzM5NDlkMjU5
OTNmOTkwNmFkMWUwMWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEz
LTA3LTA1ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
R1RLXSBGcmFtZUxvYWRlckNsaWVudDogUmVmYWN0b3IgbmFrZWQgcG9pbnRlcnMgdG8gdXNlIHNt
YXJ0IHBvaW50ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTg0MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgR093blB0ciBhbmQgR1JlZlB0ciB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmFpbExvYWQpOgorCiAyMDEzLTA3LTA0
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0FUS10gRG8gbm90IGV4cG9zZSAnXG4nIGZvciB3cmFwcGVkIGxpbmVzIHdpdGggQVRLX1RF
WFRfQk9VTkRBUllfQ0hBUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGQzYmNlZTRiMjYyYTY5ZGNk
YTQ2NzI0NTY4ZDc0YWI4ZDcxNDUwOTUuLmMxMDVjMGE3NjE2MGEzMjc3OWU3ZDQ5NGU0ZThlY2I2
YmZkNDdjNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTEwNjUsNTAgKzEwNjUsMzYgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZChjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKICAgICBub3RpZnlTdGF0dXMobV9mcmFtZSwgV0VCS0lUX0xPQURfRkFJTEVE
KTsKIAogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRWaWV3RnJvbUZyYW1lKG1fZnJh
bWUpOwotICAgIEdFcnJvciogd2ViRXJyb3IgPSBnX2Vycm9yX25ld19saXRlcmFsKGdfcXVhcmtf
ZnJvbV9zdHJpbmcoZXJyb3IuZG9tYWluKCkudXRmOCgpLmRhdGEoKSksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuZXJyb3JDb2RlKCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IubG9jYWxpemVkRGVzY3Jp
cHRpb24oKS51dGY4KCkuZGF0YSgpKTsKKyAgICBHT3duUHRyPEdFcnJvcj4gd2ViRXJyb3IoZ19l
cnJvcl9uZXdfbGl0ZXJhbCgKKyAgICAgICAgZ19xdWFya19mcm9tX3N0cmluZyhlcnJvci5kb21h
aW4oKS51dGY4KCkuZGF0YSgpKSwKKyAgICAgICAgZXJyb3IuZXJyb3JDb2RlKCksCisgICAgICAg
IGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgpLmRhdGEoKSkpOwogICAgIGdib29s
ZWFuIGlzSGFuZGxlZCA9IGZhbHNlOwotICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3
LCAibG9hZC1lcnJvciIsIG1fZnJhbWUsIGVycm9yLmZhaWxpbmdVUkwoKS51dGY4KCkuZGF0YSgp
LCB3ZWJFcnJvciwgJmlzSGFuZGxlZCk7CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdlYlZp
ZXcsICJsb2FkLWVycm9yIiwgbV9mcmFtZSwgZXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRh
KCksIHdlYkVycm9yLmdldCgpLCAmaXNIYW5kbGVkKTsKIAotICAgIGlmIChpc0hhbmRsZWQpIHsK
LSAgICAgICAgZ19lcnJvcl9mcmVlKHdlYkVycm9yKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIGlmICghc2hvdWxkRmFsbEJhY2soZXJyb3IpKSB7Ci0gICAgICAgIGdfZXJyb3JfZnJl
ZSh3ZWJFcnJvcik7CisgICAgaWYgKGlzSGFuZGxlZCB8fCAhc2hvdWxkRmFsbEJhY2soZXJyb3Ip
KSB7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBtX2xvYWRpbmdFcnJvclBhZ2UgPSB0
cnVlOwogCiAgICAgU3RyaW5nIGNvbnRlbnQ7Ci0gICAgZ2NoYXIqIGZpbGVDb250ZW50ID0gMDsK
ICAgICBHT3duUHRyPGdjaGFyPiBlcnJvclBhdGgoZ19idWlsZF9maWxlbmFtZShzaGFyZWRSZXNv
dXJjZXNQYXRoKCkuZGF0YSgpLCAicmVzb3VyY2VzIiwgImVycm9yLmh0bWwiLCBOVUxMKSk7Ci0g
ICAgZ2NoYXIqIGVycm9yVVJJID0gZ19maWxlbmFtZV90b191cmkoZXJyb3JQYXRoLmdldCgpLCAw
LCAwKTsKLQotICAgIEdGaWxlKiBlcnJvckZpbGUgPSBnX2ZpbGVfbmV3X2Zvcl91cmkoZXJyb3JV
UkkpOwotICAgIGdfZnJlZShlcnJvclVSSSk7CisgICAgR093blB0cjxnY2hhcj4gZXJyb3JVUkko
Z19maWxlbmFtZV90b191cmkoZXJyb3JQYXRoLmdldCgpLCAwLCAwKSk7CisgICAgR1JlZlB0cjxH
RmlsZT4gZXJyb3JGaWxlKGFkb3B0R1JlZihnX2ZpbGVfbmV3X2Zvcl91cmkoZXJyb3JVUkkuZ2V0
KCkpKSk7CiAKICAgICBpZiAoIWVycm9yRmlsZSkKICAgICAgICAgY29udGVudCA9IG1ha2VTdHJp
bmcoIjxodG1sPjxib2R5PiIsIHdlYkVycm9yLT5tZXNzYWdlLCAiPC9ib2R5PjwvaHRtbD4iKTsK
ICAgICBlbHNlIHsKLSAgICAgICAgZ2Jvb2xlYW4gbG9hZGVkID0gZ19maWxlX2xvYWRfY29udGVu
dHMoZXJyb3JGaWxlLCAwLCAmZmlsZUNvbnRlbnQsIDAsIDAsIDApOworICAgICAgICBHT3duUHRy
PGdjaGFyPiBmaWxlQ29udGVudDsKKyAgICAgICAgZ2Jvb2xlYW4gbG9hZGVkID0gZ19maWxlX2xv
YWRfY29udGVudHMoZXJyb3JGaWxlLmdldCgpLCAwLCAmZmlsZUNvbnRlbnQub3V0UHRyKCksIDAs
IDAsIDApOwogICAgICAgICBpZiAoIWxvYWRlZCkKICAgICAgICAgICAgIGNvbnRlbnQgPSBtYWtl
U3RyaW5nKCI8aHRtbD48Ym9keT4iLCB3ZWJFcnJvci0+bWVzc2FnZSwgIjwvYm9keT48L2h0bWw+
Iik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNvbnRlbnQgPSBTdHJpbmc6OmZvcm1hdChm
aWxlQ29udGVudCwgZXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIHdlYkVycm9yLT5t
ZXNzYWdlKTsKKyAgICAgICAgICAgIGNvbnRlbnQgPSBTdHJpbmc6OmZvcm1hdChmaWxlQ29udGVu
dC5nZXQoKSwgZXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIHdlYkVycm9yLT5tZXNz
YWdlKTsKICAgICB9CiAKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2xvYWRfYWx0ZXJuYXRlX3N0cmlu
ZyhtX2ZyYW1lLCBjb250ZW50LnV0ZjgoKS5kYXRhKCksIDAsIGVycm9yLmZhaWxpbmdVUkwoKS51
dGY4KCkuZGF0YSgpKTsKLQotICAgIGdfZnJlZShmaWxlQ29udGVudCk7Ci0KLSAgICBpZiAoZXJy
b3JGaWxlKQotICAgICAgICBnX29iamVjdF91bnJlZihlcnJvckZpbGUpOwotCi0gICAgZ19lcnJv
cl9mcmVlKHdlYkVycm9yKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudDo6Y29udmVydE1h
aW5SZXNvdXJjZUxvYWRUb0Rvd25sb2FkKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiBkb2N1bWVu
dExvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206157</attachid>
            <date>2013-07-05 08:57:03 -0700</date>
            <delta_ts>2013-07-08 01:36:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118417-20130705165505.patch</filename>
            <type>text/plain</type>
            <size>3893</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggN2YzYTg1NjJl
M2YwMjBiNmE2MTA4N2YwZTQ3M2M1ZTdiNjA4OTg3Yi4uMTFiMjg1OWM0YWE5MzA0NzM5NDlkMjU5
OTNmOTkwNmFkMWUwMWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEz
LTA3LTA1ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
R1RLXSBGcmFtZUxvYWRlckNsaWVudDogUmVmYWN0b3IgbmFrZWQgcG9pbnRlcnMgdG8gdXNlIHNt
YXJ0IHBvaW50ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTg0MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgR093blB0ciBhbmQgR1JlZlB0ciB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmFpbExvYWQpOgorCiAyMDEzLTA3LTA0
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0FUS10gRG8gbm90IGV4cG9zZSAnXG4nIGZvciB3cmFwcGVkIGxpbmVzIHdpdGggQVRLX1RF
WFRfQk9VTkRBUllfQ0hBUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IGQzYmNlZTRiMjYyYTY5ZGNk
YTQ2NzI0NTY4ZDc0YWI4ZDcxNDUwOTUuLjlmZWZlMGExYjU2MWUyODQ2OTkyYTE0OTAyZGEyNDFi
MmJmZTJmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTEwNjUsNTAgKzEwNjUsMzUgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGYWlsTG9hZChjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKICAgICBub3RpZnlTdGF0dXMobV9mcmFtZSwgV0VCS0lUX0xPQURfRkFJTEVE
KTsKIAogICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBnZXRWaWV3RnJvbUZyYW1lKG1fZnJh
bWUpOwotICAgIEdFcnJvciogd2ViRXJyb3IgPSBnX2Vycm9yX25ld19saXRlcmFsKGdfcXVhcmtf
ZnJvbV9zdHJpbmcoZXJyb3IuZG9tYWluKCkudXRmOCgpLmRhdGEoKSksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuZXJyb3JDb2RlKCksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IubG9jYWxpemVkRGVzY3Jp
cHRpb24oKS51dGY4KCkuZGF0YSgpKTsKKyAgICBHT3duUHRyPEdFcnJvcj4gd2ViRXJyb3IoZ19l
cnJvcl9uZXdfbGl0ZXJhbCgKKyAgICAgICAgZ19xdWFya19mcm9tX3N0cmluZyhlcnJvci5kb21h
aW4oKS51dGY4KCkuZGF0YSgpKSwKKyAgICAgICAgZXJyb3IuZXJyb3JDb2RlKCksCisgICAgICAg
IGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgpLmRhdGEoKSkpOwogICAgIGdib29s
ZWFuIGlzSGFuZGxlZCA9IGZhbHNlOwotICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3ZWJWaWV3
LCAibG9hZC1lcnJvciIsIG1fZnJhbWUsIGVycm9yLmZhaWxpbmdVUkwoKS51dGY4KCkuZGF0YSgp
LCB3ZWJFcnJvciwgJmlzSGFuZGxlZCk7CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdlYlZp
ZXcsICJsb2FkLWVycm9yIiwgbV9mcmFtZSwgZXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRh
KCksIHdlYkVycm9yLmdldCgpLCAmaXNIYW5kbGVkKTsKIAotICAgIGlmIChpc0hhbmRsZWQpIHsK
LSAgICAgICAgZ19lcnJvcl9mcmVlKHdlYkVycm9yKTsKKyAgICBpZiAoaXNIYW5kbGVkIHx8ICFz
aG91bGRGYWxsQmFjayhlcnJvcikpCiAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAo
IXNob3VsZEZhbGxCYWNrKGVycm9yKSkgewotICAgICAgICBnX2Vycm9yX2ZyZWUod2ViRXJyb3Ip
OwotICAgICAgICByZXR1cm47Ci0gICAgfQogCiAgICAgbV9sb2FkaW5nRXJyb3JQYWdlID0gdHJ1
ZTsKIAogICAgIFN0cmluZyBjb250ZW50OwotICAgIGdjaGFyKiBmaWxlQ29udGVudCA9IDA7CiAg
ICAgR093blB0cjxnY2hhcj4gZXJyb3JQYXRoKGdfYnVpbGRfZmlsZW5hbWUoc2hhcmVkUmVzb3Vy
Y2VzUGF0aCgpLmRhdGEoKSwgInJlc291cmNlcyIsICJlcnJvci5odG1sIiwgTlVMTCkpOwotICAg
IGdjaGFyKiBlcnJvclVSSSA9IGdfZmlsZW5hbWVfdG9fdXJpKGVycm9yUGF0aC5nZXQoKSwgMCwg
MCk7Ci0KLSAgICBHRmlsZSogZXJyb3JGaWxlID0gZ19maWxlX25ld19mb3JfdXJpKGVycm9yVVJJ
KTsKLSAgICBnX2ZyZWUoZXJyb3JVUkkpOworICAgIEdPd25QdHI8Z2NoYXI+IGVycm9yVVJJKGdf
ZmlsZW5hbWVfdG9fdXJpKGVycm9yUGF0aC5nZXQoKSwgMCwgMCkpOworICAgIEdSZWZQdHI8R0Zp
bGU+IGVycm9yRmlsZSA9IGFkb3B0R1JlZihnX2ZpbGVfbmV3X2Zvcl91cmkoZXJyb3JVUkkuZ2V0
KCkpKTsKIAogICAgIGlmICghZXJyb3JGaWxlKQogICAgICAgICBjb250ZW50ID0gbWFrZVN0cmlu
ZygiPGh0bWw+PGJvZHk+Iiwgd2ViRXJyb3ItPm1lc3NhZ2UsICI8L2JvZHk+PC9odG1sPiIpOwog
ICAgIGVsc2UgewotICAgICAgICBnYm9vbGVhbiBsb2FkZWQgPSBnX2ZpbGVfbG9hZF9jb250ZW50
cyhlcnJvckZpbGUsIDAsICZmaWxlQ29udGVudCwgMCwgMCwgMCk7CisgICAgICAgIEdPd25QdHI8
Z2NoYXI+IGZpbGVDb250ZW50OworICAgICAgICBnYm9vbGVhbiBsb2FkZWQgPSBnX2ZpbGVfbG9h
ZF9jb250ZW50cyhlcnJvckZpbGUuZ2V0KCksIDAsICZmaWxlQ29udGVudC5vdXRQdHIoKSwgMCwg
MCwgMCk7CiAgICAgICAgIGlmICghbG9hZGVkKQogICAgICAgICAgICAgY29udGVudCA9IG1ha2VT
dHJpbmcoIjxodG1sPjxib2R5PiIsIHdlYkVycm9yLT5tZXNzYWdlLCAiPC9ib2R5PjwvaHRtbD4i
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY29udGVudCA9IFN0cmluZzo6Zm9ybWF0KGZp
bGVDb250ZW50LCBlcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJyb3ItPm1l
c3NhZ2UpOworICAgICAgICAgICAgY29udGVudCA9IFN0cmluZzo6Zm9ybWF0KGZpbGVDb250ZW50
LmdldCgpLCBlcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJyb3ItPm1lc3Nh
Z2UpOwogICAgIH0KIAogICAgIHdlYmtpdF93ZWJfZnJhbWVfbG9hZF9hbHRlcm5hdGVfc3RyaW5n
KG1fZnJhbWUsIGNvbnRlbnQudXRmOCgpLmRhdGEoKSwgMCwgZXJyb3IuZmFpbGluZ1VSTCgpLnV0
ZjgoKS5kYXRhKCkpOwotCi0gICAgZ19mcmVlKGZpbGVDb250ZW50KTsKLQotICAgIGlmIChlcnJv
ckZpbGUpCi0gICAgICAgIGdfb2JqZWN0X3VucmVmKGVycm9yRmlsZSk7Ci0KLSAgICBnX2Vycm9y
X2ZyZWUod2ViRXJyb3IpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojpjb252ZXJ0TWFp
blJlc291cmNlTG9hZFRvRG93bmxvYWQoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGRvY3VtZW50
TG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206223</attachid>
            <date>2013-07-08 01:36:19 -0700</date>
            <delta_ts>2013-07-08 03:13:58 -0700</delta_ts>
            <desc>Revised patch</desc>
            <filename>bug-118417-20130708093419.patch</filename>
            <type>text/plain</type>
            <size>5153</size>
            <attacher name="Brian Holt">brian.holt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggN2YzYTg1NjJl
M2YwMjBiNmE2MTA4N2YwZTQ3M2M1ZTdiNjA4OTg3Yi4uMTFiMjg1OWM0YWE5MzA0NzM5NDlkMjU5
OTNmOTkwNmFkMWUwMWQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEz
LTA3LTA1ICBCcmlhbiBIb2x0ICA8YnJpYW4uaG9sdEBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
R1RLXSBGcmFtZUxvYWRlckNsaWVudDogUmVmYWN0b3IgbmFrZWQgcG9pbnRlcnMgdG8gdXNlIHNt
YXJ0IHBvaW50ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTg0MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVc2UgR093blB0ciBhbmQgR1JlZlB0ciB3aGVyZSBwb3NzaWJsZS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmFpbExvYWQpOgorCiAyMDEzLTA3LTA0
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0FUS10gRG8gbm90IGV4cG9zZSAnXG4nIGZvciB3cmFwcGVkIGxpbmVzIHdpdGggQVRLX1RF
WFRfQk9VTkRBUllfQ0hBUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Rr
L1NoYXJlZEJ1ZmZlckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2hhcmVk
QnVmZmVyR3RrLmNwcAppbmRleCBjNzA0MGYyOGU5ZGY3MWU0ZWVkMGUxYTAxMjZlNjY1MGQzNWM2
MzZhLi5jN2I0ZjI3YjBkYWVmYzhlODg4ZDMzMDQwNTQ0ZTU3NjM4NGU2N2Y2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2hhcmVkQnVmZmVyR3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2hhcmVkQnVmZmVyR3RrLmNwcApAQCAtMjAsNiAr
MjAsNyBAQAogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCiAjaW5jbHVkZSAiRmlsZVN5c3Rl
bS5oIgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAKICNpbmNsdWRlIDxnbGliLmg+CkBAIC0zMywxNyArMzQsMTUgQEAgUGFz
c1JlZlB0cjxTaGFyZWRCdWZmZXI+IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlV2l0aENvbnRlbnRzT2ZG
aWxlKGNvbnN0IFN0cmluZyYgZmkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBDU3RyaW5nIGZp
bGVuYW1lID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGZpbGVQYXRoKTsKLSAgICBnY2hhciog
Y29udGVudHM7CisgICAgR093blB0cjxnY2hhcj4gY29udGVudHM7CiAgICAgZ3NpemUgc2l6ZTsK
LSAgICBHRXJyb3IqIGVycm9yID0gMDsKLSAgICBpZiAoIWdfZmlsZV9nZXRfY29udGVudHMoZmls
ZW5hbWUuZGF0YSgpLCAmY29udGVudHMsICZzaXplLCAmZXJyb3IpKSB7CisgICAgR093blB0cjxH
RXJyb3I+IGVycm9yOworICAgIGlmICghZ19maWxlX2dldF9jb250ZW50cyhmaWxlbmFtZS5kYXRh
KCksICZjb250ZW50cy5vdXRQdHIoKSwgJnNpemUsICZlcnJvci5vdXRQdHIoKSkpIHsKICAgICAg
ICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZnVsbHkgcmVhZCBjb250ZW50cyBvZiBmaWxlICVzIC0g
JXMiLCBmaWxlbmFtZUZvckRpc3BsYXkoZmlsZVBhdGgpLnV0ZjgoKS5kYXRhKCksIGVycm9yLT5t
ZXNzYWdlKTsKLSAgICAgICAgZ19lcnJvcl9mcmVlKGVycm9yKTsKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCi0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVzdWx0ID0gU2hhcmVkQnVmZmVy
OjpjcmVhdGUoY29udGVudHMsIHNpemUpOwotICAgIGdfZnJlZShjb250ZW50cyk7CisgICAgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gcmVzdWx0ID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoY29udGVudHMu
Z2V0KCksIHNpemUpOwogCiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEd0ay5jcHAKaW5kZXggZDNiY2VlNGIyNjJhNjlkY2RhNDY3MjQ1NjhkNzRhYjhkNzE0NTA5NS4u
NGNhYzIwNjA2NjlkOTgwNDg3MjhhM2U1ZjQxZTUyODYwMmZjNGE0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcApAQCAtMTA2NSw1MCArMTA2NSwzMyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50OjpkaXNw
YXRjaERpZEZhaWxMb2FkKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogICAgIG5vdGlmeVN0
YXR1cyhtX2ZyYW1lLCBXRUJLSVRfTE9BRF9GQUlMRUQpOwogCiAgICAgV2ViS2l0V2ViVmlldyog
d2ViVmlldyA9IGdldFZpZXdGcm9tRnJhbWUobV9mcmFtZSk7Ci0gICAgR0Vycm9yKiB3ZWJFcnJv
ciA9IGdfZXJyb3JfbmV3X2xpdGVyYWwoZ19xdWFya19mcm9tX3N0cmluZyhlcnJvci5kb21haW4o
KS51dGY4KCkuZGF0YSgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlcnJvci5lcnJvckNvZGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOwor
ICAgIEdPd25QdHI8R0Vycm9yPiB3ZWJFcnJvcihnX2Vycm9yX25ld19saXRlcmFsKAorICAgICAg
ICBnX3F1YXJrX2Zyb21fc3RyaW5nKGVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCkpLAorICAg
ICAgICBlcnJvci5lcnJvckNvZGUoKSwKKyAgICAgICAgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRp
b24oKS51dGY4KCkuZGF0YSgpKSk7CiAgICAgZ2Jvb2xlYW4gaXNIYW5kbGVkID0gZmFsc2U7Ci0g
ICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdlYlZpZXcsICJsb2FkLWVycm9yIiwgbV9mcmFtZSwg
ZXJyb3IuZmFpbGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIHdlYkVycm9yLCAmaXNIYW5kbGVkKTsK
KyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUod2ViVmlldywgImxvYWQtZXJyb3IiLCBtX2ZyYW1l
LCBlcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJyb3IuZ2V0KCksICZpc0hh
bmRsZWQpOwogCi0gICAgaWYgKGlzSGFuZGxlZCkgewotICAgICAgICBnX2Vycm9yX2ZyZWUod2Vi
RXJyb3IpOworICAgIGlmIChpc0hhbmRsZWQgfHwgIXNob3VsZEZhbGxCYWNrKGVycm9yKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghc2hvdWxkRmFsbEJhY2soZXJyb3IpKSB7
Ci0gICAgICAgIGdfZXJyb3JfZnJlZSh3ZWJFcnJvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CiAKICAgICBtX2xvYWRpbmdFcnJvclBhZ2UgPSB0cnVlOwogCiAgICAgU3RyaW5nIGNvbnRlbnQ7
Ci0gICAgZ2NoYXIqIGZpbGVDb250ZW50ID0gMDsKICAgICBHT3duUHRyPGdjaGFyPiBlcnJvclBh
dGgoZ19idWlsZF9maWxlbmFtZShzaGFyZWRSZXNvdXJjZXNQYXRoKCkuZGF0YSgpLCAicmVzb3Vy
Y2VzIiwgImVycm9yLmh0bWwiLCBOVUxMKSk7Ci0gICAgZ2NoYXIqIGVycm9yVVJJID0gZ19maWxl
bmFtZV90b191cmkoZXJyb3JQYXRoLmdldCgpLCAwLCAwKTsKLQotICAgIEdGaWxlKiBlcnJvckZp
bGUgPSBnX2ZpbGVfbmV3X2Zvcl91cmkoZXJyb3JVUkkpOwotICAgIGdfZnJlZShlcnJvclVSSSk7
CisgICAgR1JlZlB0cjxHRmlsZT4gZXJyb3JGaWxlID0gYWRvcHRHUmVmKGdfZmlsZV9uZXdfZm9y
X3BhdGgoZXJyb3JQYXRoLmdldCgpKSk7CiAKICAgICBpZiAoIWVycm9yRmlsZSkKICAgICAgICAg
Y29udGVudCA9IG1ha2VTdHJpbmcoIjxodG1sPjxib2R5PiIsIHdlYkVycm9yLT5tZXNzYWdlLCAi
PC9ib2R5PjwvaHRtbD4iKTsKICAgICBlbHNlIHsKLSAgICAgICAgZ2Jvb2xlYW4gbG9hZGVkID0g
Z19maWxlX2xvYWRfY29udGVudHMoZXJyb3JGaWxlLCAwLCAmZmlsZUNvbnRlbnQsIDAsIDAsIDAp
OwotICAgICAgICBpZiAoIWxvYWRlZCkKKyAgICAgICAgR093blB0cjxnY2hhcj4gZmlsZUNvbnRl
bnQ7CisgICAgICAgIGlmICghZ19maWxlX2xvYWRfY29udGVudHMoZXJyb3JGaWxlLmdldCgpLCAw
LCAmZmlsZUNvbnRlbnQub3V0UHRyKCksIDAsIDAsIDApKQogICAgICAgICAgICAgY29udGVudCA9
IG1ha2VTdHJpbmcoIjxodG1sPjxib2R5PiIsIHdlYkVycm9yLT5tZXNzYWdlLCAiPC9ib2R5Pjwv
aHRtbD4iKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgY29udGVudCA9IFN0cmluZzo6Zm9y
bWF0KGZpbGVDb250ZW50LCBlcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJy
b3ItPm1lc3NhZ2UpOworICAgICAgICAgICAgY29udGVudCA9IFN0cmluZzo6Zm9ybWF0KGZpbGVD
b250ZW50LmdldCgpLCBlcnJvci5mYWlsaW5nVVJMKCkudXRmOCgpLmRhdGEoKSwgd2ViRXJyb3It
Pm1lc3NhZ2UpOwogICAgIH0KIAogICAgIHdlYmtpdF93ZWJfZnJhbWVfbG9hZF9hbHRlcm5hdGVf
c3RyaW5nKG1fZnJhbWUsIGNvbnRlbnQudXRmOCgpLmRhdGEoKSwgMCwgZXJyb3IuZmFpbGluZ1VS
TCgpLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgZ19mcmVlKGZpbGVDb250ZW50KTsKLQotICAgIGlm
IChlcnJvckZpbGUpCi0gICAgICAgIGdfb2JqZWN0X3VucmVmKGVycm9yRmlsZSk7Ci0KLSAgICBn
X2Vycm9yX2ZyZWUod2ViRXJyb3IpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojpjb252
ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGRv
Y3VtZW50TG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>