Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: chrome/browser/permissions/permission_util.cc

Issue 2640033006: Convert AutoBlocker static class to KeyedService. (Closed)
Patch Set: Remove static methods, nits Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
11 #include "chrome/browser/permissions/permission_uma_util.h" 11 #include "chrome/browser/permissions/permission_uma_util.h"
12 #include "chrome/common/chrome_features.h" 12 #include "chrome/common/chrome_features.h"
13 #include "components/content_settings/core/browser/host_content_settings_map.h" 13 #include "components/content_settings/core/browser/host_content_settings_map.h"
14 #include "content/public/browser/permission_type.h" 14 #include "content/public/browser/permission_type.h"
15 15
16 using content::PermissionType; 16 using content::PermissionType;
17 17
18 std::size_t PermissionTypeHash::operator()( 18 std::size_t PermissionTypeHash::operator()(
19 const content::PermissionType& type) const { 19 const content::PermissionType& type) const {
20 return static_cast<size_t>(type); 20 return static_cast<size_t>(type);
21 } 21 }
22 22
23 // The returned strings must match the RAPPOR metrics in rappor.xml, 23 // The returned strings must match the RAPPOR metrics in rappor.xml,
24 // and any Field Trial configs for the Permissions kill switch e.g. 24 // and any Field Trial configs for the Permissions kill switch e.g.
25 // Permissions.Action.Geolocation etc.. 25 // Permissions.Action.Geolocation etc..
26 std::string PermissionUtil::GetPermissionString( 26 std::string PermissionUtil::GetPermissionString(
27 content::PermissionType permission) { 27 content::PermissionType permission) {
28 switch (permission) { 28 switch (permission) {
29 case content::PermissionType::GEOLOCATION: 29 case content::PermissionType::GEOLOCATION:
30 return "Geolocation"; 30 return kGeolocationPermissionName;
31 case content::PermissionType::NOTIFICATIONS: 31 case content::PermissionType::NOTIFICATIONS:
32 return "Notifications"; 32 return kNotificationPermissionName;
33 case content::PermissionType::MIDI_SYSEX: 33 case content::PermissionType::MIDI_SYSEX:
34 return "MidiSysEx"; 34 return kMidiSysExnPermissionName;
35 case content::PermissionType::PUSH_MESSAGING: 35 case content::PermissionType::PUSH_MESSAGING:
36 return "PushMessaging"; 36 return kPushMessagingPermissionName;
37 case content::PermissionType::DURABLE_STORAGE: 37 case content::PermissionType::DURABLE_STORAGE:
38 return "DurableStorage"; 38 return kDurableStoragePermissionName;
39 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER: 39 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER:
40 return "ProtectedMediaIdentifier"; 40 return kProtectedMediaPermissionName;
41 case content::PermissionType::AUDIO_CAPTURE: 41 case content::PermissionType::AUDIO_CAPTURE:
42 return "AudioCapture"; 42 return kAudioCapturePermissionName;
43 case content::PermissionType::VIDEO_CAPTURE: 43 case content::PermissionType::VIDEO_CAPTURE:
44 return "VideoCapture"; 44 return kVideoCapturePermissionName;
45 case content::PermissionType::MIDI: 45 case content::PermissionType::MIDI:
46 return "Midi"; 46 return kMidiPermissionName;
47 case content::PermissionType::BACKGROUND_SYNC: 47 case content::PermissionType::BACKGROUND_SYNC:
48 return "BackgroundSync"; 48 return kBackgroundSyncPermissionName;
49 case content::PermissionType::FLASH: 49 case content::PermissionType::FLASH:
50 return "Flash"; 50 return kFlashPermissionName;
51 case content::PermissionType::NUM: 51 case content::PermissionType::NUM:
52 break; 52 break;
53 } 53 }
54 NOTREACHED(); 54 NOTREACHED();
55 return std::string(); 55 return std::string();
56 } 56 }
57 57
58 content::PermissionType PermissionUtil::ConvertSafeBrowsingNameToPermissionType(
59 const std::string& sb_name) {
60 if (sb_name == "GEOLOCATION")
raymes 2017/01/24 05:15:17 nit: please make a note that the name is a stringi
meredithl 2017/01/24 23:20:21 I've now changed this method around so there is no
61 return content::PermissionType::GEOLOCATION;
62 if (sb_name == "NOTIFICATIONS")
63 return content::PermissionType::NOTIFICATIONS;
64 if (sb_name == "MIDI_SYSEX")
65 return content::PermissionType::MIDI_SYSEX;
66 if (sb_name == "PUSH_MESSAGING")
67 return content::PermissionType::PUSH_MESSAGING;
68 if (sb_name == "DURABLE_STORAGE")
69 return content::PermissionType::DURABLE_STORAGE;
70 if (sb_name == "PROTECTED_MEDIA_IDENTIFIER")
71 return content::PermissionType::PROTECTED_MEDIA_IDENTIFIER;
72 if (sb_name == "AUDIO_CAPTURE")
73 return content::PermissionType::AUDIO_CAPTURE;
74 if (sb_name == "VIDEO_CAPTURE")
75 return content::PermissionType::MIDI;
76 if (sb_name == "MIDI")
77 return content::PermissionType::MIDI;
78 if (sb_name == "BACKGROUND_SYNC")
79 return content::PermissionType::BACKGROUND_SYNC;
80 if (sb_name == "FLASH")
81 return content::PermissionType::FLASH;
82 NOTREACHED();
83 return content::PermissionType::NUM;
84 }
85
58 PermissionRequestType PermissionUtil::GetRequestType( 86 PermissionRequestType PermissionUtil::GetRequestType(
59 content::PermissionType type) { 87 content::PermissionType type) {
60 switch (type) { 88 switch (type) {
61 case content::PermissionType::GEOLOCATION: 89 case content::PermissionType::GEOLOCATION:
62 return PermissionRequestType::PERMISSION_GEOLOCATION; 90 return PermissionRequestType::PERMISSION_GEOLOCATION;
63 case content::PermissionType::NOTIFICATIONS: 91 case content::PermissionType::NOTIFICATIONS:
64 return PermissionRequestType::PERMISSION_NOTIFICATIONS; 92 return PermissionRequestType::PERMISSION_NOTIFICATIONS;
65 case content::PermissionType::MIDI_SYSEX: 93 case content::PermissionType::MIDI_SYSEX:
66 return PermissionRequestType::PERMISSION_MIDI_SYSEX; 94 return PermissionRequestType::PERMISSION_MIDI_SYSEX;
67 case content::PermissionType::PUSH_MESSAGING: 95 case content::PermissionType::PUSH_MESSAGING:
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 ContentSetting final_content_setting = settings_map->GetContentSetting( 186 ContentSetting final_content_setting = settings_map->GetContentSetting(
159 primary_url_, secondary_url_, content_type_, std::string()); 187 primary_url_, secondary_url_, content_type_, std::string());
160 if (final_content_setting != CONTENT_SETTING_ALLOW) { 188 if (final_content_setting != CONTENT_SETTING_ALLOW) {
161 PermissionType permission_type; 189 PermissionType permission_type;
162 if (PermissionUtil::GetPermissionType(content_type_, &permission_type)) { 190 if (PermissionUtil::GetPermissionType(content_type_, &permission_type)) {
163 PermissionUmaUtil::PermissionRevoked(permission_type, source_ui_, 191 PermissionUmaUtil::PermissionRevoked(permission_type, source_ui_,
164 primary_url_, profile_); 192 primary_url_, profile_);
165 } 193 }
166 } 194 }
167 } 195 }
OLDNEW
« chrome/browser/permissions/permission_util.h ('K') | « chrome/browser/permissions/permission_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698