summaryrefslogtreecommitdiffstats
path: root/android_webview/native/permission/simple_permission_request.h
diff options
context:
space:
mode:
authormichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-23 20:36:58 +0000
committermichaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-23 20:36:58 +0000
commit88d18876460bd62651df29f824a1cd638414835d (patch)
treee7e8128c3421b28c1017c0520bf46c7e28a39d72 /android_webview/native/permission/simple_permission_request.h
parentd4fe425eef79e04cb7b8c948f6ba3f379ef3c4f9 (diff)
downloadchromium_src-88d18876460bd62651df29f824a1cd638414835d.zip
chromium_src-88d18876460bd62651df29f824a1cd638414835d.tar.gz
chromium_src-88d18876460bd62651df29f824a1cd638414835d.tar.bz2
Make Geolocation permission request use new API if possible.
To make the backward compatibility, only use the new Permission API if the application is target to the APIs level which the new Permission API release to. BUG=387265 Review URL: https://codereview.chromium.org/342063002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279169 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/native/permission/simple_permission_request.h')
-rw-r--r--android_webview/native/permission/simple_permission_request.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/android_webview/native/permission/simple_permission_request.h b/android_webview/native/permission/simple_permission_request.h
new file mode 100644
index 0000000..25ba540
--- /dev/null
+++ b/android_webview/native/permission/simple_permission_request.h
@@ -0,0 +1,37 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef ANDROID_WEBVIEW_NATIVE_PERMISSION_SIMPLE_PERMISSION_REQUEST_H
+#define ANDROID_WEBVIEW_NATIVE_PERMISSION_SIMPLE_PERMISSION_REQUEST_H
+
+#include "android_webview/native/permission/aw_permission_request_delegate.h"
+#include "base/callback.h"
+
+namespace android_webview {
+
+// The class is used to handle the simple permission request which just needs
+// a callback with bool parameter to indicate the permission granted or not.
+class SimplePermissionRequest : public AwPermissionRequestDelegate {
+ public:
+ SimplePermissionRequest(const GURL& origin,
+ int64 resources,
+ const base::Callback<void(bool)>& callback);
+ virtual ~SimplePermissionRequest();
+
+ // AwPermissionRequestDelegate implementation.
+ virtual const GURL& GetOrigin() OVERRIDE;
+ virtual int64 GetResources() OVERRIDE;
+ virtual void NotifyRequestResult(bool allowed) OVERRIDE;
+
+ private:
+ const GURL origin_;
+ int64 resources_;
+ const base::Callback<void(bool)> callback_;
+
+ DISALLOW_COPY_AND_ASSIGN(SimplePermissionRequest);
+};
+
+} // namespace android_webview
+
+#endif // ANDROID_WEBVIEW_NATIVE_PERMISSION_PROTECTED_MEDIA_ID_PERMISSION_REQUEST_H