Index: chrome/browser/cocoa/preferences_window_controller.mm |
=================================================================== |
--- chrome/browser/cocoa/preferences_window_controller.mm (revision 53956) |
+++ chrome/browser/cocoa/preferences_window_controller.mm (working copy) |
@@ -392,8 +392,9 @@ |
explicit ManagedPrefsBannerState(PreferencesWindowController* controller, |
OptionsPage page, |
+ PrefService* local_state, |
PrefService* prefs) |
- : ManagedPrefsBannerBase(prefs, page), |
+ : ManagedPrefsBannerBase(local_state, prefs, page), |
controller_(controller), |
page_(page) { } |
@@ -1960,9 +1961,16 @@ |
// preferences relevant to the given options |page|. |
- (void)initBannerStateForPage:(OptionsPage)page { |
page = [self normalizePage:page]; |
+ |
+ // During unit tests, there is no local state object, so we fall back to |
+ // the prefs object (where we've explicitly registered this pref so we |
+ // know it's there). |
+ PrefService* local = g_browser_process->local_state(); |
+ if (!local) |
+ local = prefs_; |
bannerState_.reset( |
new PreferencesWindowControllerInternal::ManagedPrefsBannerState( |
- self, page, prefs_)); |
+ self, page, local, prefs_)); |
} |
- (void)switchToPage:(OptionsPage)page animate:(BOOL)animate { |