Commit 3ce5d41a authored by bcwhite@chromium.org's avatar bcwhite@chromium.org

Don't display multi-profile under Guest user.

Some settings make sense, even for Guest, but the profile management section should not be available.

BUG=285347

Review URL: https://codereview.chromium.org/167723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251861 0039d316-1c4b-4281-b951-d872f2087c98
parent df53da85
......@@ -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">
......
......@@ -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;
}
},
/**
......
......@@ -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());
......
......@@ -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();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment