summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/options_window.h3
-rw-r--r--chrome/browser/sync/personalization.cc2
-rw-r--r--chrome/browser/views/options/content_page_view.cc145
-rw-r--r--chrome/browser/views/options/content_page_view.h45
-rw-r--r--chrome/browser/views/options/options_window_view.cc13
-rw-r--r--chrome/browser/views/options/user_data_page_view.cc186
-rw-r--r--chrome/browser/views/options/user_data_page_view.h88
-rw-r--r--chrome/chrome.gyp2
8 files changed, 191 insertions, 293 deletions
diff --git a/chrome/browser/options_window.h b/chrome/browser/options_window.h
index e9be16c..ad119f9 100644
--- a/chrome/browser/options_window.h
+++ b/chrome/browser/options_window.h
@@ -15,9 +15,6 @@ enum OptionsPage {
OPTIONS_PAGE_DEFAULT = -1,
OPTIONS_PAGE_GENERAL,
OPTIONS_PAGE_CONTENT,
-#ifdef CHROME_PERSONALIZATION
- OPTIONS_PAGE_USER_DATA,
-#endif
OPTIONS_PAGE_ADVANCED,
OPTIONS_PAGE_COUNT
};
diff --git a/chrome/browser/sync/personalization.cc b/chrome/browser/sync/personalization.cc
index 8e6a67c..8bd3c0d 100644
--- a/chrome/browser/sync/personalization.cc
+++ b/chrome/browser/sync/personalization.cc
@@ -157,7 +157,7 @@ void HandleMenuItemClick(Profile* p) {
ProfileSyncService* service = p->GetProfilePersonalization()->sync_service();
DCHECK(service);
if (service->IsSyncEnabledByUser()) {
- ShowOptionsWindow(OPTIONS_PAGE_USER_DATA, OPTIONS_GROUP_NONE, p);
+ ShowOptionsWindow(OPTIONS_PAGE_CONTENT, OPTIONS_GROUP_NONE, p);
} else {
service->EnableForUser();
}
diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc
index e83be63..b838e7b 100644
--- a/chrome/browser/views/options/content_page_view.cc
+++ b/chrome/browser/views/options/content_page_view.cc
@@ -16,6 +16,8 @@
#include "chrome/browser/browser.h"
#include "chrome/browser/browser_list.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/sync/personalization_strings.h"
+#include "chrome/browser/sync/sync_status_ui_helper.h"
#include "chrome/browser/views/clear_browsing_data.h"
#include "chrome/browser/views/importer_view.h"
#include "chrome/browser/views/options/options_group_view.h"
@@ -33,6 +35,15 @@ namespace {
const int kPasswordSavingRadioGroup = 1;
const int kFormAutofillRadioGroup = 2;
+
+#ifdef CHROME_PERSONALIZATION
+// Background color for the status label when it's showing an error.
+static const SkColor kSyncLabelErrorBgColor = SkColorSetRGB(0xff, 0x9a, 0x9a);
+
+static views::Background* CreateErrorBackground() {
+ return views::Background::CreateSolidBackground(kSyncLabelErrorBgColor);
+}
+#endif
} // namespace
ContentPageView::ContentPageView(Profile* profile)
@@ -49,10 +60,29 @@ ContentPageView::ContentPageView(Profile* profile)
browsing_data_group_(NULL),
import_button_(NULL),
clear_data_button_(NULL),
+#ifdef CHROME_PERSONALIZATION
+ sync_group_(NULL),
+ sync_status_label_(NULL),
+ sync_action_link_(NULL),
+ sync_start_stop_button_(NULL),
+ sync_service_(NULL),
+#endif
OptionsPageView(profile) {
+#ifdef CHROME_PERSONALIZATION
+ ProfilePersonalization* profile_p13n = profile->GetProfilePersonalization();
+ if (profile_p13n) {
+ sync_service_ = profile_p13n->sync_service();
+ DCHECK(sync_service_);
+ sync_service_->AddObserver(this);
+ }
+#endif
}
ContentPageView::~ContentPageView() {
+#ifdef CHROME_PERSONALIZATION
+ if (sync_service_)
+ sync_service_->RemoveObserver(this);
+#endif
}
///////////////////////////////////////////////////////////////////////////////
@@ -102,9 +132,26 @@ void ContentPageView::ButtonPressed(views::Button* sender) {
GetWindow()->GetNativeWindow(),
gfx::Rect(),
new ClearBrowsingDataView(profile()))->Show();
+#ifdef CHROME_PERSONALIZATION
+ } else if (sender == sync_start_stop_button_) {
+ DCHECK(sync_service_);
+ if (sync_service_->IsSyncEnabledByUser()) {
+ sync_service_->DisableForUser();
+ } else {
+ sync_service_->EnableForUser();
+ }
+#endif
}
}
+#ifdef CHROME_PERSONALIZATION
+void ContentPageView::LinkActivated(views::Link* source, int event_flags) {
+ DCHECK_EQ(source, sync_action_link_);
+ DCHECK(sync_service_);
+ sync_service_->ShowLoginDialog();
+}
+#endif
+
////////////////////////////////////////////////////////////////////////////////
// ContentPageView, OptionsPageView implementation:
@@ -120,6 +167,16 @@ void ContentPageView::InitControlLayout() {
ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1,
GridLayout::USE_PREF, 0, 0);
+
+#ifdef CHROME_PERSONALIZATION
+ if (sync_service_) {
+ layout->StartRow(0, single_column_view_set_id);
+ InitSyncGroup();
+ layout->AddView(sync_group_);
+ layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
+ }
+#endif
+
layout->StartRow(0, single_column_view_set_id);
InitPasswordSavingGroup();
layout->AddView(passwords_group_);
@@ -168,6 +225,10 @@ void ContentPageView::NotifyPrefChanged(const std::wstring* pref_name) {
// ContentsPageView, views::View overrides:
void ContentPageView::Layout() {
+#ifdef CHROME_PERSONALIZATION
+ if (is_initialized())
+ UpdateSyncControls();
+#endif
// We need to Layout twice - once to get the width of the contents box...
View::Layout();
passwords_asktosave_radio_->SetBounds(
@@ -176,10 +237,29 @@ void ContentPageView::Layout() {
0, 0, passwords_group_->GetContentsWidth(), 0);
browsing_data_label_->SetBounds(
0, 0, browsing_data_group_->GetContentsWidth(), 0);
+#ifdef CHROME_PERSONALIZATION
+ if (is_initialized()) {
+ sync_status_label_->SetBounds(
+ 0, 0, sync_group_->GetContentsWidth(), 0);
+ }
+#endif
// ... and twice to get the height of multi-line items correct.
View::Layout();
}
+
+///////////////////////////////////////////////////////////////////////////////
+// ContentsPageView, ProfileSyncServiceObserver implementation:
+#ifdef CHROME_PERSONALIZATION
+void ContentPageView::OnStateChanged() {
+ // If the UI controls are not yet initialized, then don't do anything. This
+ // can happen if the Options dialog is up, but the Content tab is not yet
+ // clicked.
+ if (is_initialized())
+ Layout();
+}
+#endif
+
///////////////////////////////////////////////////////////////////////////////
// ContentPageView, private:
@@ -332,3 +412,68 @@ void ContentPageView::InitBrowsingDataGroup() {
contents, l10n_util::GetString(IDS_OPTIONS_BROWSING_DATA_GROUP_NAME),
L"", true);
}
+
+#ifdef CHROME_PERSONALIZATION
+void ContentPageView::InitSyncGroup() {
+ sync_status_label_ = new views::Label;
+ sync_status_label_->SetMultiLine(true);
+ sync_status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
+
+ sync_action_link_ = new views::Link();
+ sync_action_link_->set_collapse_when_hidden(true);
+ sync_action_link_->SetController(this);
+
+ sync_start_stop_button_ = new views::NativeButton(this, std::wstring());
+
+ using views::GridLayout;
+ using views::ColumnSet;
+
+ views::View* contents = new views::View;
+ GridLayout* layout = new GridLayout(contents);
+ contents->SetLayoutManager(layout);
+
+ const int single_column_view_set_id = 0;
+ ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
+ column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 1,
+ GridLayout::USE_PREF, 0, 0);
+ layout->StartRow(0, single_column_view_set_id);
+ layout->AddView(sync_status_label_);
+ layout->StartRow(0, single_column_view_set_id);
+ layout->AddView(sync_action_link_);
+ layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
+ layout->StartRow(0, single_column_view_set_id);
+ layout->AddView(sync_start_stop_button_);
+
+ sync_group_ = new OptionsGroupView(contents,
+ kSyncGroupName,
+ std::wstring(),
+ true);
+}
+
+void ContentPageView::UpdateSyncControls() {
+ DCHECK(sync_service_);
+ std::wstring status_label;
+ std::wstring link_label;
+ std::wstring button_label;
+ bool sync_enabled = sync_service_->IsSyncEnabledByUser();
+ bool status_has_error = SyncStatusUIHelper::GetLabels(sync_service_,
+ &status_label, &link_label) == SyncStatusUIHelper::SYNC_ERROR;
+ button_label = sync_enabled ? kStopSyncButtonLabel :
+ sync_service_->SetupInProgress() ? UTF8ToWide(kSettingUpText)
+ : kStartSyncButtonLabel;
+
+ sync_status_label_->SetText(status_label);
+ sync_start_stop_button_->SetEnabled(!sync_service_->WizardIsVisible());
+ sync_start_stop_button_->SetLabel(button_label);
+ sync_action_link_->SetText(link_label);
+ sync_action_link_->SetVisible(!link_label.empty());
+ if (status_has_error) {
+ sync_status_label_->set_background(CreateErrorBackground());
+ sync_action_link_->set_background(CreateErrorBackground());
+ } else {
+ sync_status_label_->set_background(NULL);
+ sync_action_link_->set_background(NULL);
+ }
+}
+
+#endif
diff --git a/chrome/browser/views/options/content_page_view.h b/chrome/browser/views/options/content_page_view.h
index 006c204..5693b4f 100644
--- a/chrome/browser/views/options/content_page_view.h
+++ b/chrome/browser/views/options/content_page_view.h
@@ -5,13 +5,16 @@
#ifndef CHROME_BROWSER_VIEWS_OPTIONS_CONTENT_PAGE_VIEW_H_
#define CHROME_BROWSER_VIEWS_OPTIONS_CONTENT_PAGE_VIEW_H_
+#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/views/options/options_page_view.h"
#include "chrome/common/pref_member.h"
#include "views/controls/button/button.h"
+#include "views/controls/link.h"
#include "views/view.h"
namespace views {
class Checkbox;
+class Label;
class NativeButton;
class RadioButton;
}
@@ -23,6 +26,10 @@ class PrefService;
// ContentPageView
class ContentPageView : public OptionsPageView,
+#ifdef CHROME_PERSONALIZATION
+ public views::LinkController,
+ public ProfileSyncServiceObserver,
+#endif
public views::ButtonListener {
public:
explicit ContentPageView(Profile* profile);
@@ -31,6 +38,14 @@ class ContentPageView : public OptionsPageView,
// views::ButtonListener implementation:
virtual void ButtonPressed(views::Button* sender);
+#ifdef CHROME_PERSONALIZATION
+ // views::LinkController method.
+ virtual void LinkActivated(views::Link* source, int event_flags);
+
+ // ProfileSyncServiceObserver methods.
+ virtual void OnStateChanged();
+#endif
+
protected:
// OptionsPageView implementation:
virtual void InitControlLayout();
@@ -40,11 +55,27 @@ class ContentPageView : public OptionsPageView,
virtual void Layout();
private:
+#ifdef CHROME_PERSONALIZATION
+ // Updates various sync controls based on the current sync state.
+ void UpdateSyncControls();
+
+ // Returns whether initialization of controls is done or not.
+ bool is_initialized() const {
+ // If initialization is already done, all the UI controls data members
+ // should be non-NULL. So check for one of them to determine if controls
+ // are already initialized or not.
+ return sync_group_ != NULL;
+ }
+#endif
+
// Init all the dialog controls.
void InitPasswordSavingGroup();
void InitFormAutofillGroup();
void InitBrowsingDataGroup();
void InitThemesGroup();
+#ifdef CHROME_PERSONALIZATION
+ void InitSyncGroup();
+#endif
// Controls for the Password Saving group
views::NativeButton* passwords_exceptions_button_;
@@ -68,9 +99,23 @@ class ContentPageView : public OptionsPageView,
views::NativeButton* import_button_;
views::NativeButton* clear_data_button_;
+#ifdef CHROME_PERSONALIZATION
+ // Controls for the Sync group.
+ OptionsGroupView* sync_group_;
+ views::Label* sync_status_label_;
+ views::Link* sync_action_link_;
+ views::NativeButton* sync_start_stop_button_;
+#endif
+
BooleanPrefMember ask_to_save_passwords_;
BooleanPrefMember ask_to_save_form_autofill_;
+#ifdef CHROME_PERSONALIZATION
+ // Cached pointer to ProfileSyncService, if it exists. Kept up to date
+ // and NULL-ed out on destruction.
+ ProfileSyncService* sync_service_;
+#endif
+
DISALLOW_COPY_AND_ASSIGN(ContentPageView);
};
diff --git a/chrome/browser/views/options/options_window_view.cc b/chrome/browser/views/options/options_window_view.cc
index 7554a57..f338eb7 100644
--- a/chrome/browser/views/options/options_window_view.cc
+++ b/chrome/browser/views/options/options_window_view.cc
@@ -11,10 +11,6 @@
#include "chrome/browser/views/options/advanced_page_view.h"
#include "chrome/browser/views/options/content_page_view.h"
#include "chrome/browser/views/options/general_page_view.h"
-#ifdef CHROME_PERSONALIZATION
-#include "chrome/browser/sync/personalization.h"
-#include "chrome/browser/views/options/user_data_page_view.h"
-#endif
#include "chrome/common/chrome_constants.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/pref_service.h"
@@ -202,15 +198,6 @@ void OptionsWindowView::Init() {
l10n_util::GetString(IDS_OPTIONS_CONTENT_TAB_LABEL),
content_page, false);
-#ifdef CHROME_PERSONALIZATION
- if (!Personalization::IsP13NDisabled(profile_)) {
- UserDataPageView* user_data_page = new UserDataPageView(profile_);
- tabs_->AddTabAtIndex(tab_index++,
- l10n_util::GetString(IDS_OPTIONS_USER_DATA_TAB_LABEL),
- user_data_page, false);
- }
-#endif
-
AdvancedPageView* advanced_page = new AdvancedPageView(profile_);
tabs_->AddTabAtIndex(tab_index++,
l10n_util::GetString(IDS_OPTIONS_ADVANCED_TAB_LABEL),
diff --git a/chrome/browser/views/options/user_data_page_view.cc b/chrome/browser/views/options/user_data_page_view.cc
deleted file mode 100644
index cb7d4ea..0000000
--- a/chrome/browser/views/options/user_data_page_view.cc
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifdef CHROME_PERSONALIZATION
-
-#include "chrome/browser/views/options/user_data_page_view.h"
-
-#include "app/l10n_util.h"
-#include "base/path_service.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/profile.h"
-#include "chrome/browser/profile_manager.h"
-#include "chrome/browser/sync/auth_error_state.h"
-#include "chrome/browser/sync/personalization_strings.h"
-#include "chrome/browser/sync/profile_sync_service.h"
-#include "chrome/browser/sync/sync_status_ui_helper.h"
-#include "chrome/browser/views/clear_browsing_data.h"
-#include "chrome/browser/views/importer_view.h"
-#include "chrome/browser/views/options/options_group_view.h"
-#include "chrome/browser/views/options/options_page_view.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/pref_member.h"
-#include "chrome/common/pref_service.h"
-#include "grit/generated_resources.h"
-#include "third_party/skia/include/core/SkColor.h"
-#include "views/background.h"
-#include "views/controls/button/native_button.h"
-#include "views/controls/label.h"
-#include "views/controls/link.h"
-#include "views/controls/table/table_view.h"
-#include "views/grid_layout.h"
-#include "views/standard_layout.h"
-#include "views/view.h"
-#include "views/widget/widget.h"
-#include "views/window/window.h"
-
-// Background color for the status label when it's showing an error.
-static const SkColor kSyncLabelErrorBgColor = SkColorSetRGB(0xff, 0x9a, 0x9a);
-
-static views::Background* CreateErrorBackground() {
- return views::Background::CreateSolidBackground(kSyncLabelErrorBgColor);
-}
-
-UserDataPageView::UserDataPageView(Profile* profile)
- : OptionsPageView(profile),
- sync_group_(NULL),
- sync_status_label_(NULL),
- sync_action_link_(NULL),
- sync_start_stop_button_(NULL),
- sync_service_(profile->GetProfilePersonalization()->sync_service()) {
- DCHECK(sync_service_);
- sync_service_->AddObserver(this);
-}
-
-UserDataPageView::~UserDataPageView() {
- sync_service_->RemoveObserver(this);
-}
-
-void UserDataPageView::ButtonPressed(views::Button* sender) {
- DCHECK(sender == sync_start_stop_button_);
- if (!sync_service_->IsSyncEnabledByUser()) {
- // Sync has not been enabled yet.
- sync_service_->EnableForUser();
- } else {
- sync_service_->DisableForUser();
- }
-}
-
-void UserDataPageView::LinkActivated(views::Link* source, int event_flags) {
- DCHECK_EQ(source, sync_action_link_);
- sync_service_->ShowLoginDialog();
-}
-
-void UserDataPageView::InitControlLayout() {
- using views::GridLayout;
- using views::ColumnSet;
-
- GridLayout* layout = new GridLayout(this);
- layout->SetInsets(5, 5, 5, 5);
- SetLayoutManager(layout);
-
- const int single_column_view_set_id = 0;
- 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);
- InitSyncGroup();
- layout->AddView(sync_group_);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
-}
-
-void UserDataPageView::NotifyPrefChanged(const std::wstring* pref_name) {
-}
-
-void UserDataPageView::OnStateChanged() {
- // If the UI controls are not yet initialized, then don't do anything. This
- // can happen if the Options dialog is up, but the User Data tab is not yet
- // clicked.
- if (IsInitialized())
- Layout();
-}
-
-void UserDataPageView::HighlightGroup(OptionsGroup highlight_group) {
-}
-
-void UserDataPageView::Layout() {
- UpdateControls();
- // We need to Layout twice - once to get the width of the contents box...
- View::Layout();
- int sync_group_width = sync_group_->GetContentsWidth();
- sync_status_label_->SetBounds(0, 0, sync_group_width, 0);
- // ... and twice to get the height of multi-line items correct.
- View::Layout();
-}
-
-void UserDataPageView::InitSyncGroup() {
- sync_status_label_ = new views::Label;
- sync_status_label_->SetMultiLine(true);
- sync_status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
-
- sync_action_link_ = new views::Link();
- sync_action_link_->set_collapse_when_hidden(true);
- sync_action_link_->SetController(this);
-
- sync_start_stop_button_ = new views::NativeButton(this, std::wstring());
-
- using views::GridLayout;
- using views::ColumnSet;
-
- views::View* contents = new views::View;
- GridLayout* layout = new GridLayout(contents);
- contents->SetLayoutManager(layout);
-
- const int single_column_view_set_id = 0;
- ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 1,
- GridLayout::USE_PREF, 0, 0);
-
- // Currently we add the status label and the link in two rows. This is not
- // the same as the mocks. If we add label and the link in two columns to make
- // it look like the mocks then we can have a UI layout issue. If the label
- // has text that fits in one line, the appearance is fine. But if the label
- // has text with multiple lines, the appearance can be a bit detached. See
- // bug 1648522 for details.
- // TODO(munjal): Change the layout after we fix bug 1648522.
- layout->StartRow(0, single_column_view_set_id);
- layout->AddView(sync_status_label_);
- layout->StartRow(0, single_column_view_set_id);
- layout->AddView(sync_action_link_);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- layout->StartRow(0, single_column_view_set_id);
- layout->AddView(sync_start_stop_button_);
-
- sync_group_ = new OptionsGroupView(contents,
- kSyncGroupName,
- std::wstring(),
- true);
-}
-
-void UserDataPageView::UpdateControls() {
- std::wstring status_label;
- std::wstring link_label;
- std::wstring button_label;
- bool sync_enabled = sync_service_->IsSyncEnabledByUser();
- bool status_has_error = SyncStatusUIHelper::GetLabels(sync_service_,
- &status_label, &link_label) == SyncStatusUIHelper::SYNC_ERROR;
- button_label = sync_enabled ? kStopSyncButtonLabel :
- sync_service_->SetupInProgress() ? UTF8ToWide(kSettingUpText)
- : kStartSyncButtonLabel;
-
- sync_status_label_->SetText(status_label);
- sync_start_stop_button_->SetEnabled(!sync_service_->WizardIsVisible());
- sync_start_stop_button_->SetLabel(button_label);
- sync_action_link_->SetText(link_label);
- sync_action_link_->SetVisible(!link_label.empty());
- if (status_has_error) {
- sync_status_label_->set_background(CreateErrorBackground());
- sync_action_link_->set_background(CreateErrorBackground());
- } else {
- sync_status_label_->set_background(NULL);
- sync_action_link_->set_background(NULL);
- }
-}
-
-#endif // CHROME_PERSONALIZATION
diff --git a/chrome/browser/views/options/user_data_page_view.h b/chrome/browser/views/options/user_data_page_view.h
deleted file mode 100644
index 840721a..0000000
--- a/chrome/browser/views/options/user_data_page_view.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifdef CHROME_PERSONALIZATION
-
-#ifndef CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
-#define CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
-
-#include "chrome/browser/sync/profile_sync_service.h"
-#include "chrome/browser/views/options/options_page_view.h"
-#include "chrome/common/pref_member.h"
-#include "views/controls/button/button.h"
-#include "views/controls/link.h"
-#include "views/view.h"
-
-namespace views {
-class GroupboxView;
-class Label;
-class NativeButton;
-}
-
-// TODO(idana): once the p13n module becomes public, we should get rid of the
-// sync specific options dialog tab and just add a bookmark sync section to the
-// existing (and newly added) "Personal Stuff" tab.
-
-class OptionsGroupView;
-
-///////////////////////////////////////////////////////////////////////////////
-// UserDataPageView
-
-class UserDataPageView : public OptionsPageView,
- public views::ButtonListener,
- public views::LinkController,
- public ProfileSyncServiceObserver {
- public:
- explicit UserDataPageView(Profile* profile);
- virtual ~UserDataPageView();
-
- protected:
- // views::ButtonListener implementation:
- virtual void ButtonPressed(views::Button* sender);
-
- // views::LinkController method.
- virtual void LinkActivated(views::Link* source, int event_flags);
-
- // OptionsPageView implementation:
- virtual void InitControlLayout();
- virtual void NotifyPrefChanged(const std::wstring* pref_name);
- virtual void HighlightGroup(OptionsGroup highlight_group);
-
- // views::View overrides:
- virtual void Layout();
-
- // ProfileSyncServiceObserver methods.
- virtual void OnStateChanged();
-
- private:
- // Updates various controls based on the current sync state.
- void UpdateControls();
- // Returns whether initialization of controls is done or not.
- bool IsInitialized() const {
- // If initialization is already done, all the UI controls data members
- // should be non-NULL. So check for one of them to determine if controls
- // are already initialized or not.
- return sync_group_ != NULL;
- }
- // Helper to get status label for synced state.
- std::wstring GetSyncedStateStatusLabel() const;
-
- void InitSyncGroup();
-
- // Controls for the Sync group.
- OptionsGroupView* sync_group_;
- views::Label* sync_status_label_;
- views::Link* sync_action_link_;
- views::NativeButton* sync_start_stop_button_;
-
- // Cached pointer to ProfileSyncService, if it exists. Kept up to date
- // and NULL-ed out on destruction.
- ProfileSyncService* sync_service_;
-
- DISALLOW_COPY_AND_ASSIGN(UserDataPageView);
-};
-
-#endif // CHROME_BROWSER_VIEWS_OPTIONS_USER_DATA_PAGE_VIEW_H_
-
-#endif // CHROME_PERSONALIZATION
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index 80d4ea6..a4bda02 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -1839,8 +1839,6 @@
'browser/views/options/passwords_exceptions_window_view.h',
'browser/views/options/passwords_page_view.cc',
'browser/views/options/passwords_page_view.h',
- 'browser/views/options/user_data_page_view.cc',
- 'browser/views/options/user_data_page_view.h',
'browser/views/page_info_window_view.cc',
'browser/views/panel_controller.cc',
'browser/views/panel_controller.h',