diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 09:13:58 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-15 09:13:58 +0000 |
commit | 7bef619f7f1cde7d07e5642afd5a780c15e3e6d9 (patch) | |
tree | 8b68565aacb1fea1ea1ceea7e1525dab503d8f1a /chrome | |
parent | ec5c5f2cc84954fc2e745887bea3f006c5f8e7d7 (diff) | |
download | chromium_src-7bef619f7f1cde7d07e5642afd5a780c15e3e6d9.zip chromium_src-7bef619f7f1cde7d07e5642afd5a780c15e3e6d9.tar.gz chromium_src-7bef619f7f1cde7d07e5642afd5a780c15e3e6d9.tar.bz2 |
Show the managed prefs warning banner for some advanced options.
BUG=48470
TEST=Configure policy, check advanced page of preferences dialog.
Review URL: http://codereview.chromium.org/2908007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52467 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/cocoa/preferences_window_controller.mm | 56 | ||||
-rw-r--r-- | chrome/browser/gtk/options/advanced_page_gtk.cc | 7 | ||||
-rw-r--r-- | chrome/browser/gtk/options/advanced_page_gtk.h | 4 | ||||
-rw-r--r-- | chrome/browser/gtk/options/content_page_gtk.cc | 8 | ||||
-rw-r--r-- | chrome/browser/gtk/options/general_page_gtk.cc | 11 | ||||
-rw-r--r-- | chrome/browser/gtk/options/managed_prefs_banner_gtk.cc | 5 | ||||
-rw-r--r-- | chrome/browser/gtk/options/managed_prefs_banner_gtk.h | 4 | ||||
-rw-r--r-- | chrome/browser/managed_prefs_banner_base.cc | 47 | ||||
-rw-r--r-- | chrome/browser/managed_prefs_banner_base.h | 13 | ||||
-rw-r--r-- | chrome/browser/managed_prefs_banner_base_unittest.cc | 27 | ||||
-rw-r--r-- | chrome/browser/views/options/advanced_page_view.cc | 6 | ||||
-rw-r--r-- | chrome/browser/views/options/content_page_view.cc | 11 | ||||
-rw-r--r-- | chrome/browser/views/options/general_page_view.cc | 11 | ||||
-rw-r--r-- | chrome/browser/views/options/managed_prefs_banner_view.cc | 5 | ||||
-rw-r--r-- | chrome/browser/views/options/managed_prefs_banner_view.h | 9 |
15 files changed, 99 insertions, 125 deletions
diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm index 5a075cf..a9c2cf3 100644 --- a/chrome/browser/cocoa/preferences_window_controller.mm +++ b/chrome/browser/cocoa/preferences_window_controller.mm @@ -70,17 +70,6 @@ static const double kBannerGradientColorBottom[3] = {250.0 / 255.0, 230.0 / 255.0, 145.0 / 255.0}; static const double kBannerStrokeColor = 135.0 / 255.0; -// Preferences relevant to the general page potentially constrained by policy. -static const wchar_t* kGeneralPolicyConstrainedPrefs[] = { - prefs::kHomePage, - prefs::kHomePageIsNewTabPage -}; - -// Content page preferences that are potentially constrained by policy. -static const wchar_t* kContentPolicyConstrainedPrefs[] = { - prefs::kSyncManaged -}; - std::string GetNewTabUIURLString() { return URLFixerUpper::FixupURL(chrome::kChromeUINewTabURL, std::string()).possibly_invalid_spec(); @@ -402,35 +391,17 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase { public: virtual ~ManagedPrefsBannerState() { } + explicit ManagedPrefsBannerState(PreferencesWindowController* controller, + OptionsPage page, + PrefService* prefs) + : ManagedPrefsBannerBase(prefs, page), + controller_(controller), + page_(page) { } + BOOL IsVisible() { return DetermineVisibility() ? YES : NO; } - // Create a banner state tracker object suitable for use with a given |page|. - static ManagedPrefsBannerState* CreateForPage( - PreferencesWindowController* controller, - OptionsPage page, - PrefService* prefs) { - switch (page) { - case OPTIONS_PAGE_GENERAL: - return new ManagedPrefsBannerState(controller, page, prefs, - kGeneralPolicyConstrainedPrefs, - arraysize(kGeneralPolicyConstrainedPrefs)); - case OPTIONS_PAGE_CONTENT: - return new ManagedPrefsBannerState(controller, page, prefs, - kContentPolicyConstrainedPrefs, - arraysize(kContentPolicyConstrainedPrefs)); - break; - case OPTIONS_PAGE_ADVANCED: - break; - case OPTIONS_PAGE_DEFAULT: - case OPTIONS_PAGE_COUNT: - LOG(DFATAL) << "Invalid page value " << page; - break; - } - return new ManagedPrefsBannerState(controller, page, prefs, NULL, 0); - } - protected: // Overridden from ManagedPrefsBannerBase. virtual void OnUpdateVisibility() { @@ -438,15 +409,6 @@ class ManagedPrefsBannerState : public ManagedPrefsBannerBase { } private: - explicit ManagedPrefsBannerState(PreferencesWindowController* controller, - OptionsPage page, - PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count) - : ManagedPrefsBannerBase(prefs, relevant_prefs, count), - controller_(controller), - page_(page) { } - PreferencesWindowController* controller_; // weak, owns us OptionsPage page_; // current options page }; @@ -1939,8 +1901,8 @@ const int kDisabledIndex = 1; - (void)initBannerStateForPage:(OptionsPage)page { page = [self normalizePage:page]; bannerState_.reset( - PreferencesWindowControllerInternal::ManagedPrefsBannerState:: - CreateForPage(self, page, prefs_)); + new PreferencesWindowControllerInternal::ManagedPrefsBannerState( + self, page, prefs_)); } - (void)switchToPage:(OptionsPage)page animate:(BOOL)animate { diff --git a/chrome/browser/gtk/options/advanced_page_gtk.cc b/chrome/browser/gtk/options/advanced_page_gtk.cc index 168cfbf..71c8052 100644 --- a/chrome/browser/gtk/options/advanced_page_gtk.cc +++ b/chrome/browser/gtk/options/advanced_page_gtk.cc @@ -8,12 +8,14 @@ #include "app/l10n_util.h" #include "chrome/browser/gtk/gtk_util.h" #include "chrome/browser/options_util.h" +#include "chrome/browser/profile.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" AdvancedPageGtk::AdvancedPageGtk(Profile* profile) : OptionsPageBase(profile), - advanced_contents_(profile) { + advanced_contents_(profile), + managed_prefs_banner_(profile->GetPrefs(), OPTIONS_PAGE_ADVANCED) { Init(); } @@ -25,6 +27,9 @@ void AdvancedPageGtk::Init() { gtk_container_set_border_width(GTK_CONTAINER(page_), gtk_util::kContentAreaBorder); + gtk_box_pack_start(GTK_BOX(page_), managed_prefs_banner_.banner_widget(), + false, false, 0); + GtkWidget* scroll_window = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(page_), scroll_window); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_window), diff --git a/chrome/browser/gtk/options/advanced_page_gtk.h b/chrome/browser/gtk/options/advanced_page_gtk.h index a12cdf6..91be437 100644 --- a/chrome/browser/gtk/options/advanced_page_gtk.h +++ b/chrome/browser/gtk/options/advanced_page_gtk.h @@ -9,6 +9,7 @@ #include "app/gtk_signal.h" #include "chrome/browser/gtk/options/advanced_contents_gtk.h" +#include "chrome/browser/gtk/options/managed_prefs_banner_gtk.h" #include "chrome/browser/options_page_base.h" #include "chrome/browser/pref_member.h" @@ -38,6 +39,9 @@ class AdvancedPageGtk : public OptionsPageBase { // The widget containing the options for this page. GtkWidget* page_; + // Tracks managed preference warning banner state. + ManagedPrefsBannerGtk managed_prefs_banner_; + DISALLOW_COPY_AND_ASSIGN(AdvancedPageGtk); }; diff --git a/chrome/browser/gtk/options/content_page_gtk.cc b/chrome/browser/gtk/options/content_page_gtk.cc index 4cc89ed..ef3b1a2 100644 --- a/chrome/browser/gtk/options/content_page_gtk.cc +++ b/chrome/browser/gtk/options/content_page_gtk.cc @@ -42,11 +42,6 @@ namespace { // Background color for the status label when it's showing an error. static const GdkColor kSyncLabelErrorBgColor = GDK_COLOR_RGB(0xff, 0x9a, 0x9a); -// Set of preferences which might be unavailable for editing when managed. -const wchar_t* kContentManagablePrefs[] = { - prefs::kSyncManaged -}; - // Helper for WrapLabelAtAllocationHack. void OnLabelAllocate(GtkWidget* label, GtkAllocation* allocation) { gtk_widget_set_size_request(label, allocation->width, -1); @@ -86,8 +81,7 @@ ContentPageGtk::ContentPageGtk(Profile* profile) privacy_dashboard_link_(NULL), initializing_(true), sync_service_(NULL), - managed_prefs_banner_(profile->GetPrefs(), kContentManagablePrefs, - arraysize(kContentManagablePrefs)) { + managed_prefs_banner_(profile->GetPrefs(), OPTIONS_PAGE_CONTENT) { if (profile->GetProfileSyncService()) { sync_service_ = profile->GetProfileSyncService(); sync_service_->AddObserver(this); diff --git a/chrome/browser/gtk/options/general_page_gtk.cc b/chrome/browser/gtk/options/general_page_gtk.cc index 80327cc..17c10017 100644 --- a/chrome/browser/gtk/options/general_page_gtk.cc +++ b/chrome/browser/gtk/options/general_page_gtk.cc @@ -56,13 +56,6 @@ enum { SEARCH_ENGINES_COL_COUNT, }; -// All general preferences that are potentially managed by policy. We'll -// display the warning banner if one of these have the managed bit set. -static const wchar_t* kGeneralPolicyConstrainedPrefs[] = { - prefs::kHomePage, - prefs::kHomePageIsNewTabPage -}; - } // namespace /////////////////////////////////////////////////////////////////////////////// @@ -75,9 +68,7 @@ GeneralPageGtk::GeneralPageGtk(Profile* profile) initializing_(true), default_browser_worker_( new ShellIntegration::DefaultBrowserWorker(this)), - managed_prefs_banner_(profile->GetPrefs(), - kGeneralPolicyConstrainedPrefs, - arraysize(kGeneralPolicyConstrainedPrefs)) { + managed_prefs_banner_(profile->GetPrefs(), OPTIONS_PAGE_GENERAL) { scoped_ptr<OptionsLayoutBuilderGtk> options_builder(OptionsLayoutBuilderGtk::CreateOptionallyCompactLayout()); page_ = options_builder->get_page_widget(); diff --git a/chrome/browser/gtk/options/managed_prefs_banner_gtk.cc b/chrome/browser/gtk/options/managed_prefs_banner_gtk.cc index 71e3309..a175fad 100644 --- a/chrome/browser/gtk/options/managed_prefs_banner_gtk.cc +++ b/chrome/browser/gtk/options/managed_prefs_banner_gtk.cc @@ -18,9 +18,8 @@ const int kBannerPadding = 3; } ManagedPrefsBannerGtk::ManagedPrefsBannerGtk(PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count) - : ManagedPrefsBannerBase(prefs, relevant_prefs, count), + OptionsPage page) + : ManagedPrefsBannerBase(prefs, page), banner_widget_(NULL) { InitWidget(); OnUpdateVisibility(); diff --git a/chrome/browser/gtk/options/managed_prefs_banner_gtk.h b/chrome/browser/gtk/options/managed_prefs_banner_gtk.h index 5007d98..499d782 100644 --- a/chrome/browser/gtk/options/managed_prefs_banner_gtk.h +++ b/chrome/browser/gtk/options/managed_prefs_banner_gtk.h @@ -16,9 +16,7 @@ // not settable by the user due to policy. class ManagedPrefsBannerGtk : public ManagedPrefsBannerBase { public: - ManagedPrefsBannerGtk(PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count); + ManagedPrefsBannerGtk(PrefService* prefs, OptionsPage page); virtual ~ManagedPrefsBannerGtk() { } GtkWidget* banner_widget() { return banner_widget_; } diff --git a/chrome/browser/managed_prefs_banner_base.cc b/chrome/browser/managed_prefs_banner_base.cc index 09dcde6..c11ec4e 100644 --- a/chrome/browser/managed_prefs_banner_base.cc +++ b/chrome/browser/managed_prefs_banner_base.cc @@ -8,18 +8,30 @@ #include "chrome/common/notification_details.h" #include "chrome/common/notification_source.h" #include "chrome/common/notification_type.h" +#include "chrome/common/pref_names.h" ManagedPrefsBannerBase::ManagedPrefsBannerBase(PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count) + OptionsPage page) : prefs_(prefs) { - for (size_t i = 0; i < count; ++i) { - // Ignore prefs that are not registered. - const wchar_t* pref = relevant_prefs[i]; - if (prefs->FindPreference(pref)) { - prefs_->AddPrefObserver(pref, this); - relevant_prefs_.insert(pref); - } + switch (page) { + case OPTIONS_PAGE_GENERAL: + AddPref(prefs::kHomePage); + AddPref(prefs::kHomePageIsNewTabPage); + break; + case OPTIONS_PAGE_CONTENT: + AddPref(prefs::kSyncManaged); + break; + case OPTIONS_PAGE_ADVANCED: + AddPref(prefs::kAlternateErrorPagesEnabled); + AddPref(prefs::kSearchSuggestEnabled); + AddPref(prefs::kDnsPrefetchingEnabled); + AddPref(prefs::kSafeBrowsingEnabled); +#if defined(GOOGLE_CHROME_BUILD) + AddPref(prefs::kMetricsReportingEnabled); +#endif + break; + default: + NOTREACHED(); } } @@ -39,6 +51,23 @@ void ManagedPrefsBannerBase::Observe(NotificationType type, } } +void ManagedPrefsBannerBase::AddPref(const wchar_t* pref) { + if (!relevant_prefs_.count(pref)) { + if (prefs_->FindPreference(pref)) { + prefs_->AddPrefObserver(pref, this); + relevant_prefs_.insert(pref); + } + } +} + +void ManagedPrefsBannerBase::RemovePref(const wchar_t* pref) { + PrefSet::iterator iter = relevant_prefs_.find(pref); + if (iter != relevant_prefs_.end()) { + prefs_->RemovePrefObserver(pref, this); + relevant_prefs_.erase(iter); + } +} + bool ManagedPrefsBannerBase::DetermineVisibility() const { for (PrefSet::const_iterator pref_name(relevant_prefs_.begin()); pref_name != relevant_prefs_.end(); ++pref_name) { diff --git a/chrome/browser/managed_prefs_banner_base.h b/chrome/browser/managed_prefs_banner_base.h index b06d0c8..bc39189 100644 --- a/chrome/browser/managed_prefs_banner_base.h +++ b/chrome/browser/managed_prefs_banner_base.h @@ -9,6 +9,7 @@ #include <string> #include "base/basictypes.h" +#include "chrome/browser/options_window.h" #include "chrome/common/notification_observer.h" class PrefService; @@ -18,9 +19,10 @@ class PrefService; // configuration policy and thus cannot be changed by the user. class ManagedPrefsBannerBase : public NotificationObserver { public: - ManagedPrefsBannerBase(PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count); + // Initialize the banner with a set of preferences suitable for the given + // options |page|. Subclasses may change that set by calling AddPref() and + // RemovePref() afterwards. + ManagedPrefsBannerBase(PrefService* prefs, OptionsPage page); virtual ~ManagedPrefsBannerBase(); // Determine whether the banner should be visible. @@ -32,6 +34,11 @@ class ManagedPrefsBannerBase : public NotificationObserver { const NotificationDetails& details); protected: + // Add a preference as visibility trigger. + void AddPref(const wchar_t* pref); + // Remove a preference from being a visibility trigger. + void RemovePref(const wchar_t* pref); + // Update banner visibility. This is called whenever a preference change is // observed that may lead to changed visibility of the banner. Subclasses may // override this in order to show/hide the banner. diff --git a/chrome/browser/managed_prefs_banner_base_unittest.cc b/chrome/browser/managed_prefs_banner_base_unittest.cc index 08c80a8..16c9f98 100644 --- a/chrome/browser/managed_prefs_banner_base_unittest.cc +++ b/chrome/browser/managed_prefs_banner_base_unittest.cc @@ -9,6 +9,12 @@ #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +namespace { + +const wchar_t* kDummyPref = L"dummy"; + +} // namespace + // Tests whether managed preferences banner base functionality correctly // determines banner visiblity. class ManagedPrefsBannerBaseTest : public testing::Test { @@ -24,6 +30,7 @@ class ManagedPrefsBannerBaseTest : public testing::Test { default_prefs_))); pref_service_->RegisterStringPref(prefs::kHomePage, "http://google.com"); pref_service_->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, false); + pref_service_->RegisterBooleanPref(kDummyPref, false); } scoped_ptr<PrefService> pref_service_; @@ -33,15 +40,10 @@ class ManagedPrefsBannerBaseTest : public testing::Test { DummyPrefStore* default_prefs_; }; -static const wchar_t* managed_prefs[] = { - prefs::kHomePage -}; - TEST_F(ManagedPrefsBannerBaseTest, VisibilityTest) { - ManagedPrefsBannerBase banner(pref_service_.get(), managed_prefs, - arraysize(managed_prefs)); + ManagedPrefsBannerBase banner(pref_service_.get(), OPTIONS_PAGE_GENERAL); EXPECT_FALSE(banner.DetermineVisibility()); - managed_prefs_->prefs()->SetBoolean(prefs::kHomePageIsNewTabPage, true); + managed_prefs_->prefs()->SetBoolean(kDummyPref, true); EXPECT_FALSE(banner.DetermineVisibility()); user_prefs_->prefs()->SetString(prefs::kHomePage, "http://foo.com"); EXPECT_FALSE(banner.DetermineVisibility()); @@ -52,19 +54,16 @@ TEST_F(ManagedPrefsBannerBaseTest, VisibilityTest) { // Mock class that allows to capture the notification callback. class ManagedPrefsBannerBaseMock : public ManagedPrefsBannerBase { public: - ManagedPrefsBannerBaseMock(PrefService* pref_service, - const wchar_t** relevant_prefs, - size_t count) - : ManagedPrefsBannerBase(pref_service, relevant_prefs, count) { } + ManagedPrefsBannerBaseMock(PrefService* pref_service, OptionsPage page) + : ManagedPrefsBannerBase(pref_service, page) { } MOCK_METHOD0(OnUpdateVisibility, void()); }; TEST_F(ManagedPrefsBannerBaseTest, NotificationTest) { - ManagedPrefsBannerBaseMock banner(pref_service_.get(), managed_prefs, - arraysize(managed_prefs)); + ManagedPrefsBannerBaseMock banner(pref_service_.get(), OPTIONS_PAGE_GENERAL); EXPECT_CALL(banner, OnUpdateVisibility()).Times(0); - pref_service_->SetBoolean(prefs::kHomePageIsNewTabPage, true); + pref_service_->SetBoolean(kDummyPref, true); EXPECT_CALL(banner, OnUpdateVisibility()).Times(1); pref_service_->SetString(prefs::kHomePage, "http://foo.com"); } diff --git a/chrome/browser/views/options/advanced_page_view.cc b/chrome/browser/views/options/advanced_page_view.cc index f506400..9c75994 100644 --- a/chrome/browser/views/options/advanced_page_view.cc +++ b/chrome/browser/views/options/advanced_page_view.cc @@ -9,7 +9,9 @@ #include "base/string_util.h" #include "base/values.h" #include "chrome/browser/options_util.h" +#include "chrome/browser/profile.h" #include "chrome/browser/views/options/advanced_contents_view.h" +#include "chrome/browser/views/options/managed_prefs_banner_view.h" #include "chrome/common/chrome_constants.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" @@ -130,6 +132,10 @@ void AdvancedPageView::InitControlLayout() { ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id); column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1, GridLayout::USE_PREF, 0, 0); + layout->StartRow(0, single_column_view_set_id); + layout->AddView( + new ManagedPrefsBannerView(profile()->GetPrefs(), OPTIONS_PAGE_ADVANCED)); + layout->StartRow(1, single_column_view_set_id); layout->AddView(advanced_scroll_view_); layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc index 093c90d..1a368e7 100644 --- a/chrome/browser/views/options/content_page_view.cc +++ b/chrome/browser/views/options/content_page_view.cc @@ -50,12 +50,6 @@ const int kFormAutofillRadioGroup = 202; // Background color for the status label when it's showing an error. static const SkColor kSyncLabelErrorBgColor = SkColorSetRGB(0xff, 0x9a, 0x9a); -// All content related preferences that are potentially managed by policy. We'll -// display the warning banner if one of these have the managed bit set. -const wchar_t* kContentPolicyConstrainedPrefs[] = { - prefs::kSyncManaged -}; - static views::Background* CreateErrorBackground() { return views::Background::CreateSolidBackground(kSyncLabelErrorBgColor); } @@ -206,9 +200,8 @@ void ContentPageView::InitControlLayout() { layout->StartRow(0, single_column_view_set_id); layout->AddView( - new ManagedPrefsBannerView(profile()->GetPrefs(), - kContentPolicyConstrainedPrefs, - arraysize(kContentPolicyConstrainedPrefs))); + new ManagedPrefsBannerView(profile()->GetPrefs(), OPTIONS_PAGE_CONTENT)); + if (sync_service_) { layout->StartRow(0, single_column_view_set_id); InitSyncGroup(); diff --git a/chrome/browser/views/options/general_page_view.cc b/chrome/browser/views/options/general_page_view.cc index d7c36a7..be464b4 100644 --- a/chrome/browser/views/options/general_page_view.cc +++ b/chrome/browser/views/options/general_page_view.cc @@ -44,13 +44,6 @@ const SkColor kDefaultBrowserLabelColor = SkColorSetRGB(0, 135, 0); const SkColor kNotDefaultBrowserLabelColor = SkColorSetRGB(135, 0, 0); const int kHomePageTextfieldWidthChars = 40; -// All general preferences that are potentially managed by policy. We'll -// display the warning banner if one of these have the managed bit set. -const wchar_t* kGeneralPolicyConstrainedPrefs[] = { - prefs::kHomePage, - prefs::kHomePageIsNewTabPage -}; - } // namespace /////////////////////////////////////////////////////////////////////////////// @@ -318,9 +311,7 @@ void GeneralPageView::InitControlLayout() { layout->StartRow(0, single_column_view_set_id); layout->AddView( - new ManagedPrefsBannerView(profile()->GetPrefs(), - kGeneralPolicyConstrainedPrefs, - arraysize(kGeneralPolicyConstrainedPrefs))); + new ManagedPrefsBannerView(profile()->GetPrefs(), OPTIONS_PAGE_GENERAL)); layout->StartRow(0, single_column_view_set_id); InitStartupGroup(); diff --git a/chrome/browser/views/options/managed_prefs_banner_view.cc b/chrome/browser/views/options/managed_prefs_banner_view.cc index 020617c..09febc4 100644 --- a/chrome/browser/views/options/managed_prefs_banner_view.cc +++ b/chrome/browser/views/options/managed_prefs_banner_view.cc @@ -19,9 +19,8 @@ static const int kPrefsBannerPadding = 3; static const int kPrefsBannerBorderSize = 1; ManagedPrefsBannerView::ManagedPrefsBannerView(PrefService* prefs, - const wchar_t** relevant_prefs, - size_t count) - : ManagedPrefsBannerBase(prefs, relevant_prefs, count) { + OptionsPage page) + : ManagedPrefsBannerBase(prefs, page) { content_ = new views::View; SkColor border_color = color_utils::GetSysSkColor(COLOR_3DSHADOW); views::Border* border = views::Border::CreateSolidBorder( diff --git a/chrome/browser/views/options/managed_prefs_banner_view.h b/chrome/browser/views/options/managed_prefs_banner_view.h index 60c9953..6002ada 100644 --- a/chrome/browser/views/options/managed_prefs_banner_view.h +++ b/chrome/browser/views/options/managed_prefs_banner_view.h @@ -19,12 +19,9 @@ class Label; class ManagedPrefsBannerView : public ManagedPrefsBannerBase, public views::View { public: - // Initialize the banner. |relevant_prefs| is an array of |count| prefs - // holding names of the preferences that control the banner visibility - // through their managed flag. - ManagedPrefsBannerView(PrefService* pref_service, - const wchar_t** relevant_prefs, - size_t count); + // Initialize the banner. |page| is used to determine the names of the + // preferences that control the banner visibility through their managed flag. + ManagedPrefsBannerView(PrefService* pref_service, OptionsPage page); virtual ~ManagedPrefsBannerView() {} private: |