OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package com.android.webview.chromium; | 5 package com.android.webview.chromium; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 import android.graphics.Bitmap; | 8 import android.graphics.Bitmap; |
9 import android.graphics.BitmapFactory; | 9 import android.graphics.BitmapFactory; |
10 import android.graphics.Canvas; | 10 import android.graphics.Canvas; |
(...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1188 */ | 1188 */ |
1189 public static class PermissionRequestAdapter extends PermissionRequest { | 1189 public static class PermissionRequestAdapter extends PermissionRequest { |
1190 // TODO: Move the below definitions to AwPermissionRequest. | 1190 // TODO: Move the below definitions to AwPermissionRequest. |
1191 private static final long BITMASK_RESOURCE_VIDEO_CAPTURE = 1 << 1; | 1191 private static final long BITMASK_RESOURCE_VIDEO_CAPTURE = 1 << 1; |
1192 private static final long BITMASK_RESOURCE_AUDIO_CAPTURE = 1 << 2; | 1192 private static final long BITMASK_RESOURCE_AUDIO_CAPTURE = 1 << 2; |
1193 private static final long BITMASK_RESOURCE_PROTECTED_MEDIA_ID = 1 << 3; | 1193 private static final long BITMASK_RESOURCE_PROTECTED_MEDIA_ID = 1 << 3; |
1194 | 1194 |
1195 public static long toAwPermissionResources(String[] resources) { | 1195 public static long toAwPermissionResources(String[] resources) { |
1196 long result = 0; | 1196 long result = 0; |
1197 for (String resource : resources) { | 1197 for (String resource : resources) { |
1198 if (resource.equals(PermissionRequest.RESOURCE_VIDEO_CAPTURE)) | 1198 if (resource.equals(PermissionRequest.RESOURCE_VIDEO_CAPTURE)) { |
1199 result |= BITMASK_RESOURCE_VIDEO_CAPTURE; | 1199 result |= BITMASK_RESOURCE_VIDEO_CAPTURE; |
1200 else if (resource.equals(PermissionRequest.RESOURCE_AUDIO_CAPTUR
E)) | 1200 } else if (resource.equals(PermissionRequest.RESOURCE_AUDIO_CAPT
URE)) { |
1201 result |= BITMASK_RESOURCE_AUDIO_CAPTURE; | 1201 result |= BITMASK_RESOURCE_AUDIO_CAPTURE; |
1202 else if (resource.equals(PermissionRequest.RESOURCE_PROTECTED_ME
DIA_ID)) | 1202 } else if (resource.equals(PermissionRequest.RESOURCE_PROTECTED_
MEDIA_ID)) { |
1203 result |= BITMASK_RESOURCE_PROTECTED_MEDIA_ID; | 1203 result |= BITMASK_RESOURCE_PROTECTED_MEDIA_ID; |
| 1204 } |
1204 } | 1205 } |
1205 return result; | 1206 return result; |
1206 } | 1207 } |
1207 | 1208 |
1208 private static String[] toPermissionResources(long resources) { | 1209 private static String[] toPermissionResources(long resources) { |
1209 ArrayList<String> result = new ArrayList<String>(); | 1210 ArrayList<String> result = new ArrayList<String>(); |
1210 if ((resources & BITMASK_RESOURCE_VIDEO_CAPTURE) != 0) | 1211 if ((resources & BITMASK_RESOURCE_VIDEO_CAPTURE) != 0) { |
1211 result.add(PermissionRequest.RESOURCE_VIDEO_CAPTURE); | 1212 result.add(PermissionRequest.RESOURCE_VIDEO_CAPTURE); |
1212 if ((resources & BITMASK_RESOURCE_AUDIO_CAPTURE) != 0) | 1213 } |
| 1214 if ((resources & BITMASK_RESOURCE_AUDIO_CAPTURE) != 0) { |
1213 result.add(PermissionRequest.RESOURCE_AUDIO_CAPTURE); | 1215 result.add(PermissionRequest.RESOURCE_AUDIO_CAPTURE); |
1214 if ((resources & BITMASK_RESOURCE_PROTECTED_MEDIA_ID) != 0) | 1216 } |
| 1217 if ((resources & BITMASK_RESOURCE_PROTECTED_MEDIA_ID) != 0) { |
1215 result.add(PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID); | 1218 result.add(PermissionRequest.RESOURCE_PROTECTED_MEDIA_ID); |
| 1219 } |
1216 String[] resource_array = new String[result.size()]; | 1220 String[] resource_array = new String[result.size()]; |
1217 return result.toArray(resource_array); | 1221 return result.toArray(resource_array); |
1218 } | 1222 } |
1219 | 1223 |
1220 private AwPermissionRequest mAwPermissionRequest; | 1224 private AwPermissionRequest mAwPermissionRequest; |
1221 private String[] mResources; | 1225 private String[] mResources; |
1222 | 1226 |
1223 public PermissionRequestAdapter(AwPermissionRequest awPermissionRequest)
{ | 1227 public PermissionRequestAdapter(AwPermissionRequest awPermissionRequest)
{ |
1224 assert awPermissionRequest != null; | 1228 assert awPermissionRequest != null; |
1225 mAwPermissionRequest = awPermissionRequest; | 1229 mAwPermissionRequest = awPermissionRequest; |
(...skipping 11 matching lines...) Expand all Loading... |
1237 if (mResources == null) { | 1241 if (mResources == null) { |
1238 mResources = toPermissionResources(mAwPermissionRequest.getR
esources()); | 1242 mResources = toPermissionResources(mAwPermissionRequest.getR
esources()); |
1239 } | 1243 } |
1240 return mResources; | 1244 return mResources; |
1241 } | 1245 } |
1242 } | 1246 } |
1243 | 1247 |
1244 @Override | 1248 @Override |
1245 public void grant(String[] resources) { | 1249 public void grant(String[] resources) { |
1246 long requestedResource = mAwPermissionRequest.getResources(); | 1250 long requestedResource = mAwPermissionRequest.getResources(); |
1247 if ((requestedResource & toAwPermissionResources(resources)) == requ
estedResource) | 1251 if ((requestedResource & toAwPermissionResources(resources)) == requ
estedResource) { |
1248 mAwPermissionRequest.grant(); | 1252 mAwPermissionRequest.grant(); |
1249 else | 1253 } else { |
1250 mAwPermissionRequest.deny(); | 1254 mAwPermissionRequest.deny(); |
| 1255 } |
1251 } | 1256 } |
1252 | 1257 |
1253 @Override | 1258 @Override |
1254 public void deny() { | 1259 public void deny() { |
1255 mAwPermissionRequest.deny(); | 1260 mAwPermissionRequest.deny(); |
1256 } | 1261 } |
1257 } | 1262 } |
1258 } | 1263 } |
OLD | NEW |