1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef ANDROID_WEBVIEW_NATIVE_AW_GEOLOCATION_PERMISSION_CONTEXT_H_ 6 #define ANDROID_WEBVIEW_NATIVE_AW_GEOLOCATION_PERMISSION_CONTEXT_H_ 7 8 #include "content/public/browser/geolocation_permission_context.h" 9 10 class GURL; 11 12 namespace android_webview { 13 14 class AwBrowserContext; 15 16 class AwGeolocationPermissionContext : 17 public content::GeolocationPermissionContext { 18 public: 19 static content::GeolocationPermissionContext* Create( 20 AwBrowserContext* browser_context); 21 22 // content::GeolocationPermissionContext implementation 23 virtual void RequestGeolocationPermission( 24 int render_process_id, 25 int render_view_id, 26 int bridge_id, 27 const GURL& requesting_frame, 28 base::Callback<void(bool)> callback) OVERRIDE; 29 virtual void CancelGeolocationPermissionRequest( 30 int render_process_id, 31 int render_view_id, 32 int bridge_id, 33 const GURL& requesting_frame) OVERRIDE; 34 35 protected: 36 virtual ~AwGeolocationPermissionContext(); 37 38 private: 39 void RequestGeolocationPermissionOnUIThread( 40 int render_process_id, 41 int render_view_id, 42 int bridge_id, 43 const GURL& requesting_frame, 44 base::Callback<void(bool)> callback); 45 46 void CancelGeolocationPermissionRequestOnUIThread( 47 int render_process_id, 48 int render_view_id, 49 int bridge_id, 50 const GURL& requesting_frame); 51 }; 52 53 } // namespace android_webview 54 55 #endif // ANDROID_WEBVIEW_NATIVE_AW_GEOLOCATION_PERMISSION_CONTEXT_H_ 56