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..8a9230c49ee1ee3c69e739d497075ba28d986d41 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) |
+ : context_storage_path_(path), |
+ geolocation_permission_factory_(geolocation_permission_factory) { |
} |
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_)(); |
+ } |
+ return geolocation_permission_context_; |
} |
content::SpeechRecognitionPreferences* |