1009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen/*
2009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Copyright (C) 2012 The Android Open Source Project
3009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen *
4009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Licensed under the Apache License, Version 2.0 (the "License");
5009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * you may not use this file except in compliance with the License.
6009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * You may obtain a copy of the License at
7009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen *
8009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen *      http://www.apache.org/licenses/LICENSE-2.0
9009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen *
10009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * Unless required by applicable law or agreed to in writing, software
11009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * distributed under the License is distributed on an "AS IS" BASIS,
12009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * See the License for the specific language governing permissions and
14009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen * limitations under the License.
15009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen */
16009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
17009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenpackage com.android.webview.chromium;
18009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
19009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport android.webkit.GeolocationPermissions;
20009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport android.webkit.ValueCallback;
21009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
22009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport org.chromium.android_webview.AwGeolocationPermissions;
23009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
24009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsenimport java.util.Set;
25009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
26aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon/**
27aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon * Chromium implementation of GeolocationPermissions -- forwards calls to the
28aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon * chromium internal implementation.
29aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon */
30aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixonfinal class GeolocationPermissionsAdapter extends GeolocationPermissions {
31009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
32009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    private AwGeolocationPermissions mChromeGeolocationPermissions;
33009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
34009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public GeolocationPermissionsAdapter(AwGeolocationPermissions chromeGeolocationPermissions) {
35009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions = chromeGeolocationPermissions;
36009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
37009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
38aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon    @Override
39009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public void allow(String origin) {
40009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions.allow(origin);
41009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
42009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
43aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon    @Override
44009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public void clear(String origin) {
45009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions.clear(origin);
46009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
47009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
48aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon    @Override
49009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public void clearAll() {
50009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions.clearAll();
51009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
52009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
53aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon    @Override
54009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public void getAllowed(String origin, ValueCallback<Boolean> callback) {
55009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions.getAllowed(origin, callback);
56009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
57009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen
58aadb04e4198e1f0dce390e9434cb189603b8e713Jonathan Dixon    @Override
59009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    public void getOrigins(ValueCallback<Set<String>> callback) {
60009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen        mChromeGeolocationPermissions.getOrigins(callback);
61009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen    }
62009ed27511c4606dcd16b352489b2d3f70b4b513Kristian Monsen}
63