summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/resources/options/browser_options.html2
-rw-r--r--chrome/browser/resources/options/browser_options.js8
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.cc33
-rw-r--r--chrome/browser/ui/webui/options/browser_options_handler.h3
4 files changed, 27 insertions, 19 deletions
diff --git a/chrome/browser/resources/options/browser_options.html b/chrome/browser/resources/options/browser_options.html
index a201f9c..2dfca69 100644
--- a/chrome/browser/resources/options/browser_options.html
+++ b/chrome/browser/resources/options/browser_options.html
@@ -143,7 +143,7 @@
</div>
</div>
</section>
- <section id="sync-users-section" guest-visibility="hidden">
+ <section id="sync-users-section" guest-visibility="hidden" hidden>
<h3 i18n-content="sectionTitleUsers"></h3>
<if expr="pp_ifdef('chromeos')">
<include src="sync_section.html">
diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js
index 5b1fc9d..8470aab 100644
--- a/chrome/browser/resources/options/browser_options.js
+++ b/chrome/browser/resources/options/browser_options.js
@@ -190,6 +190,7 @@ cr.define('options', function() {
// Users section.
if (loadTimeData.valueExists('profilesInfo')) {
+ $('sync-users-section').hidden = false;
$('profiles-section').hidden = false;
var profilesList = $('profiles-list');
@@ -867,7 +868,12 @@ cr.define('options', function() {
* users.
*/
updateManagesSupervisedUsers_: function(value) {
- $('profiles-supervised-dashboard-tip').hidden = !value;
+ if (value) {
+ $('sync-users-section').hidden = false;
+ $('profiles-supervised-dashboard-tip').hidden = false;
+ } else {
+ $('profiles-supervised-dashboard-tip').hidden = true;
+ }
},
/**
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc
index fc0eaa0..ccb9ac5 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc
@@ -136,21 +136,6 @@ using content::Referrer;
namespace options {
-namespace {
-
-bool ShouldShowMultiProfilesUserList(chrome::HostDesktopType desktop_type) {
-#if defined(OS_CHROMEOS)
- // On Chrome OS we use different UI for multi-profiles.
- return false;
-#else
- if (desktop_type != chrome::HOST_DESKTOP_TYPE_NATIVE)
- return false;
- return profiles::IsMultipleProfilesEnabled();
-#endif
-}
-
-} // namespace
-
BrowserOptionsHandler::BrowserOptionsHandler()
: page_initialized_(false),
template_url_service_(NULL),
@@ -563,7 +548,7 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) {
g_browser_process->profile_manager()->GetNumberOfProfiles() > 1);
#endif
- if (ShouldShowMultiProfilesUserList(helper::GetDesktopType(web_ui())))
+ if (ShouldShowMultiProfilesUserList())
values->Set("profilesInfo", GetProfilesInfoList().release());
values->SetBoolean("profileIsManaged",
@@ -941,6 +926,20 @@ bool BrowserOptionsHandler::ShouldShowSetDefaultBrowser() {
#endif
}
+bool BrowserOptionsHandler::ShouldShowMultiProfilesUserList() {
+#if defined(OS_CHROMEOS)
+ // On Chrome OS we use different UI for multi-profiles.
+ return false;
+#else
+ if (helper::GetDesktopType(web_ui()) != chrome::HOST_DESKTOP_TYPE_NATIVE)
+ return false;
+ Profile* profile = Profile::FromWebUI(web_ui());
+ if (profile->IsGuestSession())
+ return false;
+ return profiles::IsMultipleProfilesEnabled();
+#endif
+}
+
void BrowserOptionsHandler::UpdateDefaultBrowserState() {
#if defined(OS_MACOSX)
ShellIntegration::DefaultWebClientState state =
@@ -1189,7 +1188,7 @@ scoped_ptr<base::ListValue> BrowserOptionsHandler::GetProfilesInfoList() {
}
void BrowserOptionsHandler::SendProfilesInfo() {
- if (!ShouldShowMultiProfilesUserList(helper::GetDesktopType(web_ui())))
+ if (!ShouldShowMultiProfilesUserList())
return;
web_ui()->CallJavascriptFunction("BrowserOptions.setProfilesInfo",
*GetProfilesInfoList());
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.h b/chrome/browser/ui/webui/options/browser_options_handler.h
index d1b7660..ca9cd37 100644
--- a/chrome/browser/ui/webui/options/browser_options_handler.h
+++ b/chrome/browser/ui/webui/options/browser_options_handler.h
@@ -137,6 +137,9 @@ class BrowserOptionsHandler
// Returns if the "make Chrome default browser" button should be shown.
bool ShouldShowSetDefaultBrowser();
+ // Returns if profiles list should be shown on settings page.
+ bool ShouldShowMultiProfilesUserList();
+
// Gets the current default browser state, and asynchronously reports it to
// the WebUI page.
void UpdateDefaultBrowserState();