<?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>130898</bug_id>
          
          <creation_ts>2014-03-28 07:00:56 -0700</creation_ts>
          <short_desc>[GTK] Geoclue2 providers won&apos;t work after reloading</short_desc>
          <delta_ts>2014-03-28 08:34:32 -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>All</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995314</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-03-28 07:00:56 -0700</bug_when>
    <thetext>There is a bug in the code of the Geoclue2 geolocation provider that prevents geolocation from working if you try to reload a page after having started using the geolocation API previously.

Steps to reproduce:

1. Open http://html5demos.com/geo in a geolocation in Minibrowser
2. Allow to know the location when requested through a dialog
3. Wait until it says &quot;Found you!&quot;
4. Reload the page and repeat step 2

Expected outcome:

You should see the found location once again

Actual:

You will see &quot;Failed&quot; instead, because the geolocation provider is trying to use the same client proxy for geoclue2 service, that is no longer available after having called geoclue_client_call_stop() in GeolocarionProviderGeoclue::stopUpdating(), since apparently it can be reused from previous times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995317</commentid>
    <comment_count>1</comment_count>
      <attachid>228049</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-03-28 07:14:53 -0700</bug_when>
    <thetext>Created attachment 228049
Patch proposal

The fix is quite simple. Please consider reviewing it quickly so we can request integrating it into the stable branch before the next release.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995320</commentid>
    <comment_count>2</comment_count>
      <attachid>228049</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-03-28 07:34:03 -0700</bug_when>
    <thetext>Comment on attachment 228049
Patch proposal

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

&gt; Source/WebCore/platform/geoclue/GeolocationProviderGeoclue2.cpp:76
&gt; -    startGeoclueClient();
&gt; +    geoclue_manager_call_get_client(m_managerProxy.get(), nullptr, reinterpret_cast&lt;GAsyncReadyCallback&gt;(getGeoclueClientCallback), this);

You don&apos;t mention in the changelog why you no longer call startGeoclueClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995321</commentid>
    <comment_count>3</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-03-28 07:46:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 228049 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=228049&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/geoclue/GeolocationProviderGeoclue2.cpp:76
&gt; &gt; -    startGeoclueClient();
&gt; &gt; +    geoclue_manager_call_get_client(m_managerProxy.get(), nullptr, reinterpret_cast&lt;GAsyncReadyCallback&gt;(getGeoclueClientCallback), this);
&gt; 
&gt; You don&apos;t mention in the changelog why you no longer call startGeoclueClient.

I no longer call him here because it will be called later on, once the client proxy is created, down in createGeoclueClientProxyCallback().

Not sure whether it&apos;s worth mentioning that in the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995324</commentid>
    <comment_count>4</comment_count>
      <attachid>228049</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-03-28 08:05:18 -0700</bug_when>
    <thetext>Comment on attachment 228049
Patch proposal

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995331</commentid>
    <comment_count>5</comment_count>
      <attachid>228049</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-28 08:34:29 -0700</bug_when>
    <thetext>Comment on attachment 228049
Patch proposal

Clearing flags on attachment: 228049

Committed r166406: &lt;http://trac.webkit.org/changeset/166406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995332</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-28 08:34:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228049</attachid>
            <date>2014-03-28 07:14:53 -0700</date>
            <delta_ts>2014-03-28 08:34:29 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2014-03-28-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>3267</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA0MjE1NzdmOTVhYjBiNzE2Y2Y0YjRmNjE2NDA4YTA4YzNjMDRhZmJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogRnJpLCAyOCBNYXIgMjAxNCAxMjowOTowNSArMDAwMApTdWJqZWN0OiBb
UEFUQ0hdIDIwMTQtMDMtMjggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KCiAgICAgICAgW0dUS10gR2VvY2x1ZTIgcHJvdmlkZXJzIHdvbid0IHdvcmsgYWZ0
ZXIgcmVsb2FkaW5nCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzMDg5OAoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAg
RG9uJ3QgcmV1c2UgdGhlIEdlb2NsdWUyIGNsaWVudCBwcm94eSBiZXR3ZWVuIGRpZmZlcmVudCBj
YWxscyB0bwogICAgICAgIHN0YXJ0UG9zaXRpb24oKSwgYW5kIGNyZWF0ZSBhIG5ldyBjbGllbnQg
cHJveHkgZWFjaCB0aW1lIGluc3RlYWQuCgogICAgICAgICogcGxhdGZvcm0vZ2VvY2x1ZS9HZW9s
b2NhdGlvblByb3ZpZGVyR2VvY2x1ZTIuY3BwOgogICAgICAgIChHZW9sb2NhdGlvblByb3ZpZGVy
R2VvY2x1ZTo6c3RhcnRVcGRhdGluZyk6IERvbid0IHJldXNlIHRoZQogICAgICAgIGNsaWVudCBw
cm94eSwgYnkgYWx3YXlzIGNhbGxpbmcgZ2VvY2x1ZV9tYW5hZ2VyX2NhbGxfZ2V0X2NsaWVudCgp
LgogICAgICAgIChHZW9sb2NhdGlvblByb3ZpZGVyR2VvY2x1ZTo6c3RvcFVwZGF0aW5nKTogRGlz
Y29ubmVjdCBmcm9tIHRoZQogICAgICAgICdsb2NhdGlvbi11cGRhdGVkJyBzaWduYWwgYW5kIGRp
c3Bvc2UgdGhlIGNsaWVudCBwcm94eS4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIC4uLi9w
bGF0Zm9ybS9nZW9jbHVlL0dlb2xvY2F0aW9uUHJvdmlkZXJHZW9jbHVlMi5jcHAgICAgIHwgMTIg
KysrKystLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDcgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGIyNDEyMTcuLjVmZDExNjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNC0wMy0yOCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRh
QHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIEdlb2NsdWUyIHByb3ZpZGVycyB3b24ndCB3
b3JrIGFmdGVyIHJlbG9hZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwODk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRG9uJ3QgcmV1c2UgdGhlIEdlb2NsdWUyIGNsaWVudCBwcm94eSBiZXR3ZWVu
IGRpZmZlcmVudCBjYWxscyB0bworICAgICAgICBzdGFydFBvc2l0aW9uKCksIGFuZCBjcmVhdGUg
YSBuZXcgY2xpZW50IHByb3h5IGVhY2ggdGltZSBpbnN0ZWFkLgorCisgICAgICAgICogcGxhdGZv
cm0vZ2VvY2x1ZS9HZW9sb2NhdGlvblByb3ZpZGVyR2VvY2x1ZTIuY3BwOgorICAgICAgICAoR2Vv
bG9jYXRpb25Qcm92aWRlckdlb2NsdWU6OnN0YXJ0VXBkYXRpbmcpOiBEb24ndCByZXVzZSB0aGUK
KyAgICAgICAgY2xpZW50IHByb3h5LCBieSBhbHdheXMgY2FsbGluZyBnZW9jbHVlX21hbmFnZXJf
Y2FsbF9nZXRfY2xpZW50KCkuCisgICAgICAgIChHZW9sb2NhdGlvblByb3ZpZGVyR2VvY2x1ZTo6
c3RvcFVwZGF0aW5nKTogRGlzY29ubmVjdCBmcm9tIHRoZQorICAgICAgICAnbG9jYXRpb24tdXBk
YXRlZCcgc2lnbmFsIGFuZCBkaXNwb3NlIHRoZSBjbGllbnQgcHJveHkuCisKIDIwMTQtMDMtMjcg
IEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQVg6IFJl
dHVybnMgY29uc3QgcmVmZXJlbmNlIHRvIHN0YXRpYyBzdHJpbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nZW9jbHVlL0dlb2xvY2F0aW9uUHJvdmlkZXJHZW9jbHVlMi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nZW9jbHVlL0dlb2xvY2F0aW9uUHJvdmlkZXJH
ZW9jbHVlMi5jcHAKaW5kZXggNzQ4NzE5NS4uY2VhNDhmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2VvY2x1ZS9HZW9sb2NhdGlvblByb3ZpZGVyR2VvY2x1ZTIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dlb2NsdWUvR2VvbG9jYXRpb25Qcm92aWRlckdl
b2NsdWUyLmNwcApAQCAtNzMsMTggKzczLDE2IEBAIHZvaWQgR2VvbG9jYXRpb25Qcm92aWRlckdl
b2NsdWU6OnN0YXJ0VXBkYXRpbmcoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KCFtX2NsaWVudFByb3h5KSB7Ci0gICAgICAgIGdlb2NsdWVfbWFuYWdlcl9jYWxsX2dldF9jbGll
bnQobV9tYW5hZ2VyUHJveHkuZ2V0KCksIG51bGxwdHIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0FzeW5j
UmVhZHlDYWxsYmFjaz4oZ2V0R2VvY2x1ZUNsaWVudENhbGxiYWNrKSwgdGhpcyk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICBzdGFydEdlb2NsdWVDbGllbnQoKTsKKyAgICBnZW9jbHVl
X21hbmFnZXJfY2FsbF9nZXRfY2xpZW50KG1fbWFuYWdlclByb3h5LmdldCgpLCBudWxscHRyLCBy
ZWludGVycHJldF9jYXN0PEdBc3luY1JlYWR5Q2FsbGJhY2s+KGdldEdlb2NsdWVDbGllbnRDYWxs
YmFjayksIHRoaXMpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uUHJvdmlkZXJHZW9jbHVlOjpzdG9w
VXBkYXRpbmcoKQogewotICAgIGlmIChtX2NsaWVudFByb3h5KQorICAgIGlmIChtX2NsaWVudFBy
b3h5KSB7CiAgICAgICAgIGdlb2NsdWVfY2xpZW50X2NhbGxfc3RvcChtX2NsaWVudFByb3h5Lmdl
dCgpLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyKTsKKyAgICAgICAgZ19zaWduYWxfaGFuZGxl
cnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fY2xpZW50UHJveHkuZ2V0KCksIHJlaW50ZXJwcmV0X2Nh
c3Q8Z3BvaW50ZXI+KGxvY2F0aW9uVXBkYXRlZENhbGxiYWNrKSwgdGhpcyk7CisgICAgICAgIG1f
Y2xpZW50UHJveHkgPSBudWxscHRyOworICAgIH0KICAgICBtX2lzVXBkYXRpbmcgPSBmYWxzZTsK
IH0KIAotLSAKMS44LjUuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>