| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_COMMON_CONTENT_SETTINGS_H_ | |
| 6 #define CHROME_COMMON_CONTENT_SETTINGS_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 #include <vector> | |
| 10 | |
| 11 #include "chrome/common/content_settings_pattern.h" | |
| 12 | |
| 13 // Different settings that can be assigned for a particular content type. We | |
| 14 // give the user the ability to set these on a global and per-origin basis. | |
| 15 enum ContentSetting { | |
| 16 CONTENT_SETTING_DEFAULT = 0, | |
| 17 CONTENT_SETTING_ALLOW, | |
| 18 CONTENT_SETTING_BLOCK, | |
| 19 CONTENT_SETTING_ASK, | |
| 20 CONTENT_SETTING_SESSION_ONLY, | |
| 21 CONTENT_SETTING_NUM_SETTINGS | |
| 22 }; | |
| 23 | |
| 24 // Range-checked conversion of an int to a ContentSetting, for use when reading | |
| 25 // prefs off disk. | |
| 26 ContentSetting IntToContentSetting(int content_setting); | |
| 27 | |
| 28 struct ContentSettingPatternSource { | |
| 29 ContentSettingPatternSource(const ContentSettingsPattern& primary_pattern, | |
| 30 const ContentSettingsPattern& secondary_patttern, | |
| 31 ContentSetting setting, | |
| 32 const std::string& source, | |
| 33 bool incognito); | |
| 34 ContentSettingPatternSource(); | |
| 35 ContentSettingsPattern primary_pattern; | |
| 36 ContentSettingsPattern secondary_pattern; | |
| 37 ContentSetting setting; | |
| 38 std::string source; | |
| 39 bool incognito; | |
| 40 }; | |
| 41 | |
| 42 typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType; | |
| 43 | |
| 44 struct RendererContentSettingRules { | |
| 45 RendererContentSettingRules(); | |
| 46 ~RendererContentSettingRules(); | |
| 47 ContentSettingsForOneType image_rules; | |
| 48 ContentSettingsForOneType script_rules; | |
| 49 }; | |
| 50 | |
| 51 namespace content_settings { | |
| 52 | |
| 53 // Enum containing the various source for content settings. Settings can be | |
| 54 // set by policy, extension or the user. Certain (internal) schemes are | |
| 55 // whilelisted. For whilelisted schemes the source is | |
| 56 // |SETTING_SOURCE_WHITELIST|. | |
| 57 enum SettingSource { | |
| 58 SETTING_SOURCE_NONE, | |
| 59 SETTING_SOURCE_POLICY, | |
| 60 SETTING_SOURCE_EXTENSION, | |
| 61 SETTING_SOURCE_USER, | |
| 62 SETTING_SOURCE_WHITELIST, | |
| 63 }; | |
| 64 | |
| 65 // |SettingInfo| provides meta data for content setting values. |source| | |
| 66 // contains the source of a value. |primary_pattern| and |secondary_pattern| | |
| 67 // contains the patterns of the appling rule. | |
| 68 struct SettingInfo { | |
| 69 SettingSource source; | |
| 70 ContentSettingsPattern primary_pattern; | |
| 71 ContentSettingsPattern secondary_pattern; | |
| 72 }; | |
| 73 | |
| 74 } // namespace content_settings | |
| 75 | |
| 76 #endif // CHROME_COMMON_CONTENT_SETTINGS_H_ | |
| OLD | NEW |