OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/permissions/permission_util.h" | 5 #include "chrome/browser/permissions/permission_util.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 #include "base/feature_list.h" | 8 #include "base/feature_list.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 10 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: | 36 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: |
37 return "AudioCapture"; | 37 return "AudioCapture"; |
38 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: | 38 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: |
39 return "VideoCapture"; | 39 return "VideoCapture"; |
40 case CONTENT_SETTINGS_TYPE_MIDI: | 40 case CONTENT_SETTINGS_TYPE_MIDI: |
41 return "Midi"; | 41 return "Midi"; |
42 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: | 42 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: |
43 return "BackgroundSync"; | 43 return "BackgroundSync"; |
44 case CONTENT_SETTINGS_TYPE_PLUGINS: | 44 case CONTENT_SETTINGS_TYPE_PLUGINS: |
45 return "Flash"; | 45 return "Flash"; |
| 46 case CONTENT_SETTINGS_TYPE_SENSORS: |
| 47 return "Sensors"; |
46 default: | 48 default: |
47 break; | 49 break; |
48 } | 50 } |
49 NOTREACHED(); | 51 NOTREACHED(); |
50 return std::string(); | 52 return std::string(); |
51 } | 53 } |
52 | 54 |
53 std::string PermissionUtil::ConvertContentSettingsTypeToSafeBrowsingName( | 55 std::string PermissionUtil::ConvertContentSettingsTypeToSafeBrowsingName( |
54 ContentSettingsType permission_type) { | 56 ContentSettingsType permission_type) { |
55 switch (permission_type) { | 57 switch (permission_type) { |
(...skipping 10 matching lines...) Expand all Loading... |
66 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: | 68 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: |
67 return "PROTECTED_MEDIA_IDENTIFIER"; | 69 return "PROTECTED_MEDIA_IDENTIFIER"; |
68 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: | 70 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: |
69 return "AUDIO_CAPTURE"; | 71 return "AUDIO_CAPTURE"; |
70 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: | 72 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: |
71 return "VIDEO_CAPTURE"; | 73 return "VIDEO_CAPTURE"; |
72 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: | 74 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: |
73 return "BACKGROUND_SYNC"; | 75 return "BACKGROUND_SYNC"; |
74 case CONTENT_SETTINGS_TYPE_PLUGINS: | 76 case CONTENT_SETTINGS_TYPE_PLUGINS: |
75 return "FLASH"; | 77 return "FLASH"; |
| 78 case CONTENT_SETTINGS_TYPE_SENSORS: |
| 79 return "SENSORS"; |
76 default: | 80 default: |
77 break; | 81 break; |
78 } | 82 } |
79 NOTREACHED(); | 83 NOTREACHED(); |
80 return std::string(); | 84 return std::string(); |
81 } | 85 } |
82 | 86 |
83 PermissionRequestType PermissionUtil::GetRequestType(ContentSettingsType type) { | 87 PermissionRequestType PermissionUtil::GetRequestType(ContentSettingsType type) { |
84 switch (type) { | 88 switch (type) { |
85 case CONTENT_SETTINGS_TYPE_GEOLOCATION: | 89 case CONTENT_SETTINGS_TYPE_GEOLOCATION: |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 } else if (type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) { | 132 } else if (type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC) { |
129 *out = PermissionType::AUDIO_CAPTURE; | 133 *out = PermissionType::AUDIO_CAPTURE; |
130 } else if (type == CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC) { | 134 } else if (type == CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC) { |
131 *out = PermissionType::BACKGROUND_SYNC; | 135 *out = PermissionType::BACKGROUND_SYNC; |
132 } else if (type == CONTENT_SETTINGS_TYPE_PLUGINS) { | 136 } else if (type == CONTENT_SETTINGS_TYPE_PLUGINS) { |
133 *out = PermissionType::FLASH; | 137 *out = PermissionType::FLASH; |
134 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 138 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
135 } else if (type == CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) { | 139 } else if (type == CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER) { |
136 *out = PermissionType::PROTECTED_MEDIA_IDENTIFIER; | 140 *out = PermissionType::PROTECTED_MEDIA_IDENTIFIER; |
137 #endif | 141 #endif |
| 142 } else if (type == CONTENT_SETTINGS_TYPE_SENSORS) { |
| 143 *out = PermissionType::SENSORS; |
138 } else { | 144 } else { |
139 return false; | 145 return false; |
140 } | 146 } |
141 return true; | 147 return true; |
142 } | 148 } |
143 | 149 |
144 ContentSettingsType PermissionUtil::GetContentSettingsStorageType( | 150 ContentSettingsType PermissionUtil::GetContentSettingsStorageType( |
145 ContentSettingsType type) { | 151 ContentSettingsType type) { |
146 if (type == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING) | 152 if (type == CONTENT_SETTINGS_TYPE_PUSH_MESSAGING) |
147 return CONTENT_SETTINGS_TYPE_NOTIFICATIONS; | 153 return CONTENT_SETTINGS_TYPE_NOTIFICATIONS; |
148 return type; | 154 return type; |
149 } | 155 } |
150 | 156 |
151 bool PermissionUtil::IsPermission(ContentSettingsType type) { | 157 bool PermissionUtil::IsPermission(ContentSettingsType type) { |
152 switch (type) { | 158 switch (type) { |
153 case CONTENT_SETTINGS_TYPE_GEOLOCATION: | 159 case CONTENT_SETTINGS_TYPE_GEOLOCATION: |
154 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: | 160 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: |
155 case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING: | 161 case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING: |
156 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX: | 162 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX: |
157 case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE: | 163 case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE: |
158 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: | 164 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA: |
159 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: | 165 case CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC: |
160 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: | 166 case CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC: |
161 case CONTENT_SETTINGS_TYPE_PLUGINS: | 167 case CONTENT_SETTINGS_TYPE_PLUGINS: |
162 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 168 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
163 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: | 169 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: |
164 #endif | 170 #endif |
| 171 case CONTENT_SETTINGS_TYPE_SENSORS: |
165 return true; | 172 return true; |
166 default: | 173 default: |
167 return false; | 174 return false; |
168 } | 175 } |
169 } | 176 } |
170 | 177 |
171 bool PermissionUtil::ShouldShowPersistenceToggle(ContentSettingsType type) { | 178 bool PermissionUtil::ShouldShowPersistenceToggle(ContentSettingsType type) { |
172 return (type == CONTENT_SETTINGS_TYPE_GEOLOCATION || | 179 return (type == CONTENT_SETTINGS_TYPE_GEOLOCATION || |
173 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || | 180 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC || |
174 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) && | 181 type == CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA) && |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 return; | 226 return; |
220 HostContentSettingsMap* settings_map = | 227 HostContentSettingsMap* settings_map = |
221 HostContentSettingsMapFactory::GetForProfile(profile_); | 228 HostContentSettingsMapFactory::GetForProfile(profile_); |
222 ContentSetting final_content_setting = settings_map->GetContentSetting( | 229 ContentSetting final_content_setting = settings_map->GetContentSetting( |
223 primary_url_, secondary_url_, content_type_, std::string()); | 230 primary_url_, secondary_url_, content_type_, std::string()); |
224 if (final_content_setting != CONTENT_SETTING_ALLOW) { | 231 if (final_content_setting != CONTENT_SETTING_ALLOW) { |
225 PermissionUmaUtil::PermissionRevoked(content_type_, source_ui_, | 232 PermissionUmaUtil::PermissionRevoked(content_type_, source_ui_, |
226 primary_url_, profile_); | 233 primary_url_, profile_); |
227 } | 234 } |
228 } | 235 } |
OLD | NEW |