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

Side by Side Diff: chrome/browser/content_setting_combo_model.cc

Issue 6854035: Move blocked content from TabContents to TabContentsWrapper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 #include "chrome/browser/content_setting_combo_model.h"
6
7 #include "base/command_line.h"
8 #include "base/string16.h"
9 #include "chrome/common/chrome_switches.h"
10 #include "grit/generated_resources.h"
11 #include "ui/base/l10n/l10n_util.h"
12
13 namespace {
14
15 // The settings shown in the combobox if show_session_ is false;
16 const ContentSetting kNoSessionSettings[] = { CONTENT_SETTING_ALLOW,
17 CONTENT_SETTING_BLOCK };
18
19 // The settings shown in the combobox if show_session_ is true;
20 const ContentSetting kSessionSettings[] = { CONTENT_SETTING_ALLOW,
21 CONTENT_SETTING_SESSION_ONLY,
22 CONTENT_SETTING_BLOCK };
23
24 // The settings shown in the combobox for plug-ins;
25 const ContentSetting kAskSettings[] = { CONTENT_SETTING_ALLOW,
26 CONTENT_SETTING_ASK,
27 CONTENT_SETTING_BLOCK };
28
29 } // namespace
30
31 ContentSettingComboModel::ContentSettingComboModel(ContentSettingsType type)
32 : content_type_(type) {
33 }
34
35 ContentSettingComboModel::~ContentSettingComboModel() {
36 }
37
38 int ContentSettingComboModel::GetItemCount() {
39 if (content_type_ == CONTENT_SETTINGS_TYPE_PLUGINS &&
40 CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableClickToPlay))
41 return arraysize(kAskSettings);
42 if (content_type_ == CONTENT_SETTINGS_TYPE_COOKIES)
43 return arraysize(kSessionSettings);
44 return arraysize(kNoSessionSettings);
45 }
46
47 string16 ContentSettingComboModel::GetItemAt(int index) {
48 switch (SettingForIndex(index)) {
49 case CONTENT_SETTING_ALLOW:
50 return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_ALLOW_BUTTON);
51 case CONTENT_SETTING_BLOCK:
52 return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_BLOCK_BUTTON);
53 case CONTENT_SETTING_ASK:
54 return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_ASK_BUTTON);
55 case CONTENT_SETTING_SESSION_ONLY:
56 return l10n_util::GetStringUTF16(IDS_EXCEPTIONS_SESSION_ONLY_BUTTON);
57 default:
58 NOTREACHED();
59 }
60 return string16();
61 }
62
63 ContentSetting ContentSettingComboModel::SettingForIndex(int index) {
64 if (content_type_ == CONTENT_SETTINGS_TYPE_PLUGINS &&
65 CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableClickToPlay))
66 return kAskSettings[index];
67 if (content_type_ == CONTENT_SETTINGS_TYPE_COOKIES)
68 return kSessionSettings[index];
69 return kNoSessionSettings[index];
70 }
71
72 int ContentSettingComboModel::IndexForSetting(ContentSetting setting) {
73 for (int i = 0; i < GetItemCount(); ++i)
74 if (SettingForIndex(i) == setting)
75 return i;
76 NOTREACHED();
77 return 0;
78 }
79
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698