| 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 #include "content/browser/permissions/permission_service_impl.h" | 5 #include "content/browser/permissions/permission_service_impl.h" |
| 6 | 6 |
| 7 #include "content/browser/geolocation/geolocation_provider_impl.h" | 7 #include "content/browser/geolocation/geolocation_provider_impl.h" |
| 8 #include "content/public/browser/content_browser_client.h" | 8 #include "content/public/browser/content_browser_client.h" |
| 9 #include "content/public/browser/render_process_host.h" | 9 #include "content/public/browser/render_process_host.h" |
| 10 | 10 |
| 11 namespace content { | 11 namespace content { |
| 12 | 12 |
| 13 namespace { | 13 namespace { |
| 14 | 14 |
| 15 PermissionType PermissionNameToPermissionType(PermissionName name) { | 15 PermissionType PermissionNameToPermissionType(PermissionName name) { |
| 16 switch(name) { | 16 switch(name) { |
| 17 case PERMISSION_NAME_GEOLOCATION: | 17 case PERMISSION_NAME_GEOLOCATION: |
| 18 return PERMISSION_GEOLOCATION; | 18 return PERMISSION_GEOLOCATION; |
| 19 case PERMISSION_NAME_MIDI_SYSEX: |
| 20 return PERMISSION_MIDI_SYSEX; |
| 19 } | 21 } |
| 20 | 22 |
| 21 NOTREACHED(); | 23 NOTREACHED(); |
| 22 return PERMISSION_NUM; | 24 return PERMISSION_NUM; |
| 23 } | 25 } |
| 24 | 26 |
| 25 } // anonymous namespace | 27 } // anonymous namespace |
| 26 | 28 |
| 27 PermissionServiceImpl::PendingRequest::PendingRequest(PermissionType permission, | 29 PermissionServiceImpl::PendingRequest::PendingRequest(PermissionType permission, |
| 28 const GURL& origin) | 30 const GURL& origin) |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 weak_factory_.GetWeakPtr(), | 77 weak_factory_.GetWeakPtr(), |
| 76 callback, | 78 callback, |
| 77 request_id)); | 79 request_id)); |
| 78 } | 80 } |
| 79 | 81 |
| 80 void PermissionServiceImpl::OnRequestPermissionResponse( | 82 void PermissionServiceImpl::OnRequestPermissionResponse( |
| 81 const mojo::Callback<void(PermissionStatus)>& callback, | 83 const mojo::Callback<void(PermissionStatus)>& callback, |
| 82 int request_id, | 84 int request_id, |
| 83 bool allowed) { | 85 bool allowed) { |
| 84 // TODO(mlamouri): we might want a generic way to handle those things. | 86 // TODO(mlamouri): we might want a generic way to handle those things. |
| 87 // TODO(mlamouri): could that move to <name>_permission_context.cc? |
| 85 if (allowed && | 88 if (allowed && |
| 86 pending_requests_.Lookup(request_id)->permission == | 89 pending_requests_.Lookup(request_id)->permission == |
| 87 PERMISSION_GEOLOCATION) { | 90 PERMISSION_GEOLOCATION) { |
| 88 GeolocationProviderImpl::GetInstance()->UserDidOptIntoLocationServices(); | 91 GeolocationProviderImpl::GetInstance()->UserDidOptIntoLocationServices(); |
| 89 } | 92 } |
| 90 | 93 |
| 91 pending_requests_.Remove(request_id); | 94 pending_requests_.Remove(request_id); |
| 92 | 95 |
| 93 // TODO(mlamouri): for now, we only get a boolean back, but we would ideally | 96 // TODO(mlamouri): for now, we only get a boolean back, but we would ideally |
| 94 // need a ContentSetting, see http://crbug.com/432978 | 97 // need a ContentSetting, see http://crbug.com/432978 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 111 } | 114 } |
| 112 | 115 |
| 113 void PermissionServiceImpl::HasPermission( | 116 void PermissionServiceImpl::HasPermission( |
| 114 PermissionName permission, | 117 PermissionName permission, |
| 115 const mojo::String& origin, | 118 const mojo::String& origin, |
| 116 const mojo::Callback<void(PermissionStatus)>& callback) { | 119 const mojo::Callback<void(PermissionStatus)>& callback) { |
| 117 NOTIMPLEMENTED(); | 120 NOTIMPLEMENTED(); |
| 118 } | 121 } |
| 119 | 122 |
| 120 } // namespace content | 123 } // namespace content |
| OLD | NEW |