<?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>40148</bug_id>
          
          <creation_ts>2010-06-03 17:01:41 -0700</creation_ts>
          <short_desc>Client-based Geolocation does not handle multiple simultaneous requests</short_desc>
          <delta_ts>2010-06-11 01:51:25 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>40374</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>grahamperrin</cc>
    
    <cc>sam</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>233997</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-03 17:01:41 -0700</bug_when>
    <thetext>Client-based Geolocation does not handle multiple simultaneous requests to Geolocation methods on a single Geolocation object.

For client-based Geolocation, Geolocation::startUpdating() adds an observer to the GeolocationController for each new method call. However, the GeolocationController asserts that the same observer is not added twice.

Instead, we should allow the same observer to be added multiple times. There&apos;s no need to keep track of the number of times a given observer is added as Geolocation::stopUpdating(), which removes the observer, is only called when all requests in the Geolocation object are complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234001</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-03 17:06:25 -0700</bug_when>
    <thetext>See also: bug 39908.

I&apos;m told the original design was that one doesn&apos;t add an observer multiple times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234146</commentid>
    <comment_count>2</comment_count>
      <attachid>57861</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-04 03:30:33 -0700</bug_when>
    <thetext>Created attachment 57861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234149</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-04 03:34:22 -0700</bug_when>
    <thetext>&gt; I&apos;m told the original design was that one doesn&apos;t add an observer multiple
&gt; times.
No, the original Geolocation implementation by Greg uses multiple calls to startUpdating(). This is required so that the options for each request can be passed to the provider. When client-based Geolocation was added, each call to startUpdating() adds the observer to the controller.

Note that this change fixes reentrant-error.html reentrant-success.html (see Bug 
39908) so my patch removes these from the mac skipped list.

maximum-age.html is still broken, due to more serious problems with the client-based implementation. Once this change lands, I&apos;ll update Bug 39908 to reflect this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234267</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-04 10:30:04 -0700</bug_when>
    <thetext>+        on the mac skipped list. reentrant-error.html required a minor tweak as the mac
+        GeolocationController can only provide an error code of 2 (POSITION_UNAVAILABLE)

Maybe it would be useful to also have a test for reentrant &quot;permission denied&quot; error, since that uses a different code path, at least with client-based Geolocation.

The patch looks good to me, but it ideally, Sam should review it, since it touches one of the assumptions that were believed true when writing client based geolocation code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234285</commentid>
    <comment_count>5</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-04 10:55:47 -0700</bug_when>
    <thetext>&gt; Maybe it would be useful to also have a test for reentrant &quot;permission denied&quot;
&gt; error, since that uses a different code path, at least with client-based
&gt; Geolocation.
Sure, filed Bug 40174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236256</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-10 02:30:29 -0700</bug_when>
    <thetext>Sam, could you take a look at this please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236507</commentid>
    <comment_count>7</comment_count>
      <attachid>57861</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-10 13:28:15 -0700</bug_when>
    <thetext>Comment on attachment 57861
Patch

Sam looked at this, and agrees that this is right. Thanks for fixing the problem!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236732</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-06-11 01:51:25 -0700</bug_when>
    <thetext>Committed r60998: &lt;http://trac.webkit.org/changeset/60998&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57861</attachid>
            <date>2010-06-04 03:30:33 -0700</date>
            <delta_ts>2010-06-11 01:24:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40148-20100604113031.patch</filename>
            <type>text/plain</type>
            <size>7265</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDY3MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDYtMDQgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENsaWVudC1iYXNlZCBHZW9sb2NhdGlvbiBkb2VzIG5vdCBoYW5kbGUgbXVsdGlwbGUgc2ltdWx0
YW5lb3VzIHJlcXVlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MDE0OAorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0dlb2xvY2F0aW9uL211bHRp
cGxlLXJlcXVlc3RzLmh0bWwKKworICAgICAgICBUaGUgR2VvbG9jYXRpb24gbXVzdCBoYW5kbGUg
bXVsdGlwbGUgY2FsbHMgdG8gYWRkT2JzZXJ2ZXIoKSBmcm9tIHRoZSBzYW1lIEdlb2xvY2F0aW9u
IG9iamVjdC4KKworICAgICAgICAqIHBhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6YWRkT2JzZXJ2ZXIpOgorCiAy
MDEwLTA2LTA0ICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTmF0ZSBDaGFwaW4uCkluZGV4OiBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
b250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmNwcAkocmV2aXNpb24gNjA2NjYpCisrKyBXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsMTAgQEAgR2VvbG9jYXRp
b25Db250cm9sbGVyOjp+R2VvbG9jYXRpb25Db250cgogCiB2b2lkIEdlb2xvY2F0aW9uQ29udHJv
bGxlcjo6YWRkT2JzZXJ2ZXIoR2VvbG9jYXRpb24qIG9ic2VydmVyKQogewotICAgIEFTU0VSVCgh
bV9vYnNlcnZlcnMuY29udGFpbnMob2JzZXJ2ZXIpKTsKKyAgICAvLyBUaGlzIG1heSBiZSBjYWxs
ZWQgbXVsdGlwbGUgdGltZXMgd2l0aCB0aGUgc2FtZSBvYnNlcnZlciwgdGhvdWdoIHJlbW92ZU9i
c2VydmVyKCkKKyAgICAvLyBpcyBjYWxsZWQgb25seSBvbmNlIHdpdGggZWFjaC4KKyAgICBpZiAo
bV9vYnNlcnZlcnMuY29udGFpbnMob2JzZXJ2ZXIpKQorICAgICAgICByZXR1cm47CiAKICAgICBi
b29sIHdhc0VtcHR5ID0gbV9vYnNlcnZlcnMuaXNFbXB0eSgpOwogICAgIG1fb2JzZXJ2ZXJzLmFk
ZChvYnNlcnZlcik7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MDY3MCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEwLTA2LTA0ICBTdGV2
ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGllbnQtYmFzZWQgR2VvbG9jYXRpb24gZG9lcyBu
b3QgaGFuZGxlIG11bHRpcGxlIHNpbXVsdGFuZW91cyByZXF1ZXN0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAxNDgKKworICAgICAgICBUaGUgY2hh
bmdlIHRvIHRoZSBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgaXMgZXhwbGljaXRseSB0ZXN0ZWQgd2l0
aCBtdWx0aXBsZS1yZXF1ZXN0cy5odG1sLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gZml4
ZXMgcmVlbnRyYW50LWVycm9yLmh0bWwgYW5kIHJlZW50cmFudC1zdWNjZXNzLmh0bWwgd2hpY2gg
d2VyZSBwcmV2aW91c2x5CisgICAgICAgIG9uIHRoZSBtYWMgc2tpcHBlZCBsaXN0LiByZWVudHJh
bnQtZXJyb3IuaHRtbCByZXF1aXJlZCBhIG1pbm9yIHR3ZWFrIGFzIHRoZSBtYWMKKyAgICAgICAg
R2VvbG9jYXRpb25Db250cm9sbGVyIGNhbiBvbmx5IHByb3ZpZGUgYW4gZXJyb3IgY29kZSBvZiAy
IChQT1NJVElPTl9VTkFWQUlMQUJMRSkKKworICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9u
L211bHRpcGxlLXJlcXVlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vR2VvbG9jYXRpb24vbXVsdGlwbGUtcmVxdWVzdHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL211bHRpcGxlLXJlcXVlc3RzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvcmVlbnRy
YW50LWVycm9yLmpzOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Ta2lwcGVkOgorCiAyMDEwLTA2
LTA0ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBKZXJlbXkgT3Jsb3cuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9tdWx0aXBsZS1yZXF1ZXN0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vbXVsdGlwbGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vbXVsdGlw
bGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACitU
ZXN0cyB0aGF0IEdlb2xvY2F0aW9uIGNvcnJlY3RseSBoYW5kbGVzIG11bHRpcGxlIGNvbmN1cnJl
bnQgcmVxdWVzdHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9uZVNo
b3RDYWxsYmFja0ludm9rZWQgaXMgZmFsc2UKK1BBU1MgcG9zaXRpb24uY29vcmRzLmxhdGl0dWRl
IGlzIG1vY2tMYXRpdHVkZQorUEFTUyBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlIGlzIG1vY2tM
b25naXR1ZGUKK1BBU1MgcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5IGlzIG1vY2tBY2N1cmFjeQor
UEFTUyB3YXRjaENhbGxiYWNrSW52b2tlZCBpcyBmYWxzZQorUEFTUyBwb3NpdGlvbi5jb29yZHMu
bGF0aXR1ZGUgaXMgbW9ja0xhdGl0dWRlCitQQVNTIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUg
aXMgbW9ja0xvbmdpdHVkZQorUEFTUyBwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3kgaXMgbW9ja0Fj
Y3VyYWN5CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vbXVsdGlwbGUtcmVxdWVz
dHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9t
dWx0aXBsZS1yZXF1ZXN0cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vR2VvbG9jYXRpb24vbXVsdGlwbGUtcmVxdWVzdHMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9tdWx0aXBsZS1yZXF1ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9zY3JpcHQt
dGVzdHMvbXVsdGlwbGUtcmVxdWVzdHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL211bHRpcGxlLXJlcXVlc3RzLmpzCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3Rz
L211bHRpcGxlLXJlcXVlc3RzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBACitkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBHZW9sb2NhdGlvbiBjb3JyZWN0bHkgaGFuZGxlcyBtdWx0aXBs
ZSBjb25jdXJyZW50IHJlcXVlc3RzLiIpOworCit2YXIgbW9ja0xhdGl0dWRlID0gNTEuNDc4Owor
dmFyIG1vY2tMb25naXR1ZGUgPSAtMC4xNjY7Cit2YXIgbW9ja0FjY3VyYWN5ID0gMTAwOworCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKHRydWUpOworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRpdHVkZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9uZ2l0dWRlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2tB
Y2N1cmFjeSk7Cit9IGVsc2UKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdp
dGhvdXQgdGhlIExheW91dFRlc3RDb250cm9sbGVyJyk7CisKK3ZhciB3YXRjaENhbGxiYWNrSW52
b2tlZCA9IGZhbHNlOwordmFyIG9uZVNob3RDYWxsYmFja0ludm9rZWQgPSBmYWxzZTsKKworbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oZnVuY3Rpb24ocCkgeworICAgIHNob3Vs
ZEJlRmFsc2UoJ3dhdGNoQ2FsbGJhY2tJbnZva2VkJyk7CisgICAgd2F0Y2hDYWxsYmFja0ludm9r
ZWQgPSB0cnVlOworICAgIG1heWJlRmluaXNoVGVzdChwKTsKK30sIGZ1bmN0aW9uKCkgeworICAg
IHRlc3RGYWlsZWQoJ0Vycm9yIGNhbGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKKworbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQ
b3NpdGlvbihmdW5jdGlvbihwKSB7CisgICAgc2hvdWxkQmVGYWxzZSgnb25lU2hvdENhbGxiYWNr
SW52b2tlZCcpOworICAgIG9uZVNob3RDYWxsYmFja0ludm9rZWQgPSB0cnVlOworICAgIG1heWJl
RmluaXNoVGVzdChwKTsKK30sIGZ1bmN0aW9uKCkgeworICAgIHRlc3RGYWlsZWQoJ0Vycm9yIGNh
bGxiYWNrIGludm9rZWQgdW5leHBlY3RlZGx5Jyk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsK
KwordmFyIHBvc2l0aW9uOworZnVuY3Rpb24gbWF5YmVGaW5pc2hUZXN0KHApIHsKKyAgICBwb3Np
dGlvbiA9IHA7CisgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZScsICdtb2Nr
TGF0aXR1ZGUnKTsKKyAgICBzaG91bGRCZSgncG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZScsICdt
b2NrTG9uZ2l0dWRlJyk7CisgICAgc2hvdWxkQmUoJ3Bvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeScs
ICdtb2NrQWNjdXJhY3knKTsKKyAgICBpZiAod2F0Y2hDYWxsYmFja0ludm9rZWQgJiYgb25lU2hv
dENhbGxiYWNrSW52b2tlZCkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL3JlZW50
cmFudC1lcnJvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvcmVlbnRyYW50LWVycm9yLmpzCShyZXZpc2lvbiA2MDY2NykKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9yZWVudHJhbnQt
ZXJyb3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiBkZXNjcmlwdGlvbigiVGVz
dHMgdGhhdCByZWVudHJhbnQgY2FsbHMgdG8gR2VvbG9jYXRpb24gbWV0aG9kcyBmcm9tIHRoZSBl
cnJvciBjYWxsYmFjayBhcmUgT0suIik7CiAKLXZhciBtb2NrQ29kZSA9IDA7Cit2YXIgbW9ja0Nv
ZGUgPSAyOwogdmFyIG1vY2tNZXNzYWdlID0gJ3Rlc3QnOwogCiBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CkBAIC0yOSw3ICsyOSw2IEBAIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24KIH0pOwogCiBmdW5jdGlvbiBjb250aW51ZVRlc3QoKSB7Ci0gICAg
bW9ja0NvZGUgKz0gMTsKICAgICBtb2NrTWVzc2FnZSArPSAnIHJlcGVhdCc7CiAKICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBw
ZWQJKHJldmlzaW9uIDYwNjY2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJ
KHdvcmtpbmcgY29weSkKQEAgLTMwMSw1ICszMDEsMyBAQCBmYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMtb24tZGV2CiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM5OTA4CiBmYXN0L2RvbS9HZW9sb2NhdGlvbi9tYXhpbXVtLWFnZS5odG1sCi1mYXN0
L2RvbS9HZW9sb2NhdGlvbi9yZWVudHJhbnQtZXJyb3IuaHRtbAotZmFzdC9kb20vR2VvbG9jYXRp
b24vcmVlbnRyYW50LXN1Y2Nlc3MuaHRtbAo=
</data>
<flag name="review"
          id="42544"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="44178"
          type_id="3"
          status="-"
          setter="steveblock"
    />
          </attachment>
      

    </bug>

</bugzilla>