| Index: chrome/browser/ui/browser.cc | 
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc | 
| index d8051d3c5dc3596b26c2f7db2d5df806a7e90dfe..005d66c3356c64a5db4c2b1770eb0e6feea4fd5a 100644 | 
| --- a/chrome/browser/ui/browser.cc | 
| +++ b/chrome/browser/ui/browser.cc | 
| @@ -1916,23 +1916,6 @@ void Browser::Observe(int type, | 
| break; | 
| #endif | 
|  | 
| -    case chrome::NOTIFICATION_PREF_CHANGED: { | 
| -      const std::string& pref_name = | 
| -          *content::Details<std::string>(details).ptr(); | 
| -      if (pref_name == prefs::kDevToolsDisabled) { | 
| -        if (profile_->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled)) | 
| -          content::DevToolsManager::GetInstance()->CloseAllClientHosts(); | 
| -      } else if (pref_name == prefs::kShowBookmarkBar) { | 
| -        UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE); | 
| -      } else if (pref_name == prefs::kHomePage) { | 
| -        PrefService* pref_service = content::Source<PrefService>(source).ptr(); | 
| -        MarkHomePageAsChanged(pref_service); | 
| -      } else { | 
| -        NOTREACHED(); | 
| -      } | 
| -      break; | 
| -    } | 
| - | 
| case chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED: { | 
| WebContents* web_contents = content::Source<WebContents>(source).ptr(); | 
| if (web_contents == chrome::GetActiveWebContents(this)) { | 
| @@ -1956,6 +1939,20 @@ void Browser::Observe(int type, | 
| } | 
| } | 
|  | 
| +void Browser::OnPreferenceChanged(PrefServiceBase* service, | 
| +                                  const std::string& pref_name) { | 
| +  if (pref_name == prefs::kDevToolsDisabled) { | 
| +    if (profile_->GetPrefs()->GetBoolean(prefs::kDevToolsDisabled)) | 
| +      content::DevToolsManager::GetInstance()->CloseAllClientHosts(); | 
| +  } else if (pref_name == prefs::kShowBookmarkBar) { | 
| +    UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE); | 
| +  } else if (pref_name == prefs::kHomePage) { | 
| +    MarkHomePageAsChanged(static_cast<PrefService*>(service)); | 
| +  } else { | 
| +    NOTREACHED(); | 
| +  } | 
| +} | 
| + | 
| void Browser::ModeChanged(const chrome::search::Mode& old_mode, | 
| const chrome::search::Mode& new_mode) { | 
| UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE); | 
|  |