| Index: chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc | 
| diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc | 
| index 4d0fe51a39f5b50743733c84b361cd1efb0d4be7..cd8aef2ceaf0273e710ac54edd900434001b6c11 100644 | 
| --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc | 
| +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc | 
| @@ -784,25 +784,25 @@ void ChromeLauncherController::Observe( | 
| app_icon_loader_->ClearImage(extension->id()); | 
| break; | 
| } | 
| -    case chrome::NOTIFICATION_PREF_CHANGED: { | 
| -      const std::string& pref_name( | 
| -          *content::Details<std::string>(details).ptr()); | 
| -      if (pref_name == prefs::kPinnedLauncherApps) { | 
| -        UpdateAppLaunchersFromPref(); | 
| -      } else if (pref_name == prefs::kShelfAlignmentLocal) { | 
| -        SetShelfAlignmentFromPrefs(); | 
| -      } else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) { | 
| -        SetShelfAutoHideBehaviorFromPrefs(); | 
| -      } else { | 
| -        NOTREACHED() << "Unexpected pref change for " << pref_name; | 
| -      } | 
| -      break; | 
| -    } | 
| default: | 
| NOTREACHED() << "Unexpected notification type=" << type; | 
| } | 
| } | 
|  | 
| +void ChromeLauncherController::OnPreferenceChanged( | 
| +    PrefServiceBase* service, | 
| +    const std::string& pref_name) { | 
| +  if (pref_name == prefs::kPinnedLauncherApps) { | 
| +    UpdateAppLaunchersFromPref(); | 
| +  } else if (pref_name == prefs::kShelfAlignmentLocal) { | 
| +    SetShelfAlignmentFromPrefs(); | 
| +  } else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) { | 
| +    SetShelfAutoHideBehaviorFromPrefs(); | 
| +  } else { | 
| +    NOTREACHED() << "Unexpected pref change for " << pref_name; | 
| +  } | 
| +} | 
| + | 
| void ChromeLauncherController::OnShelfAlignmentChanged() { | 
| const char* pref_value = NULL; | 
| // TODO(oshima): Support multiple displays. | 
|  |