<?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>28466</bug_id>
          
          <creation_ts>2009-08-19 12:20:53 -0700</creation_ts>
          <short_desc>[GTK] When downloading a file, two GET requests are sent to the HTTP server</short_desc>
          <delta_ts>2009-08-31 20:30:48 -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>PC</rep_platform>
          <op_sys>Linux</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="Enrico Tröger">enrico.troeger</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>darin</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>141545</commentid>
    <comment_count>0</comment_count>
    <who name="Enrico Tröger">enrico.troeger</who>
    <bug_when>2009-08-19 12:20:53 -0700</bug_when>
    <thetext>When trying to download a file with WebKitGTK, it sends two HTTP GET requests to the server for some reason.

In most cases this doesn&apos;t matter, but in some cases it does indeed.

Example use case:
One-time downloads as sometimes seen on download-as-a-service offers.
The user requests a file to download, then the user gets an id or token for the download and with this token, the file can be downloaded once.
This works in Firefox 3.0 and 3.5, Arora (with the Qt Webkit port), Opera and Internet Explorer but not with WebKitGTK.

As far as I observed it, WebKitGTK sends the first request once the download link is clicked and this request is immediately cancelled. After the user chose an action to handle the download (i.e. chose a download location), the second GET request is sent. Services like the above mentioned, deliver the file already on the first GET request, the second request is then invalid as the download URL is only valid one time.

To ease testing, I set up a sample service on
http://78.31.68.117:18695/dstest.py?action=request&amp;data=test.deb

To reproduce:
- open the above URL in a WebKitGTK browser
- then open the displayed URL in the browser
- a download is started
- check the downloaded file: it doesn&apos;t contain a Debian package but a HTTP error page because the generated URL was called twice by WebKitGTK


Tested with WebKitGTK 1.1.12, Midori (GIT) and Epiphany 2.27.90.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141957</commentid>
    <comment_count>1</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-08-21 13:33:39 -0700</bug_when>
    <thetext>I am almost sure this is caused by this:

void FrameLoaderClient::download(ResourceHandle* handle, const ResourceRequest&amp; request, const ResourceRequest&amp;, const ResourceResponse&amp; response)
{
    // FIXME: We could reuse the same handle here, but when I tried
    // implementing that the main load would fail and stop, so I have
    // simplified this case for now.
    handle-&gt;cancel();

We should really use the handle which already exists for the download, but I could not get it to work when I tried, like I say in the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143725</commentid>
    <comment_count>2</comment_count>
      <attachid>38834</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-08-31 14:26:38 -0700</bug_when>
    <thetext>Created attachment 38834
reuse connection for download

This patch should fix this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143733</commentid>
    <comment_count>3</comment_count>
    <who name="Enrico Tröger">enrico.troeger</who>
    <bug_when>2009-08-31 14:52:52 -0700</bug_when>
    <thetext>Yes, the patch seems to work. Though I tested it only with my special use case as posted in the original description.

Good job!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143756</commentid>
    <comment_count>4</comment_count>
      <attachid>38834</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-08-31 16:56:14 -0700</bug_when>
    <thetext>Comment on attachment 38834
reuse connection for download

+        // us back after we release it, unless it has been replaced by someone
+        // else.

I&apos;d just put the else on the previous line - it&apos;s not too long by WebKit standards.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143771</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-08-31 20:30:48 -0700</bug_when>
    <thetext>Landed as r47916.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38834</attachid>
            <date>2009-08-31 14:26:38 -0700</date>
            <delta_ts>2009-08-31 16:56:14 -0700</delta_ts>
            <desc>reuse connection for download</desc>
            <filename>0001-reuse-connection-for-download.patch</filename>
            <type>text/plain</type>
            <size>9041</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA1ZTZiMmQxYTc2MzViMGI2OTJkZTNhNDc3ZDRhMThjMjAwNzZkMTk0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGd1c3Rhdm8ubm9yb25o
YUBjb2xsYWJvcmEuY28udWs+CkRhdGU6IE1vbiwgMzEgQXVnIDIwMDkgMTg6MTM6NTkgLTAzMDAK
U3ViamVjdDogW1BBVENIXSByZXVzZSBjb25uZWN0aW9uIGZvciBkb3dubG9hZAoKLS0tCiBXZWJD
b3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysr
KysrKysrCiBXZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgICAgICAgICAgICAgICAg
ICB8ICAgIDYgKystCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTkgKysrKysrKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmNwcCB8ICAgIDkgKy0tLS0KIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGRvd25sb2FkLmNwcCAgICAgICAgICAgICAgIHwgICAzMSArKysrKysrKysrKysrKysrKyst
LQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oICAgICAgICAgICAgICAgICAgfCAg
ICA1ICsrLQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgICAgICAgICAgICAg
ICAgfCAgICA5ICsrKystCiA3IGZpbGVzIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDE1IGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZTBiYThlMi4uNzUwMjdhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wOC0zMSAg
R3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg0NjYKKyAgICAgICAgV2hlbiBkb3du
bG9hZGluZyBhIGZpbGUsIHR3byBHRVQgcmVxdWVzdHMgYXJlIHNlbnQgdG8gdGhlIEhUVFAgc2Vy
dmVyCisKKyAgICAgICAgQ2FuJ3QgdGhpbmsgb2YgYSB3YXkgdG8gdGVzdCB0aGlzLgorCisgICAg
ICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3VyY2VzKTogb25seSBudWxsaWZ5IHRoZQorICAgICAgICBo
YW5kbGUncyBjbGllbnQgd2hlbiBpdCBpcyB0aGUgUmVzb3VyY2VMb2FkZXIsIHRvIHN1cHBvcnQg
dGhlIGNhc2UKKyAgICAgICAgaW4gd2hpY2ggYSBkb3dubG9hZCBBUEkgdXNlcyBhIGRpZmZlcmVu
dCBjbGllbnQKKwogMjAwOS0wOC0yOCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmNwcAppbmRleCA4ZTMxYTdlLi5lZTZmMmU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC05NCw4ICs5NCwxMCBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpyZWxlYXNlUmVzb3Vy
Y2VzKCkKIAogICAgIGlmIChtX2hhbmRsZSkgewogICAgICAgICAvLyBDbGVhciBvdXQgdGhlIFJl
c291cmNlSGFuZGxlJ3MgY2xpZW50IHNvIHRoYXQgaXQgZG9lc24ndCB0cnkgdG8gY2FsbAotICAg
ICAgICAvLyB1cyBiYWNrIGFmdGVyIHdlIHJlbGVhc2UgaXQuCi0gICAgICAgIG1faGFuZGxlLT5z
ZXRDbGllbnQoMCk7CisgICAgICAgIC8vIHVzIGJhY2sgYWZ0ZXIgd2UgcmVsZWFzZSBpdCwgdW5s
ZXNzIGl0IGhhcyBiZWVuIHJlcGxhY2VkIGJ5IHNvbWVvbmUKKyAgICAgICAgLy8gZWxzZS4KKyAg
ICAgICAgaWYgKG1faGFuZGxlLT5jbGllbnQoKSA9PSB0aGlzKQorICAgICAgICAgICAgbV9oYW5k
bGUtPnNldENsaWVudCgwKTsKICAgICAgICAgbV9oYW5kbGUgPSAwOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBh
OWQ4ZTdlLi5lYjI2OTMwIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDA5LTA4LTMxICBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODQ2NgorICAgICAgICBXaGVuIGRvd25sb2FkaW5n
IGEgZmlsZSwgdHdvIEdFVCByZXF1ZXN0cyBhcmUgc2VudCB0byB0aGUgSFRUUCBzZXJ2ZXIKKwor
ICAgICAgICBTdXBwb3J0IHJldXNpbmcgYSBjb25uZWN0aW9uIHRoYXQgaXMgYWxyZWFkeSBvbmdv
aW5nLCBpbnN0ZWFkIG9mCisgICAgICAgIGNhbmNlbGxpbmcgdGhlIGNvbm5lY3Rpb24gYW5kIGNy
ZWF0aW5nIGFub3RoZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojpkb3dubG9h
ZCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcDoKKyAgICAgICAgKHdlYmtp
dF9kb3dubG9hZF9uZXdfd2l0aF9oYW5kbGUpOgorICAgICAgICAod2Via2l0X2Rvd25sb2FkX3N0
YXJ0KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5oOgorICAgICAgICAqIHdlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19yZXF1ZXN0X2Rv
d25sb2FkKToKKwogMjAwOS0wOC0yOCAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5u
b3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBIb2xnZXIgRnJl
eXRoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRHdGsuY3BwCmluZGV4IDY4YzA0MzUuLmI1YjI0NDEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC04NTgsMTUgKzg1OCwx
MCBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERpZEZhaWxMb2FkKGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojpkb3dubG9hZChS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQog
ewotICAgIC8vIEZJWE1FOiBXZSBjb3VsZCByZXVzZSB0aGUgc2FtZSBoYW5kbGUgaGVyZSwgYnV0
IHdoZW4gSSB0cmllZAotICAgIC8vIGltcGxlbWVudGluZyB0aGF0IHRoZSBtYWluIGxvYWQgd291
bGQgZmFpbCBhbmQgc3RvcCwgc28gSSBoYXZlCi0gICAgLy8gc2ltcGxpZmllZCB0aGlzIGNhc2Ug
Zm9yIG5vdy4KLSAgICBoYW5kbGUtPmNhbmNlbCgpOwotCi0gICAgV2ViS2l0TmV0d29ya1JlcXVl
c3QqIG5ldHdvcmtSZXF1ZXN0ID0gd2Via2l0X25ldHdvcmtfcmVxdWVzdF9uZXcocmVxdWVzdC51
cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAgICBXZWJLaXROZXR3b3JrUmVxdWVzdCog
bmV0d29ya1JlcXVlc3QgPSB3ZWJraXRfbmV0d29ya19yZXF1ZXN0X25ld193aXRoX2NvcmVfcmVx
dWVzdChyZXF1ZXN0KTsKICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gZ2V0Vmlld0Zyb21GcmFt
ZShtX2ZyYW1lKTsKIAotICAgIHdlYmtpdF93ZWJfdmlld19yZXF1ZXN0X2Rvd25sb2FkKHZpZXcs
IG5ldHdvcmtSZXF1ZXN0LCByZXNwb25zZSk7CisgICAgd2Via2l0X3dlYl92aWV3X3JlcXVlc3Rf
ZG93bmxvYWQodmlldywgbmV0d29ya1JlcXVlc3QsIHJlc3BvbnNlLCBoYW5kbGUpOwogICAgIGdf
b2JqZWN0X3VucmVmKG5ldHdvcmtSZXF1ZXN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93
bmxvYWQuY3BwCmluZGV4IGMwYzZlYTcuLmRhNTg5OGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRk
b3dubG9hZC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGll
bnQuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUg
IndlYmtpdGRvd25sb2FkLmgiCkBAIC0xMDAsNiArMTAxLDcgQEAgZW51bSB7CiBHX0RFRklORV9U
WVBFKFdlYktpdERvd25sb2FkLCB3ZWJraXRfZG93bmxvYWQsIEdfVFlQRV9PQkpFQ1QpOwogCiAK
K3N0YXRpYyB2b2lkIHdlYmtpdF9kb3dubG9hZF9zZXRfcmVzcG9uc2UoV2ViS2l0RG93bmxvYWQq
IGRvd25sb2FkLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSk7CiBzdGF0aWMgdm9p
ZCB3ZWJraXRfZG93bmxvYWRfc2V0X3N0YXR1cyhXZWJLaXREb3dubG9hZCogZG93bmxvYWQsIFdl
YktpdERvd25sb2FkU3RhdHVzIHN0YXR1cyk7CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb3dubG9h
ZF9kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKQEAgLTM3Myw2ICszNzUsMjUgQEAgV2ViS2l0RG93
bmxvYWQqIHdlYmtpdF9kb3dubG9hZF9uZXcoV2ViS2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3Qp
CiAgICAgcmV0dXJuIFdFQktJVF9ET1dOTE9BRChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfRE9X
TkxPQUQsICJuZXR3b3JrLXJlcXVlc3QiLCByZXF1ZXN0LCBOVUxMKSk7CiB9CiAKKy8vIEludGVy
bmFsIHVzYWdlIG9ubHkKK1dlYktpdERvd25sb2FkKiB3ZWJraXRfZG93bmxvYWRfbmV3X3dpdGhf
aGFuZGxlKFdlYktpdE5ldHdvcmtSZXF1ZXN0KiByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
K3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChyZXF1ZXN0LCBOVUxMKTsKKworICAgIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgc291cF9z
ZXNzaW9uX3BhdXNlX21lc3NhZ2Uod2Via2l0X2dldF9kZWZhdWx0X3Nlc3Npb24oKSwgZC0+bV9t
c2cpOworCisgICAgV2ViS2l0RG93bmxvYWQqIGRvd25sb2FkID0gV0VCS0lUX0RPV05MT0FEKGdf
b2JqZWN0X25ldyhXRUJLSVRfVFlQRV9ET1dOTE9BRCwgIm5ldHdvcmstcmVxdWVzdCIsIHJlcXVl
c3QsIE5VTEwpKTsKKyAgICBXZWJLaXREb3dubG9hZFByaXZhdGUqIHByaXYgPSBkb3dubG9hZC0+
cHJpdjsKKworICAgIGhhbmRsZS0+cmVmKCk7CisgICAgcHJpdi0+cmVzb3VyY2VIYW5kbGUgPSBo
YW5kbGU7CisKKyAgICB3ZWJraXRfZG93bmxvYWRfc2V0X3Jlc3BvbnNlKGRvd25sb2FkLCByZXNw
b25zZSk7CisKKyAgICByZXR1cm4gZG93bmxvYWQ7Cit9CisKIHN0YXRpYyBnYm9vbGVhbiB3ZWJr
aXRfZG93bmxvYWRfb3Blbl9zdHJlYW1fZm9yX3VyaShXZWJLaXREb3dubG9hZCogZG93bmxvYWQs
IGNvbnN0IGdjaGFyKiB1cmksIGdib29sZWFuIGFwcGVuZD1GQUxTRSkKIHsKICAgICBnX3JldHVy
bl92YWxfaWZfZmFpbCh1cmksIEZBTFNFKTsKQEAgLTQyNSwxMCArNDQ2LDE0IEBAIHZvaWQgd2Vi
a2l0X2Rvd25sb2FkX3N0YXJ0KFdlYktpdERvd25sb2FkKiBkb3dubG9hZCkKICAgICBnX3JldHVy
bl9pZl9mYWlsKHByaXYtPnN0YXR1cyA9PSBXRUJLSVRfRE9XTkxPQURfU1RBVFVTX0NSRUFURUQp
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwocHJpdi0+dGltZXIgPT0gTlVMTCk7CiAKLSAgICBpZiAo
cHJpdi0+cmVzb3VyY2VIYW5kbGUpCi0gICAgICAgIHByaXYtPnJlc291cmNlSGFuZGxlLT5zZXRD
bGllbnQocHJpdi0+ZG93bmxvYWRDbGllbnQpOwotICAgIGVsc2UKKyAgICBpZiAoIXByaXYtPnJl
c291cmNlSGFuZGxlKQogICAgICAgICBwcml2LT5yZXNvdXJjZUhhbmRsZSA9IFJlc291cmNlSGFu
ZGxlOjpjcmVhdGUoY29yZShwcml2LT5uZXR3b3JrUmVxdWVzdCksIHByaXYtPmRvd25sb2FkQ2xp
ZW50LCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcHJpdi0+
cmVzb3VyY2VIYW5kbGUtPnNldENsaWVudChwcml2LT5kb3dubG9hZENsaWVudCk7CisKKyAgICAg
ICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCogZCA9IHByaXYtPnJlc291cmNlSGFuZGxlLT5nZXRJ
bnRlcm5hbCgpOworICAgICAgICBzb3VwX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKHdlYmtpdF9n
ZXRfZGVmYXVsdF9zZXNzaW9uKCksIGQtPm1fbXNnKTsKKyAgICB9CiAKICAgICBwcml2LT50aW1l
ciA9IGdfdGltZXJfbmV3KCk7CiAgICAgd2Via2l0X2Rvd25sb2FkX29wZW5fc3RyZWFtX2Zvcl91
cmkoZG93bmxvYWQsIHByaXYtPmRlc3RpbmF0aW9uVVJJKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZh
dGUuaAppbmRleCAzZGM4N2U0Li44YzIwNDFkIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRwcml2YXRlLmgKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5o
CkBAIC0xNzUsNyArMTc1LDEwIEBAIGV4dGVybiAiQyIgewogICAgIHdlYmtpdF93ZWJfdmlld19u
b3RpZnlfcmVhZHkgKFdlYktpdFdlYlZpZXcqIHdlYl92aWV3KTsKIAogICAgIHZvaWQKLSAgICB3
ZWJraXRfd2ViX3ZpZXdfcmVxdWVzdF9kb3dubG9hZChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldywg
V2ViS2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlID0gV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSgpKTsKKyAgICB3ZWJr
aXRfd2ViX3ZpZXdfcmVxdWVzdF9kb3dubG9hZChXZWJLaXRXZWJWaWV3KiB3ZWJfdmlldywgV2Vi
S2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlID0gV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSgpLCBXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZSogaGFuZGxlID0gMCk7CisKKyAgICBXZWJLaXREb3dubG9hZCoKKyAgICB3ZWJr
aXRfZG93bmxvYWRfbmV3X3dpdGhfaGFuZGxlKFdlYktpdE5ldHdvcmtSZXF1ZXN0KiByZXF1ZXN0
LCBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSk7CiAKICAgICB2b2lkCiAgICAgd2Via2l0X2Rvd25sb2FkX3Nl
dF9zdWdnZXN0ZWRfZmlsZW5hbWUoV2ViS2l0RG93bmxvYWQqIGRvd25sb2FkLCBjb25zdCBnY2hh
ciogc3VnZ2VzdGVkRmlsZW5hbWUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRl
eCA4ZDBmMDhiLi40YzhmY2ExIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3
ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApAQCAt
MjUwOSwxMSArMjUwOSwxNiBAQCB2b2lkIHdlYmtpdF93ZWJfdmlld19ub3RpZnlfcmVhZHkoV2Vi
S2l0V2ViVmlldyogd2ViVmlldykKICAgICBnX3NpZ25hbF9lbWl0KHdlYlZpZXcsIHdlYmtpdF93
ZWJfdmlld19zaWduYWxzW1dFQl9WSUVXX1JFQURZXSwgMCwgJmlzSGFuZGxlZCk7CiB9CiAKLXZv
aWQgd2Via2l0X3dlYl92aWV3X3JlcXVlc3RfZG93bmxvYWQoV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViS2l0TmV0d29ya1JlcXVlc3QqIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQordm9pZCB3ZWJraXRfd2ViX3ZpZXdfcmVxdWVzdF9kb3dubG9hZChXZWJLaXRX
ZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXROZXR3b3JrUmVxdWVzdCogcmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiB7CiAgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldykpOwogCi0gICAgV2Vi
S2l0RG93bmxvYWQqIGRvd25sb2FkID0gd2Via2l0X2Rvd25sb2FkX25ldyhyZXF1ZXN0KTsKKyAg
ICBXZWJLaXREb3dubG9hZCogZG93bmxvYWQ7CisKKyAgICBpZiAoaGFuZGxlKQorICAgICAgICBk
b3dubG9hZCA9IHdlYmtpdF9kb3dubG9hZF9uZXdfd2l0aF9oYW5kbGUocmVxdWVzdCwgaGFuZGxl
LCByZXNwb25zZSk7CisgICAgZWxzZQorICAgICAgICBkb3dubG9hZCA9IHdlYmtpdF9kb3dubG9h
ZF9uZXcocmVxdWVzdCk7CiAKICAgICBpZiAoIXJlc3BvbnNlLmlzTnVsbCgpICYmICFyZXNwb25z
ZS5zdWdnZXN0ZWRGaWxlbmFtZSgpLmlzRW1wdHkoKSkKICAgICAgICAgd2Via2l0X2Rvd25sb2Fk
X3NldF9zdWdnZXN0ZWRfZmlsZW5hbWUoZG93bmxvYWQsIHJlc3BvbnNlLnN1Z2dlc3RlZEZpbGVu
YW1lKCkudXRmOCgpLmRhdGEoKSk7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="19823"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="19824"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>