| Index: chrome/browser/ui/webui/options/personal_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/personal_options_handler.cc b/chrome/browser/ui/webui/options/personal_options_handler.cc
|
| index 9f97b65b98715cd5a48aae2c15308eba357a3738..38ab9cff206925d5f06d34004da180641fc269c4 100644
|
| --- a/chrome/browser/ui/webui/options/personal_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/personal_options_handler.cc
|
| @@ -31,6 +31,7 @@
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/net/gaia/google_service_auth_error.h"
|
| #include "chrome/common/url_constants.h"
|
| +#include "content/browser/tab_contents/tab_contents.h"
|
| #include "content/browser/user_metrics.h"
|
| #include "content/common/notification_service.h"
|
| #include "grit/chromium_strings.h"
|
| @@ -61,7 +62,7 @@ PersonalOptionsHandler::PersonalOptionsHandler() {
|
|
|
| PersonalOptionsHandler::~PersonalOptionsHandler() {
|
| ProfileSyncService* sync_service =
|
| - web_ui_->GetProfile()->GetProfileSyncService();
|
| + Profile::FromWebUI(web_ui_)->GetProfileSyncService();
|
| if (sync_service)
|
| sync_service->RemoveObserver(this);
|
| }
|
| @@ -233,7 +234,8 @@ void PersonalOptionsHandler::Observe(int type,
|
| void PersonalOptionsHandler::OnStateChanged() {
|
| string16 status_label;
|
| string16 link_label;
|
| - ProfileSyncService* service = web_ui_->GetProfile()->GetProfileSyncService();
|
| + ProfileSyncService* service =
|
| + Profile::FromWebUI(web_ui_)->GetProfileSyncService();
|
| DCHECK(service);
|
| bool managed = service->IsManaged();
|
| bool sync_setup_completed = service->HasSyncSetupCompleted();
|
| @@ -334,7 +336,7 @@ void PersonalOptionsHandler::OnLoginFailure(
|
| }
|
|
|
| void PersonalOptionsHandler::ObserveThemeChanged() {
|
| - Profile* profile = web_ui_->GetProfile();
|
| + Profile* profile = Profile::FromWebUI(web_ui_);
|
| #if defined(TOOLKIT_GTK)
|
| GtkThemeService* theme_service = GtkThemeService::GetFrom(profile);
|
| bool is_gtk_theme = theme_service->UsingNativeTheme();
|
| @@ -353,16 +355,17 @@ void PersonalOptionsHandler::ObserveThemeChanged() {
|
| }
|
|
|
| void PersonalOptionsHandler::Initialize() {
|
| + Profile* profile = Profile::FromWebUI(web_ui_);
|
| +
|
| // Listen for theme installation.
|
| registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
|
| Source<ThemeService>(ThemeServiceFactory::GetForProfile(
|
| - web_ui_->GetProfile())));
|
| + profile)));
|
| registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
|
| NotificationService::AllSources());
|
| ObserveThemeChanged();
|
|
|
| - ProfileSyncService* sync_service =
|
| - web_ui_->GetProfile()->GetProfileSyncService();
|
| + ProfileSyncService* sync_service = profile->GetProfileSyncService();
|
| if (sync_service) {
|
| sync_service->AddObserver(this);
|
| OnStateChanged();
|
| @@ -373,13 +376,15 @@ void PersonalOptionsHandler::Initialize() {
|
|
|
| void PersonalOptionsHandler::ThemesReset(const ListValue* args) {
|
| UserMetrics::RecordAction(UserMetricsAction("Options_ThemesReset"));
|
| - ThemeServiceFactory::GetForProfile(web_ui_->GetProfile())->UseDefaultTheme();
|
| + Profile* profile = Profile::FromWebUI(web_ui_);
|
| + ThemeServiceFactory::GetForProfile(profile)->UseDefaultTheme();
|
| }
|
|
|
| #if defined(TOOLKIT_GTK)
|
| void PersonalOptionsHandler::ThemesSetGTK(const ListValue* args) {
|
| UserMetrics::RecordAction(UserMetricsAction("Options_GtkThemeSet"));
|
| - ThemeServiceFactory::GetForProfile(web_ui_->GetProfile())->SetNativeTheme();
|
| + Profile* profile = Profile::FromWebUI(web_ui_);
|
| + ThemeServiceFactory::GetForProfile(profile)->SetNativeTheme();
|
| }
|
| #endif
|
|
|
| @@ -411,7 +416,8 @@ void PersonalOptionsHandler::SendProfilesInfo() {
|
| ProfileInfoCache& cache =
|
| g_browser_process->profile_manager()->GetProfileInfoCache();
|
| ListValue profile_info_list;
|
| - FilePath current_profile_path = web_ui_->GetProfile()->GetPath();
|
| + FilePath current_profile_path =
|
| + web_ui_->tab_contents()->browser_context()->GetPath();
|
| for (size_t i = 0, e = cache.GetNumberOfProfiles(); i < e; ++i) {
|
| DictionaryValue *profile_value = new DictionaryValue();
|
| size_t icon_index = cache.GetAvatarIconIndexOfProfileAtIndex(i);
|
|
|