summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-15 06:33:05 +0000
committerxiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-15 06:33:05 +0000
commitacbf0358ac006419aa66940feb3f27419e2f46d2 (patch)
treeb9b0984dce54ba13e6cd6d7739b24204057085a8
parent1ce7d7ea0dd9a6160ca28e82efe47d19a1566560 (diff)
downloadchromium_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
-rw-r--r--chrome/browser/chromeos/login/app_launch_signin_screen.cc5
-rw-r--r--chrome/browser/chromeos/login/kiosk_browsertest.cc3
-rw-r--r--chrome/browser/resources/chromeos/login/screen_account_picker.js9
-rw-r--r--chrome/browser/resources/chromeos/login/user_pod_row.js21
-rw-r--r--chrome/browser/ui/webui/chromeos/login/oobe_ui.h3
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();