<?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>119487</bug_id>
          
          <creation_ts>2013-08-05 07:16:18 -0700</creation_ts>
          <short_desc>[Gtk] Cancel authentication on load failed</short_desc>
          <delta_ts>2013-08-21 08:44:41 -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>WebKitGTK</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>
          <dependson>99352</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Brian Holt">brian.holt</reporter>
          <assigned_to name="Anton Obzhirov">obzhirov</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>obzhirov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>914574</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-05 07:16:18 -0700</bug_when>
    <thetext>If loading fails or is stopped on a page which requires HTTP authentication, the default dialog does not close (as would be expected) and the authentication is not cancelled.

What this probably requires is the WebKitWebView retain a ref to an AuthenticationRequest in its private struct that it can cancel the request on the LoadFailed signal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918670</commentid>
    <comment_count>1</comment_count>
      <attachid>209098</attachid>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-08-19 10:07:48 -0700</bug_when>
    <thetext>Created attachment 209098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918672</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-19 10:09:43 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>918673</commentid>
    <comment_count>3</comment_count>
      <attachid>209098</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-19 10:09:50 -0700</bug_when>
    <thetext>Comment on attachment 209098
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:99
&gt; +    g_signal_connect(webView, &quot;load-failed&quot;, G_CALLBACK(pageLoadFailed), authDialog);

You aren&apos;t disconnecting form the signal at all in the case that dialog is destroyed.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.h:52
&gt; +GtkWidget* webkitAuthenticationDialogNew(WebKitAuthenticationRequest*, CredentialStorageMode, WebKitWebView* webView);

You don&apos;t need the argument name here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919033</commentid>
    <comment_count>4</comment_count>
      <attachid>209191</attachid>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-08-20 06:44:28 -0700</bug_when>
    <thetext>Created attachment 209191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919038</commentid>
    <comment_count>5</comment_count>
      <attachid>209191</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-20 07:12:29 -0700</bug_when>
    <thetext>Comment on attachment 209191
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:139
&gt; +static void webkitAuthenticationDialogDispose(GObject *object)

Your asterisk is in the wrong place here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919048</commentid>
    <comment_count>6</comment_count>
      <attachid>209196</attachid>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-08-20 07:59:06 -0700</bug_when>
    <thetext>Created attachment 209196
Patch

Updated with Martin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919063</commentid>
    <comment_count>7</comment_count>
      <attachid>209196</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 08:56:33 -0700</bug_when>
    <thetext>Comment on attachment 209196
Patch

Clearing flags on attachment: 209196

Committed r154329: &lt;http://trac.webkit.org/changeset/154329&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919064</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 08:56:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919344</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-20 23:02:55 -0700</bug_when>
    <thetext>I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919382</commentid>
    <comment_count>10</comment_count>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-08-21 03:33:53 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.

Hi, so do you think I should roll out this patch or it is better to create a new bug to implement it the way you said? Current solution does work anyway for the time being so it can stay before I implement the new one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919408</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-21 07:41:22 -0700</bug_when>
    <thetext>(In reply to comment #10)
 
&gt; Hi, so do you think I should roll out this patch or it is better to create a new bug to implement it the way you said? Current solution does work anyway for the time being so it can stay before I implement the new one.

To met at least, it seems reasonable to add the cancellation API in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919413</commentid>
    <comment_count>12</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-08-21 08:08:39 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.

So if I understand correctly, connect to the load-failed signal in the constructor of the WebKitAuthenticationRequest with the callback being webkit_authentication_request_cancel? Additionally then emit a new signal &quot;authentication-failed&quot; that clients can connect to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919414</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-21 08:21:08 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.
&gt; 
&gt; Hi, so do you think I should roll out this patch or it is better to create a new bug to implement it the way you said? Current solution does work anyway for the time being so it can stay before I implement the new one.

Don&apos;t need to roll it out, since as you say it works and it doesn&apos;t new API like my proposal, and maybe even others disagree with me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919417</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-21 08:24:19 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #9)
&gt; &gt; I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.
&gt; 
&gt; So if I understand correctly, connect to the load-failed signal in the constructor of the WebKitAuthenticationRequest with the callback being webkit_authentication_request_cancel? Additionally then emit a new signal &quot;authentication-failed&quot; that clients can connect to?

No, the view would keep a pointer (or ref) to the current request. When load-failed happens, the view checks if there&apos;s an active auth request and in that case it calls webkit_authentication_request_cancel. When webkit_authentication_request_cancel is called the request might emit a cancelled signal to notify it was cancelled, so that the users can destroy their UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919425</commentid>
    <comment_count>15</comment_count>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-08-21 08:44:41 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; I&apos;m sorry to be late here, but I don&apos;t think this is the right solution, since this would require to implement the same thing in the app side for people not using the default dialog. I think it would be possible to cancel the current active WebKitAuthenticationRequest on load failed. This way we could add a signal to the request, so that the user is notified when the request is cancelled. Also, I think this patch should include a unit test.
&gt; &gt; 
&gt; &gt; So if I understand correctly, connect to the load-failed signal in the constructor of the WebKitAuthenticationRequest with the callback being webkit_authentication_request_cancel? Additionally then emit a new signal &quot;authentication-failed&quot; that clients can connect to?
&gt; 
&gt; No, the view would keep a pointer (or ref) to the current request. When load-failed happens, the view checks if there&apos;s an active auth request and in that case it calls webkit_authentication_request_cancel. When webkit_authentication_request_cancel is called the request might emit a cancelled signal to notify it was cancelled, so that the users can destroy their UI.
Sounds good to me, I will create new bug/patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209098</attachid>
            <date>2013-08-19 10:07:48 -0700</date>
            <delta_ts>2013-08-20 06:44:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119487-20130819180842.patch</filename>
            <type>text/plain</type>
            <size>5515</size>
            <attacher name="Anton Obzhirov">obzhirov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWJhZTc5MTA3NzhlZWE1
NmJhMDcyODVjODk4YWQxMjA5OTY1YWY3MS4uNDMwNDhhM2NjMWNjZTEyNDljOWVkYmU3Mzc3NmU3
Mjc0MzhiZWE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA4LTE5ICBBbnRv
biBPYnpoaXJvdiAgPGEub2J6aGlyb3ZAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzExOTQ4Nz4gW0d0a10gQ2FuY2VsIGF1dGhlbnRpY2F0aW9uIG9uIGxvYWQg
ZmFpbGVkCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgY2FsbGJhY2sgdG8gaGFuZGxlIGxvYWQtZmFpbGVkIGV2ZW50IGluIGRlZmF1bHQgYXV0
aGVudGljYXRpb24gZGlhbG9nLgorICAgICAgICBBdXRoZW50aWNhdGlvbiByZXF1ZXN0IGdldHMg
Y2FuY2VsbGVkIGFuZCB0aGUgZGlhbG9nIHdpZGdldCBnZXRzIGRlc3Ryb3llZC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcDoKKyAg
ICAgICAgKHBhZ2VMb2FkRmFpbGVkKToKKyAgICAgICAgKHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlh
bG9nSW5pdGlhbGl6ZSk6CisgICAgICAgICh3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ05ldyk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAg
ICAgKHdlYmtpdFdlYlZpZXdBdXRoZW50aWNhdGUpOgorCiAyMDEzLTA4LTE4ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTE5
OTg5PiBNYWtlIHVzZSBvZiBOb2RlOjpvd25lckRvY3VtZW50IGEgY29tcGlsZSB0aW1lIGVycm9y
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRo
ZW50aWNhdGlvbkRpYWxvZy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKaW5kZXggYjNhZGYwNDlhNmMzZDM4OWZiZjM4
OWMwMmNhMmMyZDJhMmVjZjMxMS4uYjAxMjg2ZjhjYzcxMzU0MWU0OWM0MjMxZjIzNjdlOTMwMDRi
ZTUzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
QXV0aGVudGljYXRpb25EaWFsb2cuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcApAQCAtMjQsNiArMjQsNyBAQAog
I2luY2x1ZGUgIldlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdFByaXZhdGUuaCIKICNpbmNsdWRl
ICJXZWJLaXRDcmVkZW50aWFsUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIK
KyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
QEAgLTUxLDcgKzUyLDEzIEBAIHN0YXRpYyB2b2lkIGNhbmNlbEJ1dHRvbkNsaWNrZWQoR3RrQnV0
dG9uKiwgV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cqIGF1dGhEaWFsCiAgICAgZ3RrX3dpZGdl
dF9kZXN0cm95KEdUS19XSURHRVQoYXV0aERpYWxvZykpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJr
aXRBdXRoZW50aWNhdGlvbkRpYWxvZ0luaXRpYWxpemUoV2ViS2l0QXV0aGVudGljYXRpb25EaWFs
b2cqIGF1dGhEaWFsb2csIENyZWRlbnRpYWxTdG9yYWdlTW9kZSBjcmVkZW50aWFsU3RvcmFnZU1v
ZGUpCitzdGF0aWMgdm9pZCBwYWdlTG9hZEZhaWxlZChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBX
ZWJLaXRMb2FkRXZlbnQgbG9hZEV2ZW50LCBjb25zdCBjaGFyKiBmYWlsaW5nVVJJLCBHRXJyb3Iq
IGVycm9yLCBXZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZyogYXV0aERpYWxvZykKK3sKKyAgICB3
ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5jZWwoYXV0aERpYWxvZy0+cHJpdi0+cmVx
dWVzdC5nZXQoKSk7CisgICAgZ3RrX3dpZGdldF9kZXN0cm95KEdUS19XSURHRVQoYXV0aERpYWxv
ZykpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0luaXRpYWxp
emUoV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cqIGF1dGhEaWFsb2csIENyZWRlbnRpYWxTdG9y
YWdlTW9kZSBjcmVkZW50aWFsU3RvcmFnZU1vZGUsIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7
CiAgICAgR3RrV2lkZ2V0KiBmcmFtZSA9IGd0a19mcmFtZV9uZXcoMCk7CiAgICAgZ3RrX2ZyYW1l
X3NldF9zaGFkb3dfdHlwZShHVEtfRlJBTUUoZnJhbWUpLCBHVEtfU0hBRE9XX0lOKTsKQEAgLTg4
LDYgKzk1LDggQEAgc3RhdGljIHZvaWQgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dJbml0aWFs
aXplKFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nKiBhdXQKIAogICAgIGd0a19jb250YWluZXJf
YWRkKEdUS19DT05UQUlORVIoYXV0aERpYWxvZyksIGZyYW1lKTsKICAgICBndGtfd2lkZ2V0X3No
b3coZnJhbWUpOworCisgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAibG9hZC1mYWlsZWQi
LCBHX0NBTExCQUNLKHBhZ2VMb2FkRmFpbGVkKSwgYXV0aERpYWxvZyk7CiB9CiAKIHN0YXRpYyBn
Ym9vbGVhbiB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0RyYXcoR3RrV2lkZ2V0KiB3aWRnZXQs
IGNhaXJvX3QqIGNyKQpAQCAtMTM0LDEwICsxNDMsMTAgQEAgc3RhdGljIHZvaWQgd2Via2l0X2F1
dGhlbnRpY2F0aW9uX2RpYWxvZ19jbGFzc19pbml0KFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9n
Q2wKICAgICB3aWRnZXRDbGFzcy0+bWFwID0gd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dNYXA7
CiB9CiAKLUd0a1dpZGdldCogd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dOZXcoV2ViS2l0QXV0
aGVudGljYXRpb25SZXF1ZXN0KiByZXF1ZXN0LCBDcmVkZW50aWFsU3RvcmFnZU1vZGUgbW9kZSkK
K0d0a1dpZGdldCogd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dOZXcoV2ViS2l0QXV0aGVudGlj
YXRpb25SZXF1ZXN0KiByZXF1ZXN0LCBDcmVkZW50aWFsU3RvcmFnZU1vZGUgbW9kZSwgV2ViS2l0
V2ViVmlldyogd2ViVmlldykKIHsKICAgICBXZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZyogYXV0
aERpYWxvZyA9IFdFQktJVF9BVVRIRU5USUNBVElPTl9ESUFMT0coZ19vYmplY3RfbmV3KFdFQktJ
VF9UWVBFX0FVVEhFTlRJQ0FUSU9OX0RJQUxPRywgTlVMTCkpOwogICAgIGF1dGhEaWFsb2ctPnBy
aXYtPnJlcXVlc3QgPSByZXF1ZXN0OwotICAgIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nSW5p
dGlhbGl6ZShhdXRoRGlhbG9nLCBtb2RlKTsKKyAgICB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxv
Z0luaXRpYWxpemUoYXV0aERpYWxvZywgbW9kZSwgd2ViVmlldyk7CiAgICAgcmV0dXJuIEdUS19X
SURHRVQoYXV0aERpYWxvZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuaAppbmRleCA2MTBm
YWQ2NTUxZGE1ZDI5NGIwZjk3MzZjMTRkYzgxZWJjMWYzMGUzLi5iOWFkZDFkMDcxNjRmZGM5NWQw
MmY2Njc3ZGI3ZTI4NjM1MWNhMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmgKQEAgLTIy
LDYgKzIyLDcgQEAKIAogI2luY2x1ZGUgIldlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYktpdEF1dGhlbnRpY2F0aW9uV2lkZ2V0LmgiCisjaW5jbHVkZSAiV2ViS2l0
V2ViVmlldy5oIgogI2luY2x1ZGUgPGd0ay9ndGsuaD4KIAogR19CRUdJTl9ERUNMUwpAQCAtNDgs
NyArNDksNyBAQCBzdHJ1Y3QgX1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nQ2xhc3MgewogfTsK
IAogR1R5cGUgd2Via2l0X2F1dGhlbnRpY2F0aW9uX2RpYWxvZ19nZXRfdHlwZSgpOwotR3RrV2lk
Z2V0KiB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ05ldyhXZWJLaXRBdXRoZW50aWNhdGlvblJl
cXVlc3QqLCBDcmVkZW50aWFsU3RvcmFnZU1vZGUpOworR3RrV2lkZ2V0KiB3ZWJraXRBdXRoZW50
aWNhdGlvbkRpYWxvZ05ldyhXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqLCBDcmVkZW50aWFs
U3RvcmFnZU1vZGUsIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpOwogCiBHX0VORF9ERUNMUwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3Bw
CmluZGV4IGJjYzFkYjcyOTliOGQ3MDk2YzlkMmI4YjE4M2M0N2U1YmQ5N2I5OTEuLjcyZmU2NmE0
MmVhZDIyZmFmMmQ5YTQ4NWE5OTEyMjUzMjYyMmZlZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC00MzUsNyArNDM1LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Rpc2Nvbm5lY3RGYXZpY29uRGF0YWJhc2VTaWdu
YWxIYW5kbGVycyhXZWJLaXRXZWJWaWV3Kgogc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdB
dXRoZW50aWNhdGUoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0QXV0aGVudGljYXRpb25S
ZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIENyZWRlbnRpYWxTdG9yYWdlTW9kZSBjcmVkZW50aWFs
U3RvcmFnZU1vZGUgPSB3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVk
ZW50aWFscyhyZXF1ZXN0KSA/IEFsbG93UGVyc2lzdGVudFN0b3JhZ2UgOiBEaXNhbGxvd1BlcnNp
c3RlbnRTdG9yYWdlOwotICAgIHdlYmtpdFdlYlZpZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFs
b2coV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldyksIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlh
bG9nTmV3KHJlcXVlc3QsIGNyZWRlbnRpYWxTdG9yYWdlTW9kZSkpOworICAgIHdlYmtpdFdlYlZp
ZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFsb2coV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmll
dyksIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nTmV3KHJlcXVlc3QsIGNyZWRlbnRpYWxTdG9y
YWdlTW9kZSwgd2ViVmlldykpOwogCiAgICAgcmV0dXJuIFRSVUU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209191</attachid>
            <date>2013-08-20 06:44:28 -0700</date>
            <delta_ts>2013-08-20 07:59:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119487-20130820144523.patch</filename>
            <type>text/plain</type>
            <size>6852</size>
            <attacher name="Anton Obzhirov">obzhirov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTNlNmFiODgxZmVjN2Y0
ZWQxNWE3MjYxYzE4ZGE2OTBmZWZjOTUxZC4uNTMxZDA5YmY3NjVlMDExZmMxNmNkYzBmNzJkNWNl
N2U4MDQ5ODMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA4LTIwICBBbnRv
biBPYnpoaXJvdiAgPGEub2J6aGlyb3ZAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzExOTQ4Nz4gW0d0a10gQ2FuY2VsIGF1dGhlbnRpY2F0aW9uIG9uIGxvYWQg
ZmFpbGVkCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgY2FsbGJhY2sgdG8gaGFuZGxlIGxvYWQtZmFpbGVkIGV2ZW50IGluIGRlZmF1bHQgYXV0
aGVudGljYXRpb24gZGlhbG9nLgorICAgICAgICBBdXRoZW50aWNhdGlvbiByZXF1ZXN0IGdldHMg
Y2FuY2VsbGVkIGFuZCB0aGUgZGlhbG9nIHdpZGdldCBnZXRzIGRlc3Ryb3llZC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcDoKKyAg
ICAgICAgKHBhZ2VMb2FkRmFpbGVkKToKKyAgICAgICAgKHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlh
bG9nSW5pdGlhbGl6ZSk6CisgICAgICAgICh3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0Rpc3Bv
c2UpOgorICAgICAgICAod2Via2l0X2F1dGhlbnRpY2F0aW9uX2RpYWxvZ19jbGFzc19pbml0KToK
KyAgICAgICAgKHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nTmV3KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAod2Via2l0V2ViVmll
d0F1dGhlbnRpY2F0ZSk6CisKIDIwMTMtMDgtMjAgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFs
bGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIERvZXNuJ3QgYnVpbGQg
d2l0aG91dCBQbHVnaW4tcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuY3BwCmluZGV4
IGIzYWRmMDQ5YTZjM2QzODlmYmYzODljMDJjYTJjMmQyYTJlY2YzMTEuLjA0ZTQyNTMxOTdkMWMy
MWFiNTIwZDE3NTJiOTk0MTk4OWEyZjIzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5j
cHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVl
c3RQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q3JlZGVudGlhbFByaXZhdGUuaCIKICNpbmNs
dWRlICJXZWJLaXRQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBAIC0zMSw3ICszMiw5IEBAIHN0cnVjdCBfV2ViS2l0QXV0
aGVudGljYXRpb25EaWFsb2dQcml2YXRlIHsKICAgICBHUmVmUHRyPFdlYktpdEF1dGhlbnRpY2F0
aW9uUmVxdWVzdD4gcmVxdWVzdDsKICAgICBHdGtXaWRnZXQqIGF1dGhXaWRnZXQ7CiAgICAgR3Rr
V2lkZ2V0KiBkZWZhdWx0QnV0dG9uOworICAgIHVuc2lnbmVkIGxvbmcgbG9hZEZhaWxlZEV2ZW50
SUQ7CiAgICAgR1JlZlB0cjxHdGtTdHlsZUNvbnRleHQ+IHN0eWxlQ29udGV4dDsKKyAgICBXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3OwogfTsKIAogV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdEF1dGhl
bnRpY2F0aW9uRGlhbG9nLCB3ZWJraXRfYXV0aGVudGljYXRpb25fZGlhbG9nLCBHVEtfVFlQRV9F
VkVOVF9CT1gpCkBAIC01MSw3ICs1NCwxMyBAQCBzdGF0aWMgdm9pZCBjYW5jZWxCdXR0b25DbGlj
a2VkKEd0a0J1dHRvbiosIFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nKiBhdXRoRGlhbAogICAg
IGd0a193aWRnZXRfZGVzdHJveShHVEtfV0lER0VUKGF1dGhEaWFsb2cpKTsKIH0KIAotc3RhdGlj
IHZvaWQgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dJbml0aWFsaXplKFdlYktpdEF1dGhlbnRp
Y2F0aW9uRGlhbG9nKiBhdXRoRGlhbG9nLCBDcmVkZW50aWFsU3RvcmFnZU1vZGUgY3JlZGVudGlh
bFN0b3JhZ2VNb2RlKQorc3RhdGljIHZvaWQgcGFnZUxvYWRGYWlsZWQoV2ViS2l0V2ViVmlldyos
IFdlYktpdExvYWRFdmVudCwgY29uc3QgY2hhciosIEdFcnJvciosIFdlYktpdEF1dGhlbnRpY2F0
aW9uRGlhbG9nKiBhdXRoRGlhbG9nKQoreworICAgIHdlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1
ZXN0X2NhbmNlbChhdXRoRGlhbG9nLT5wcml2LT5yZXF1ZXN0LmdldCgpKTsKKyAgICBndGtfd2lk
Z2V0X2Rlc3Ryb3koR1RLX1dJREdFVChhdXRoRGlhbG9nKSk7Cit9CisKK3N0YXRpYyB2b2lkIHdl
YmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nSW5pdGlhbGl6ZShXZWJLaXRBdXRoZW50aWNhdGlvbkRp
YWxvZyogYXV0aERpYWxvZywgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlIGNyZWRlbnRpYWxTdG9yYWdl
TW9kZSwgV2ViS2l0V2ViVmlldyogd2ViVmlldykKIHsKICAgICBHdGtXaWRnZXQqIGZyYW1lID0g
Z3RrX2ZyYW1lX25ldygwKTsKICAgICBndGtfZnJhbWVfc2V0X3NoYWRvd190eXBlKEdUS19GUkFN
RShmcmFtZSksIEdUS19TSEFET1dfSU4pOwpAQCAtODgsNiArOTcsOSBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0luaXRpYWxpemUoV2ViS2l0QXV0aGVudGljYXRpb25E
aWFsb2cqIGF1dAogCiAgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihhdXRoRGlh
bG9nKSwgZnJhbWUpOwogICAgIGd0a193aWRnZXRfc2hvdyhmcmFtZSk7CisKKyAgICBhdXRoRGlh
bG9nLT5wcml2LT53ZWJWaWV3ID0gd2ViVmlldzsKKyAgICBhdXRoRGlhbG9nLT5wcml2LT5sb2Fk
RmFpbGVkRXZlbnRJRCA9IGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgImxvYWQtZmFpbGVkIiwg
R19DQUxMQkFDSyhwYWdlTG9hZEZhaWxlZCksIGF1dGhEaWFsb2cpOwogfQogCiBzdGF0aWMgZ2Jv
b2xlYW4gd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dEcmF3KEd0a1dpZGdldCogd2lkZ2V0LCBj
YWlyb190KiBjcikKQEAgLTEyNCwyMCArMTM2LDMyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdEF1dGhl
bnRpY2F0aW9uRGlhbG9nQ29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogICAgIGd0a193aWRn
ZXRfcGF0aF9mcmVlKHBhdGgpOwogfQogCitzdGF0aWMgdm9pZCB3ZWJraXRBdXRoZW50aWNhdGlv
bkRpYWxvZ0Rpc3Bvc2UoR09iamVjdCAqb2JqZWN0KQoreworICAgIFdlYktpdEF1dGhlbnRpY2F0
aW9uRGlhbG9nUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9BVVRIRU5USUNBVElPTl9ESUFMT0cob2Jq
ZWN0KS0+cHJpdjsKKyAgICBpZiAocHJpdi0+bG9hZEZhaWxlZEV2ZW50SUQpIHsKKyAgICAgICAg
Z19zaWduYWxfaGFuZGxlcl9kaXNjb25uZWN0KHByaXYtPndlYlZpZXcsIHByaXYtPmxvYWRGYWls
ZWRFdmVudElEKTsKKyAgICAgICAgcHJpdi0+bG9hZEZhaWxlZEV2ZW50SUQgPSAwOworICAgIH0K
KworICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF9hdXRoZW50aWNhdGlvbl9kaWFsb2dfcGFyZW50
X2NsYXNzKS0+ZGlzcG9zZShvYmplY3QpOworfQorCiBzdGF0aWMgdm9pZCB3ZWJraXRfYXV0aGVu
dGljYXRpb25fZGlhbG9nX2NsYXNzX2luaXQoV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2dDbGFz
cyoga2xhc3MpCiB7CiAgICAgR09iamVjdENsYXNzKiBvYmplY3RDbGFzcyA9IEdfT0JKRUNUX0NM
QVNTKGtsYXNzKTsKICAgICBvYmplY3RDbGFzcy0+Y29uc3RydWN0ZWQgPSB3ZWJraXRBdXRoZW50
aWNhdGlvbkRpYWxvZ0NvbnN0cnVjdGVkOworICAgIG9iamVjdENsYXNzLT5kaXNwb3NlID0gd2Vi
a2l0QXV0aGVudGljYXRpb25EaWFsb2dEaXNwb3NlOwogCiAgICAgR3RrV2lkZ2V0Q2xhc3MqIHdp
ZGdldENsYXNzID0gR1RLX1dJREdFVF9DTEFTUyhrbGFzcyk7CiAgICAgd2lkZ2V0Q2xhc3MtPmRy
YXcgPSB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0RyYXc7CiAgICAgd2lkZ2V0Q2xhc3MtPm1h
cCA9IHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nTWFwOwogfQogCi1HdGtXaWRnZXQqIHdlYmtp
dEF1dGhlbnRpY2F0aW9uRGlhbG9nTmV3KFdlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdCogcmVx
dWVzdCwgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlIG1vZGUpCitHdGtXaWRnZXQqIHdlYmtpdEF1dGhl
bnRpY2F0aW9uRGlhbG9nTmV3KFdlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdCogcmVxdWVzdCwg
Q3JlZGVudGlhbFN0b3JhZ2VNb2RlIG1vZGUsIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAg
ICAgV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cqIGF1dGhEaWFsb2cgPSBXRUJLSVRfQVVUSEVO
VElDQVRJT05fRElBTE9HKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9BVVRIRU5USUNBVElPTl9E
SUFMT0csIE5VTEwpKTsKICAgICBhdXRoRGlhbG9nLT5wcml2LT5yZXF1ZXN0ID0gcmVxdWVzdDsK
LSAgICB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0luaXRpYWxpemUoYXV0aERpYWxvZywgbW9k
ZSk7CisgICAgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dJbml0aWFsaXplKGF1dGhEaWFsb2cs
IG1vZGUsIHdlYlZpZXcpOwogICAgIHJldHVybiBHVEtfV0lER0VUKGF1dGhEaWFsb2cpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVu
dGljYXRpb25EaWFsb2cuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dEF1dGhlbnRpY2F0aW9uRGlhbG9nLmgKaW5kZXggNjEwZmFkNjU1MWRhNWQyOTRiMGY5NzM2YzE0
ZGM4MWViYzFmMzBlMy4uM2YyOGIxYTk1NGQ1YTdlZWVkYzc3ZDk4MmFmOThhMDdhNGI5OWQ1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVu
dGljYXRpb25EaWFsb2cuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5oCkBAIC0yMiw2ICsyMiw3IEBACiAKICNpbmNsdWRl
ICJXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJLaXRBdXRoZW50
aWNhdGlvbldpZGdldC5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKICNpbmNsdWRlIDxn
dGsvZ3RrLmg+CiAKIEdfQkVHSU5fREVDTFMKQEAgLTQ4LDcgKzQ5LDcgQEAgc3RydWN0IF9XZWJL
aXRBdXRoZW50aWNhdGlvbkRpYWxvZ0NsYXNzIHsKIH07CiAKIEdUeXBlIHdlYmtpdF9hdXRoZW50
aWNhdGlvbl9kaWFsb2dfZ2V0X3R5cGUoKTsKLUd0a1dpZGdldCogd2Via2l0QXV0aGVudGljYXRp
b25EaWFsb2dOZXcoV2ViS2l0QXV0aGVudGljYXRpb25SZXF1ZXN0KiwgQ3JlZGVudGlhbFN0b3Jh
Z2VNb2RlKTsKK0d0a1dpZGdldCogd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dOZXcoV2ViS2l0
QXV0aGVudGljYXRpb25SZXF1ZXN0KiwgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlLCBXZWJLaXRXZWJW
aWV3Kik7CiAKIEdfRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggYmNjMWRiNzI5OWI4ZDcwOTZjOWQyYjhi
MTgzYzQ3ZTViZDk3Yjk5MS4uNzJmZTY2YTQyZWFkMjJmYWYyZDlhNDg1YTk5MTIyNTMyNjIyZmVk
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlldy5jcHAKQEAgLTQzNSw3ICs0MzUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3RGlz
Y29ubmVjdEZhdmljb25EYXRhYmFzZVNpZ25hbEhhbmRsZXJzKFdlYktpdFdlYlZpZXcqCiBzdGF0
aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0F1dGhlbnRpY2F0ZShXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqIHJlcXVlc3QpCiB7CiAgICAgQ3JlZGVu
dGlhbFN0b3JhZ2VNb2RlIGNyZWRlbnRpYWxTdG9yYWdlTW9kZSA9IHdlYmtpdF9hdXRoZW50aWNh
dGlvbl9yZXF1ZXN0X2Nhbl9zYXZlX2NyZWRlbnRpYWxzKHJlcXVlc3QpID8gQWxsb3dQZXJzaXN0
ZW50U3RvcmFnZSA6IERpc2FsbG93UGVyc2lzdGVudFN0b3JhZ2U7Ci0gICAgd2Via2l0V2ViVmll
d0Jhc2VBZGRBdXRoZW50aWNhdGlvbkRpYWxvZyhXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3
KSwgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dOZXcocmVxdWVzdCwgY3JlZGVudGlhbFN0b3Jh
Z2VNb2RlKSk7CisgICAgd2Via2l0V2ViVmlld0Jhc2VBZGRBdXRoZW50aWNhdGlvbkRpYWxvZyhX
RUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSwgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dO
ZXcocmVxdWVzdCwgY3JlZGVudGlhbFN0b3JhZ2VNb2RlLCB3ZWJWaWV3KSk7CiAKICAgICByZXR1
cm4gVFJVRTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209196</attachid>
            <date>2013-08-20 07:59:06 -0700</date>
            <delta_ts>2013-08-20 08:56:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119487-20130820160000.patch</filename>
            <type>text/plain</type>
            <size>6853</size>
            <attacher name="Anton Obzhirov">obzhirov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTNlNmFiODgxZmVjN2Y0
ZWQxNWE3MjYxYzE4ZGE2OTBmZWZjOTUxZC4uZmRkOGQ3MmFlNDk2MDJhM2FhYTY5YzEwNTUwZWMw
NjZiMzE0OWIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTA4LTIwICBBbnRv
biBPYnpoaXJvdiAgPGEub2J6aGlyb3ZAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgPGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzExOTQ4Nz4gW0d0a10gQ2FuY2VsIGF1dGhlbnRpY2F0aW9uIG9uIGxvYWQg
ZmFpbGVkCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgorCisgICAgICAg
IEFkZGVkIGNhbGxiYWNrIHRvIGhhbmRsZSBsb2FkLWZhaWxlZCBldmVudCBpbiBkZWZhdWx0IGF1
dGhlbnRpY2F0aW9uIGRpYWxvZy4KKyAgICAgICAgQXV0aGVudGljYXRpb24gcmVxdWVzdCBnZXRz
IGNhbmNlbGxlZCBhbmQgdGhlIGRpYWxvZyB3aWRnZXQgZ2V0cyBkZXN0cm95ZWQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHA6Cisg
ICAgICAgIChwYWdlTG9hZEZhaWxlZCk6CisgICAgICAgICh3ZWJraXRBdXRoZW50aWNhdGlvbkRp
YWxvZ0luaXRpYWxpemUpOgorICAgICAgICAod2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dEaXNw
b3NlKToKKyAgICAgICAgKHdlYmtpdF9hdXRoZW50aWNhdGlvbl9kaWFsb2dfY2xhc3NfaW5pdCk6
CisgICAgICAgICh3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ05ldyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZp
ZXdBdXRoZW50aWNhdGUpOgorCiAyMDEzLTA4LTIwICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxh
bGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF1bV0syXSBEb2Vzbid0IGJ1aWxk
IHdpdGhvdXQgUGx1Z2luLXByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nLmNwcAppbmRl
eCBiM2FkZjA0OWE2YzNkMzg5ZmJmMzg5YzAyY2EyYzJkMmEyZWNmMzExLi41MTY3MGNlNWNlMWMx
NjdlMDNkMTFmOGM5ZTRjYzNjYTVhZTI3N2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cu
Y3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiV2ViS2l0QXV0aGVudGljYXRpb25SZXF1
ZXN0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdENyZWRlbnRpYWxQcml2YXRlLmgiCiAjaW5j
bHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgorI2luY2x1ZGUgIldlYktpdFdlYlZpZXcuaCIKIAogdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtMzEsNyArMzIsOSBAQCBzdHJ1Y3QgX1dlYktpdEF1
dGhlbnRpY2F0aW9uRGlhbG9nUHJpdmF0ZSB7CiAgICAgR1JlZlB0cjxXZWJLaXRBdXRoZW50aWNh
dGlvblJlcXVlc3Q+IHJlcXVlc3Q7CiAgICAgR3RrV2lkZ2V0KiBhdXRoV2lkZ2V0OwogICAgIEd0
a1dpZGdldCogZGVmYXVsdEJ1dHRvbjsKKyAgICB1bnNpZ25lZCBsb25nIGxvYWRGYWlsZWRFdmVu
dElEOwogICAgIEdSZWZQdHI8R3RrU3R5bGVDb250ZXh0PiBzdHlsZUNvbnRleHQ7CisgICAgV2Vi
S2l0V2ViVmlldyogd2ViVmlldzsKIH07CiAKIFdFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRBdXRo
ZW50aWNhdGlvbkRpYWxvZywgd2Via2l0X2F1dGhlbnRpY2F0aW9uX2RpYWxvZywgR1RLX1RZUEVf
RVZFTlRfQk9YKQpAQCAtNTEsNyArNTQsMTMgQEAgc3RhdGljIHZvaWQgY2FuY2VsQnV0dG9uQ2xp
Y2tlZChHdGtCdXR0b24qLCBXZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZyogYXV0aERpYWwKICAg
ICBndGtfd2lkZ2V0X2Rlc3Ryb3koR1RLX1dJREdFVChhdXRoRGlhbG9nKSk7CiB9CiAKLXN0YXRp
YyB2b2lkIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nSW5pdGlhbGl6ZShXZWJLaXRBdXRoZW50
aWNhdGlvbkRpYWxvZyogYXV0aERpYWxvZywgQ3JlZGVudGlhbFN0b3JhZ2VNb2RlIGNyZWRlbnRp
YWxTdG9yYWdlTW9kZSkKK3N0YXRpYyB2b2lkIHBhZ2VMb2FkRmFpbGVkKFdlYktpdFdlYlZpZXcq
LCBXZWJLaXRMb2FkRXZlbnQsIGNvbnN0IGNoYXIqLCBHRXJyb3IqLCBXZWJLaXRBdXRoZW50aWNh
dGlvbkRpYWxvZyogYXV0aERpYWxvZykKK3sKKyAgICB3ZWJraXRfYXV0aGVudGljYXRpb25fcmVx
dWVzdF9jYW5jZWwoYXV0aERpYWxvZy0+cHJpdi0+cmVxdWVzdC5nZXQoKSk7CisgICAgZ3RrX3dp
ZGdldF9kZXN0cm95KEdUS19XSURHRVQoYXV0aERpYWxvZykpOworfQorCitzdGF0aWMgdm9pZCB3
ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ0luaXRpYWxpemUoV2ViS2l0QXV0aGVudGljYXRpb25E
aWFsb2cqIGF1dGhEaWFsb2csIENyZWRlbnRpYWxTdG9yYWdlTW9kZSBjcmVkZW50aWFsU3RvcmFn
ZU1vZGUsIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAgICAgR3RrV2lkZ2V0KiBmcmFtZSA9
IGd0a19mcmFtZV9uZXcoMCk7CiAgICAgZ3RrX2ZyYW1lX3NldF9zaGFkb3dfdHlwZShHVEtfRlJB
TUUoZnJhbWUpLCBHVEtfU0hBRE9XX0lOKTsKQEAgLTg4LDYgKzk3LDkgQEAgc3RhdGljIHZvaWQg
d2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dJbml0aWFsaXplKFdlYktpdEF1dGhlbnRpY2F0aW9u
RGlhbG9nKiBhdXQKIAogICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoYXV0aERp
YWxvZyksIGZyYW1lKTsKICAgICBndGtfd2lkZ2V0X3Nob3coZnJhbWUpOworCisgICAgYXV0aERp
YWxvZy0+cHJpdi0+d2ViVmlldyA9IHdlYlZpZXc7CisgICAgYXV0aERpYWxvZy0+cHJpdi0+bG9h
ZEZhaWxlZEV2ZW50SUQgPSBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJsb2FkLWZhaWxlZCIs
IEdfQ0FMTEJBQ0socGFnZUxvYWRGYWlsZWQpLCBhdXRoRGlhbG9nKTsKIH0KIAogc3RhdGljIGdi
b29sZWFuIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nRHJhdyhHdGtXaWRnZXQqIHdpZGdldCwg
Y2Fpcm9fdCogY3IpCkBAIC0xMjQsMjAgKzEzNiwzMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRBdXRo
ZW50aWNhdGlvbkRpYWxvZ0NvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICBndGtfd2lk
Z2V0X3BhdGhfZnJlZShwYXRoKTsKIH0KIAorc3RhdGljIHZvaWQgd2Via2l0QXV0aGVudGljYXRp
b25EaWFsb2dEaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKK3sKKyAgICBXZWJLaXRBdXRoZW50aWNh
dGlvbkRpYWxvZ1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfQVVUSEVOVElDQVRJT05fRElBTE9HKG9i
amVjdCktPnByaXY7CisgICAgaWYgKHByaXYtPmxvYWRGYWlsZWRFdmVudElEKSB7CisgICAgICAg
IGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdChwcml2LT53ZWJWaWV3LCBwcml2LT5sb2FkRmFp
bGVkRXZlbnRJRCk7CisgICAgICAgIHByaXYtPmxvYWRGYWlsZWRFdmVudElEID0gMDsKKyAgICB9
CisKKyAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRfYXV0aGVudGljYXRpb25fZGlhbG9nX3BhcmVu
dF9jbGFzcyktPmRpc3Bvc2Uob2JqZWN0KTsKK30KKwogc3RhdGljIHZvaWQgd2Via2l0X2F1dGhl
bnRpY2F0aW9uX2RpYWxvZ19jbGFzc19pbml0KFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nQ2xh
c3MqIGtsYXNzKQogewogICAgIEdPYmplY3RDbGFzcyogb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9D
TEFTUyhrbGFzcyk7CiAgICAgb2JqZWN0Q2xhc3MtPmNvbnN0cnVjdGVkID0gd2Via2l0QXV0aGVu
dGljYXRpb25EaWFsb2dDb25zdHJ1Y3RlZDsKKyAgICBvYmplY3RDbGFzcy0+ZGlzcG9zZSA9IHdl
YmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nRGlzcG9zZTsKIAogICAgIEd0a1dpZGdldENsYXNzKiB3
aWRnZXRDbGFzcyA9IEdUS19XSURHRVRfQ0xBU1Moa2xhc3MpOwogICAgIHdpZGdldENsYXNzLT5k
cmF3ID0gd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dEcmF3OwogICAgIHdpZGdldENsYXNzLT5t
YXAgPSB3ZWJraXRBdXRoZW50aWNhdGlvbkRpYWxvZ01hcDsKIH0KIAotR3RrV2lkZ2V0KiB3ZWJr
aXRBdXRoZW50aWNhdGlvbkRpYWxvZ05ldyhXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqIHJl
cXVlc3QsIENyZWRlbnRpYWxTdG9yYWdlTW9kZSBtb2RlKQorR3RrV2lkZ2V0KiB3ZWJraXRBdXRo
ZW50aWNhdGlvbkRpYWxvZ05ldyhXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqIHJlcXVlc3Qs
IENyZWRlbnRpYWxTdG9yYWdlTW9kZSBtb2RlLCBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogewog
ICAgIFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nKiBhdXRoRGlhbG9nID0gV0VCS0lUX0FVVEhF
TlRJQ0FUSU9OX0RJQUxPRyhnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfQVVUSEVOVElDQVRJT05f
RElBTE9HLCBOVUxMKSk7CiAgICAgYXV0aERpYWxvZy0+cHJpdi0+cmVxdWVzdCA9IHJlcXVlc3Q7
Ci0gICAgd2Via2l0QXV0aGVudGljYXRpb25EaWFsb2dJbml0aWFsaXplKGF1dGhEaWFsb2csIG1v
ZGUpOworICAgIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nSW5pdGlhbGl6ZShhdXRoRGlhbG9n
LCBtb2RlLCB3ZWJWaWV3KTsKICAgICByZXR1cm4gR1RLX1dJREdFVChhdXRoRGlhbG9nKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhl
bnRpY2F0aW9uRGlhbG9nLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRBdXRoZW50aWNhdGlvbkRpYWxvZy5oCmluZGV4IDYxMGZhZDY1NTFkYTVkMjk0YjBmOTczNmMx
NGRjODFlYmMxZjMwZTMuLjNmMjhiMWE5NTRkNWE3ZWVlZGM3N2Q5ODJhZjk4YTA3YTRiOTlkNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEF1dGhl
bnRpY2F0aW9uRGlhbG9nLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0QXV0aGVudGljYXRpb25EaWFsb2cuaApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVk
ZSAiV2ViS2l0QXV0aGVudGljYXRpb25SZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0QXV0aGVu
dGljYXRpb25XaWRnZXQuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAjaW5jbHVkZSA8
Z3RrL2d0ay5oPgogCiBHX0JFR0lOX0RFQ0xTCkBAIC00OCw3ICs0OSw3IEBAIHN0cnVjdCBfV2Vi
S2l0QXV0aGVudGljYXRpb25EaWFsb2dDbGFzcyB7CiB9OwogCiBHVHlwZSB3ZWJraXRfYXV0aGVu
dGljYXRpb25fZGlhbG9nX2dldF90eXBlKCk7Ci1HdGtXaWRnZXQqIHdlYmtpdEF1dGhlbnRpY2F0
aW9uRGlhbG9nTmV3KFdlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdCosIENyZWRlbnRpYWxTdG9y
YWdlTW9kZSk7CitHdGtXaWRnZXQqIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nTmV3KFdlYktp
dEF1dGhlbnRpY2F0aW9uUmVxdWVzdCosIENyZWRlbnRpYWxTdG9yYWdlTW9kZSwgV2ViS2l0V2Vi
VmlldyopOwogCiBHX0VORF9ERUNMUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGJjYzFkYjcyOTliOGQ3MDk2YzlkMmI4
YjE4M2M0N2U1YmQ5N2I5OTEuLjcyZmU2NmE0MmVhZDIyZmFmMmQ5YTQ4NWE5OTEyMjUzMjYyMmZl
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuY3BwCkBAIC00MzUsNyArNDM1LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Rp
c2Nvbm5lY3RGYXZpY29uRGF0YWJhc2VTaWduYWxIYW5kbGVycyhXZWJLaXRXZWJWaWV3Kgogc3Rh
dGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdBdXRoZW50aWNhdGUoV2ViS2l0V2ViVmlldyogd2Vi
VmlldywgV2ViS2l0QXV0aGVudGljYXRpb25SZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIENyZWRl
bnRpYWxTdG9yYWdlTW9kZSBjcmVkZW50aWFsU3RvcmFnZU1vZGUgPSB3ZWJraXRfYXV0aGVudGlj
YXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVkZW50aWFscyhyZXF1ZXN0KSA/IEFsbG93UGVyc2lz
dGVudFN0b3JhZ2UgOiBEaXNhbGxvd1BlcnNpc3RlbnRTdG9yYWdlOwotICAgIHdlYmtpdFdlYlZp
ZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFsb2coV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmll
dyksIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9nTmV3KHJlcXVlc3QsIGNyZWRlbnRpYWxTdG9y
YWdlTW9kZSkpOworICAgIHdlYmtpdFdlYlZpZXdCYXNlQWRkQXV0aGVudGljYXRpb25EaWFsb2co
V0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldyksIHdlYmtpdEF1dGhlbnRpY2F0aW9uRGlhbG9n
TmV3KHJlcXVlc3QsIGNyZWRlbnRpYWxTdG9yYWdlTW9kZSwgd2ViVmlldykpOwogCiAgICAgcmV0
dXJuIFRSVUU7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>