diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-15 06:33:05 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-15 06:33:05 +0000 |
commit | acbf0358ac006419aa66940feb3f27419e2f46d2 (patch) | |
tree | b9b0984dce54ba13e6cd6d7739b24204057085a8 | |
parent | 1ce7d7ea0dd9a6160ca28e82efe47d19a1566560 (diff) | |
download | chromium_src-acbf0358ac006419aa66940feb3f27419e2f46d2.zip chromium_src-acbf0358ac006419aa66940feb3f27419e2f46d2.tar.gz chromium_src-acbf0358ac006419aa66940feb3f27419e2f46d2.tar.bz2 |
Merge 256462 "kiosk: No app pods on auth-to-config-network screen."
> kiosk: No app pods on auth-to-config-network screen.
>
> BUG=350997
>
> Review URL: https://codereview.chromium.org/193323002
TBR=xiyuan@chromium.org
Review URL: https://codereview.chromium.org/199413021
git-svn-id: svn://svn.chromium.org/chrome/branches/1847/src@257310 0039d316-1c4b-4281-b951-d872f2087c98
5 files changed, 36 insertions, 5 deletions
diff --git a/chrome/browser/chromeos/login/app_launch_signin_screen.cc b/chrome/browser/chromeos/login/app_launch_signin_screen.cc index 2ba22bd..53c1314 100644 --- a/chrome/browser/chromeos/login/app_launch_signin_screen.cc +++ b/chrome/browser/chromeos/login/app_launch_signin_screen.cc @@ -4,11 +4,13 @@ #include "chrome/browser/chromeos/login/app_launch_signin_screen.h" +#include "base/values.h" #include "chrome/browser/chromeos/login/help_app_launcher.h" #include "chrome/browser/chromeos/login/login_utils.h" #include "chrome/browser/chromeos/login/user.h" #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/web_ui.h" #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" @@ -29,6 +31,9 @@ AppLaunchSigninScreen::~AppLaunchSigninScreen() { void AppLaunchSigninScreen::Show() { InitOwnerUserList(); + oobe_ui_->web_ui()->CallJavascriptFunction( + "login.AccountPickerScreen.setShouldShowApps", + base::FundamentalValue(false)); oobe_ui_->ShowSigninScreen(LoginScreenContext(), this, NULL); } diff --git a/chrome/browser/chromeos/login/kiosk_browsertest.cc b/chrome/browser/chromeos/login/kiosk_browsertest.cc index fd51820..957018e 100644 --- a/chrome/browser/chromeos/login/kiosk_browsertest.cc +++ b/chrome/browser/chromeos/login/kiosk_browsertest.cc @@ -518,6 +518,9 @@ class KioskTest : public OobeBaseTest { ->OnConfigureNetwork(); lock_screen_waiter.Wait(); + // There should be only one owner pod on this screen. + JsExpect("$('pod-row').isSinglePod"); + // A network error screen should be shown after authenticating. OobeScreenWaiter error_screen_waiter(OobeDisplay::SCREEN_ERROR_MESSAGE); static_cast<AppLaunchSigninScreen::Delegate*>(GetAppLaunchController()) diff --git a/chrome/browser/resources/chromeos/login/screen_account_picker.js b/chrome/browser/resources/chromeos/login/screen_account_picker.js index 606fd19..899b001 100644 --- a/chrome/browser/resources/chromeos/login/screen_account_picker.js +++ b/chrome/browser/resources/chromeos/login/screen_account_picker.js @@ -25,6 +25,7 @@ login.createScreen('AccountPickerScreen', 'account-picker', function() { 'loadUsers', 'runAppForTesting', 'setApps', + 'setShouldShowApps', 'showAppError', 'updateUserImage', 'forceOnlineSignin', @@ -203,6 +204,14 @@ login.createScreen('AccountPickerScreen', 'account-picker', function() { }, /** + * Sets the flag of whether app pods should be visible. + * @param {boolean} shouldShowApps Whether to show app pods. + */ + setShouldShowApps: function(shouldShowApps) { + $('pod-row').setShouldShowApps(shouldShowApps); + }, + + /** * Shows the given kiosk app error message. * @param {!string} message Error message to show. */ diff --git a/chrome/browser/resources/chromeos/login/user_pod_row.js b/chrome/browser/resources/chromeos/login/user_pod_row.js index e3cf684..4643369 100644 --- a/chrome/browser/resources/chromeos/login/user_pod_row.js +++ b/chrome/browser/resources/chromeos/login/user_pod_row.js @@ -1189,6 +1189,9 @@ cr.define('login', function() { // Array of apps that are shown in addition to other user pods. apps_: [], + // True to show app pods along with user pods. + shouldShowApps_: true, + // Array of users that are shown (public/supervised/regular). users_: [], @@ -1416,8 +1419,10 @@ cr.define('login', function() { this.podsWithPendingImages_.push(pod); // TODO(nkostylev): Edge case handling when kiosk apps are not fitting. - for (var i = 0; i < this.apps_.length; ++i) - this.addUserPod(this.apps_[i], this.userAddIsAnimated_); + if (this.shouldShowApps_) { + for (var i = 0; i < this.apps_.length; ++i) + this.addUserPod(this.apps_[i], this.userAddIsAnimated_); + } // Make sure we eventually show the pod row, even if some image is stuck. setTimeout(function() { @@ -1471,6 +1476,18 @@ cr.define('login', function() { }, /** + * Sets whether should show app pods. + * @param {boolean} shouldShowApps Whether app pods should be shown. + */ + setShouldShowApps: function(shouldShowApps) { + if (this.shouldShowApps_ == shouldShowApps) + return; + + this.shouldShowApps_ = shouldShowApps; + this.rebuildPods(); + }, + + /** * Shows a button on a user pod with an icon. Clicking on this button * triggers an event used by the chrome.screenlockPrivate API. * @param {string} username Username of pod to add button diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h index 1e52bc2..08d66e8 100644 --- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h +++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h @@ -119,9 +119,6 @@ class OobeUI : public OobeDisplay, SigninScreenHandlerDelegate* delegate, NativeWindowDelegate* native_window_delegate); - // Shows the kiosk splash screen. - void ShowAppLaunchSplashScreen(); - // Resets the delegate set in ShowSigninScreen. void ResetSigninScreenHandlerDelegate(); |