Index: android_webview/browser/aw_browser_context.cc |
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc |
index c476fe835ce4a40b6c68ff52f8b1fd27074f50ba..70306701f4d03fc11a2044aab7ede1dd13df8928 100644 |
--- a/android_webview/browser/aw_browser_context.cc |
+++ b/android_webview/browser/aw_browser_context.cc |
@@ -8,8 +8,11 @@ |
namespace android_webview { |
-AwBrowserContext::AwBrowserContext(const FilePath path) |
- : context_storage_path_(path) { |
+AwBrowserContext::AwBrowserContext( |
+ const FilePath path, |
+ GeolocationPermissionFactoryFn* geolocation_permission_factory_fn) |
+ : context_storage_path_(path), |
+ geolocation_permission_factory_fn_(geolocation_permission_factory_fn) { |
} |
AwBrowserContext::~AwBrowserContext() { |
@@ -75,10 +78,10 @@ AwBrowserContext::GetDownloadManagerDelegate() { |
content::GeolocationPermissionContext* |
AwBrowserContext::GetGeolocationPermissionContext() { |
- // TODO(boliu): Implement this to power WebSettings.setGeolocationEnabled |
- // setting. |
- NOTIMPLEMENTED(); |
- return NULL; |
+ if (!geolocation_permission_context_) { |
+ geolocation_permission_context_ = (*geolocation_permission_factory_fn_)(); |
+ } |
+ return geolocation_permission_context_; |
} |
content::SpeechRecognitionPreferences* |