| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "components/content_settings/core/common/content_settings.h" | 5 #include "components/content_settings/core/common/content_settings.h" |
| 6 | 6 |
| 7 #include "base/containers/hash_tables.h" | 7 #include "base/containers/hash_tables.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| 11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
| 12 | 12 |
| 13 ContentSetting IntToContentSetting(int content_setting) { | 13 ContentSetting IntToContentSetting(int content_setting) { |
| 14 return ((content_setting < 0) || | 14 return ((content_setting < 0) || |
| 15 (content_setting >= CONTENT_SETTING_NUM_SETTINGS)) ? | 15 (content_setting >= CONTENT_SETTING_NUM_SETTINGS)) ? |
| 16 CONTENT_SETTING_DEFAULT : static_cast<ContentSetting>(content_setting); | 16 CONTENT_SETTING_DEFAULT : static_cast<ContentSetting>(content_setting); |
| 17 } | 17 } |
| 18 | 18 |
| 19 // WARNING: This array should not be reordered or removed as it is used for | 19 // WARNING: This array should not be reordered or removed as it is used for |
| 20 // histogram values. If a ContentSettingsType value has been removed, the entry | 20 // histogram values. New content setting types must be added to the end. |
| 21 // must be replaced by a placeholder. It should correspond directly to the | 21 // If a ContentSettingsType value has been removed, the entry must be replaced |
| 22 // ContentType enum in histograms.xml. | 22 // by a placeholder. |
| 23 // TODO(raymes): We should use a sparse histogram here on the hash of the | 23 // TODO(raymes): We should use a sparse histogram here on the hash of the |
| 24 // content settings type name instead. | 24 // content settings type name instead. |
| 25 ContentSettingsType kHistogramOrder[] = { | 25 ContentSettingsType kHistogramOrder[] = { |
| 26 CONTENT_SETTINGS_TYPE_COOKIES, | 26 CONTENT_SETTINGS_TYPE_COOKIES, |
| 27 CONTENT_SETTINGS_TYPE_IMAGES, | 27 CONTENT_SETTINGS_TYPE_IMAGES, |
| 28 CONTENT_SETTINGS_TYPE_JAVASCRIPT, | 28 CONTENT_SETTINGS_TYPE_JAVASCRIPT, |
| 29 CONTENT_SETTINGS_TYPE_PLUGINS, | 29 CONTENT_SETTINGS_TYPE_PLUGINS, |
| 30 CONTENT_SETTINGS_TYPE_POPUPS, | 30 CONTENT_SETTINGS_TYPE_POPUPS, |
| 31 CONTENT_SETTINGS_TYPE_GEOLOCATION, | 31 CONTENT_SETTINGS_TYPE_GEOLOCATION, |
| 32 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 32 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, |
| 33 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, | 33 CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, |
| 34 CONTENT_SETTINGS_TYPE_FULLSCREEN, | 34 CONTENT_SETTINGS_TYPE_FULLSCREEN, |
| 35 CONTENT_SETTINGS_TYPE_MOUSELOCK, | 35 CONTENT_SETTINGS_TYPE_MOUSELOCK, |
| 36 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, | 36 CONTENT_SETTINGS_TYPE_MIXEDSCRIPT, |
| 37 CONTENT_SETTINGS_TYPE_DEFAULT, // MEDIASTREAM (removed). | 37 CONTENT_SETTINGS_TYPE_DEFAULT, // MEDIASTREAM (removed). |
| 38 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, | 38 CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, |
| 39 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, | 39 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, |
| 40 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, | 40 CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, |
| 41 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, | 41 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, |
| 42 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, | 42 CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, |
| 43 CONTENT_SETTINGS_TYPE_MIDI_SYSEX, | 43 CONTENT_SETTINGS_TYPE_MIDI_SYSEX, |
| 44 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, | 44 CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, |
| 45 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, | 45 CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, |
| 46 CONTENT_SETTINGS_TYPE_DEFAULT, // METRO_SWITCH_TO_DESKTOP (deprecated). | 46 CONTENT_SETTINGS_TYPE_DEFAULT, // METRO_SWITCH_TO_DESKTOP (removed). |
| 47 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | |
| 48 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, | 47 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, |
| 49 #else | |
| 50 CONTENT_SETTINGS_TYPE_DEFAULT, // PROTECTED_MEDIA_IDENTIFIER (mobile only). | |
| 51 #endif | |
| 52 CONTENT_SETTINGS_TYPE_APP_BANNER, | 48 CONTENT_SETTINGS_TYPE_APP_BANNER, |
| 53 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, | 49 CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT, |
| 54 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, | 50 CONTENT_SETTINGS_TYPE_DURABLE_STORAGE, |
| 55 CONTENT_SETTINGS_TYPE_KEYGEN, | 51 CONTENT_SETTINGS_TYPE_KEYGEN, |
| 56 CONTENT_SETTINGS_TYPE_BLUETOOTH_GUARD, | 52 CONTENT_SETTINGS_TYPE_BLUETOOTH_GUARD, |
| 57 CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC, | 53 CONTENT_SETTINGS_TYPE_BACKGROUND_SYNC, |
| 58 CONTENT_SETTINGS_TYPE_AUTOPLAY, | 54 CONTENT_SETTINGS_TYPE_AUTOPLAY, |
| 59 }; | 55 }; |
| 60 | 56 |
| 61 int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting, | 57 int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 90 ContentSettingPatternSource::ContentSettingPatternSource() | 86 ContentSettingPatternSource::ContentSettingPatternSource() |
| 91 : setting(CONTENT_SETTING_DEFAULT), incognito(false) { | 87 : setting(CONTENT_SETTING_DEFAULT), incognito(false) { |
| 92 } | 88 } |
| 93 | 89 |
| 94 ContentSettingPatternSource::ContentSettingPatternSource( | 90 ContentSettingPatternSource::ContentSettingPatternSource( |
| 95 const ContentSettingPatternSource& other) = default; | 91 const ContentSettingPatternSource& other) = default; |
| 96 | 92 |
| 97 RendererContentSettingRules::RendererContentSettingRules() {} | 93 RendererContentSettingRules::RendererContentSettingRules() {} |
| 98 | 94 |
| 99 RendererContentSettingRules::~RendererContentSettingRules() {} | 95 RendererContentSettingRules::~RendererContentSettingRules() {} |
| OLD | NEW |