New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 19 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2013
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Sign in to add a comment

Issue 179686: Geolocation giving 403 error

Reported by, Mar 3 2013

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Ubuntu Chromium/24.0.1312.56 Chrome/24.0.1312.56 Safari/537.17

Example URL:

Steps to reproduce the problem:
1. Go to any web page using geolocation
2. Try calling navigator.geolocation.getCurrentPosition
3. Get 403 error

What is the expected behavior?
Receive current position based on network location

What went wrong?
Returns " PositionError {message: "Network location provider at '' : Returned error code 403.", code: 2, PERMISSION_DENIED: 1, POSITION_UNAVAILABLE: 2, TIMEOUT: 3} ) " error object

Geolocation works fine on Firefox, and works fine on my Windows machine's Chrome.

Same error happens in Android's native browser and Chrome for Android, while Firefox and Opera geolocation still works

Google groups thread with other people experiencing the same issue here:

Did this work before? Yes 20 February

Chrome version: 24.0.1312.56  Channel: stable
OS Version: Ubuntu 12.10

Comment 1 by, Mar 3 2013

Very confused. I had to unsubscribe from a certain subscription, and/or then resubscribe. Believed this was it.

Comment 2 by, Mar 3 2013

Labels: Action-FeedbackNeeded
Request you to try upgrading the chrome version to latest stable 25.0.1364.97 & let us know if the issue still persists.

Comment 3 by Deleted ...@, Mar 3 2013

Just updated chromium-browser to the latest version (Chromium 26.0.1386.0 Ubuntu 12.04
The problem still persists.

Comment 4 by Deleted ...@, Mar 3 2013

Oddly enough, the problem is not present in google-chrome-beta (Google Chrome 25.0.1364.97 beta)

Comment 5 by, Mar 3 2013

Then it might not be so odd.  Just to be clear, Chromium is just an open source, constantly
changing in-development code-testing browser project used for the development of Chrome browser.

Chromium itself is not a browser, and Google/Chromium-devs do not expect Chromium to be run as a
stable, final use browser.  What many Linux distros do (including Ubuntu), and compile and release
Chromium executables, is beyond what Chromium is designed for and is the responsibility of each distro.
You can find more contact info for each distro's Chromium from:

As @ashejole pointed out in Comment 2, you're asked to try from official Chrome browser.  Are you
sure the coding for navigator.geolocation.getCurrentPosition is available in open-source Chromium
or that the Ubuntu distro didn't mess it up (since it works with official Chrome)?

Comment 6 by, Mar 4 2013


Comment 7 by, Mar 4 2013

Status: WontFix
This is a packaging issue on Ubuntu side. The Ubuntu packagers should contact me (it's not obvious from their pages whom I should contact) about this.

Comment 8 by, Mar 9 2013

Project Member
Labels: -Action-FeedbackNeeded Needs-Feedback

Comment 9 by, Mar 11 2013

Project Member
Labels: -Internals-Network Cr-Internals-Network

Comment 10 by, Mar 18 2013

Just upgraded yesterday (03/18/2013) to latest Ubuntu repo Chrome and still no joy. And it isn't or wasn't a Ubuntu only problem in the beginning, as Windows users were (are?) having the same issues.

Comment 11 by, Mar 28 2013


Comment 12 by, Apr 13 2013

Why won't this be fixed? I have no plugins installed but cannot access the current geolocation - it always returns the error:

PositionError {message: "Network location provider at '' : Returned error code 403.", code: 2, PERMISSION_DENIED: 1, POSITION_UNAVAILABLE: 2, TIMEOUT: 3}

Comment 13 by, Apr 24 2013

See comment #7, if you would like this fixed please put the Ubuntu packagers in touch with and he can work with them to figure out what is going wrong on their end.

Comment 14 by, Apr 30 2013

For anybody else coming across with this, the fix should be coming out when Chromium 26 is released to the repos.  In the meantime, I've figured out a workaround involving setting up your own Google API keys if you really need geolocation working before the new release is out. I've posted some notes in launchpad here:

Comment 15 by, Jun 28 2013

Fixed with 28.0.1500.52 Built on Ubuntu 12.10, running on LinuxMint 14 (28.0.1500.52-0ubuntu1.12.10.2)

Comment 16 by Deleted ...@, Jul 4 2013

not just for Ubuntu,i do use Windows 8, and i have the same problem!!

Comment 17 by Deleted ...@, Jul 9 2013

I had same problem, I dont think its bug. Probably you have made more request that you are allowed. limit is approx 2,500 requests per day. for more info

Comment 18 by, Jul 17 2013

I found the culprit:

Apparently since chromium 23, some features were slowly moved to require Google API keys in order to function. In a precompiled version of chrome or chromium nightly or canary, everything seems to work, because these builds use default keys. But if we build chromium by ourselves, it won't have any keys and functions like Google Maps Geolocation API, Sync API, etc. won't function properly. You may also get this message when starting Chromium:
Google API keys are missing. Some functionality of Chromium will be disabled.

A simple example to reproduce the missing keys is to get an official Google Chrome build, Geolocation API should work. Then open Command Prompt and run these commands to define environment variables forcing the official Chrome to use custom keys (in this example invalid keys to break the geolocation service):

set GOOGLE_API_KEY=aaaaaaaaaa
start chrome.exe

Then any attempt to use the Geolocation API will fail:
Network location provider at '' : Returned error code 403.

I was able to get most of the functions to work by following the steps on the first link and once I acquired my own keys I defined the environment variables above to test them and they worked. Then I integrated my keys inside my chromium build, by editing this file:
      'google_api_key%': 'ENTER API KEY HERE',
      'google_default_client_id%': 'ENTER CLIENT ID',
      'google_default_client_secret%': 'ENTER CLIENT SECRET HERE',

The build was successful and my keys work. I no longer need to define the environment variables. The problem is that Geolocation is still returning the same error. And as I read, the problem is that this API requires billing to be enabled, and I haven't done so, hence it still doesn't work:

Google Maps Geolocation API 
(requires enabling billing but is free to use; you can skip this one, in which case geolocation features of Chrome will not work)

As I read in src/build/common.gypi

      # You can set the variable 'use_official_google_api_keys' to 1
      # to use the Google-internal file containing official API keys
      # for Google Chrome even in a developer build.  Setting this
      # variable explicitly to 1 will cause your build to fail if the
      # internal file is missing.

I have to test this and hopefully I will be able to integrate the default keys and use geolocation.

Comment 19 by, Jul 17 2013

Setting 'use_official_google_api_keys' to 1 only works if you have the Google-internal bits needed to make an official Google Chrome build.  Nobody outside of Google has access to those, so the last thing you suggested to test will not work for you.

AFAIK, the only way to get geolocation to work in your personal development Chromium build would be to enable billing as mentioned for the Google Maps Geolocation API.

Comment 20 by, Mar 16 2016

 Issue 224565  has been merged into this issue.

Sign in to add a comment