Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(468)

Side by Side Diff: ui/login/account_picker/md_user_pod_row.js

Issue 2921213002: Fix misplacement of PIN keyboard and sign-in banner for new login screen (Closed)
Patch Set: Address comments Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/login/account_picker/md_user_pod_row.css ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview User pod row implementation. 6 * @fileoverview User pod row implementation.
7 */ 7 */
8 8
9 cr.define('login', function() { 9 cr.define('login', function() {
10 /** 10 /**
(...skipping 11 matching lines...) Expand all
22 var CROS_SMALL_POD_HEIGHT = 74; 22 var CROS_SMALL_POD_HEIGHT = 74;
23 var CROS_EXTRA_SMALL_POD_HEIGHT = 60; 23 var CROS_EXTRA_SMALL_POD_HEIGHT = 60;
24 var DESKTOP_POD_HEIGHT = 226; 24 var DESKTOP_POD_HEIGHT = 226;
25 var MD_DESKTOP_POD_HEIGHT = 200; 25 var MD_DESKTOP_POD_HEIGHT = 200;
26 var POD_ROW_PADDING = 10; 26 var POD_ROW_PADDING = 10;
27 var DESKTOP_ROW_PADDING = 32; 27 var DESKTOP_ROW_PADDING = 32;
28 var CUSTOM_ICON_CONTAINER_SIZE = 40; 28 var CUSTOM_ICON_CONTAINER_SIZE = 40;
29 var CROS_PIN_POD_HEIGHT = 417; 29 var CROS_PIN_POD_HEIGHT = 417;
30 var SCROLL_MASK_HEIGHT = 112; 30 var SCROLL_MASK_HEIGHT = 112;
31 var BANNER_MESSAGE_WIDTH = 520; 31 var BANNER_MESSAGE_WIDTH = 520;
32 var CROS_POD_HEIGHT_WITH_PIN = 618;
32 33
33 /** 34 /**
34 * The maximum number of users that each pod placement method can handle. 35 * The maximum number of users that each pod placement method can handle.
35 */ 36 */
36 var POD_ROW_LIMIT = 2; 37 var POD_ROW_LIMIT = 2;
37 var LANDSCAPE_MODE_LIMIT = 6; 38 var LANDSCAPE_MODE_LIMIT = 6;
38 var PORTRAIT_MODE_LIMIT = 9; 39 var PORTRAIT_MODE_LIMIT = 9;
39 40
40 /** 41 /**
41 * Minimal padding between user pod and virtual keyboard. 42 * Minimal padding between user pod and virtual keyboard.
(...skipping 1236 matching lines...) Expand 10 before | Expand all | Expand 10 after
1278 return; 1279 return;
1279 1280
1280 // Do not show pin if virtual keyboard is there. 1281 // Do not show pin if virtual keyboard is there.
1281 if (visible && Oobe.getInstance().virtualKeyboardShown) 1282 if (visible && Oobe.getInstance().virtualKeyboardShown)
1282 return; 1283 return;
1283 1284
1284 // Do not show pin keyboard if the pod does not have pin enabled. 1285 // Do not show pin keyboard if the pod does not have pin enabled.
1285 if (visible && !this.pinEnabled) 1286 if (visible && !this.pinEnabled)
1286 return; 1287 return;
1287 1288
1289 // Do not show pin keyboard if the pod is not in large style.
1290 if (visible && this.getPodStyle() != UserPod.Style.LARGE)
1291 return;
1292
1288 var elements = this.getElementsByClassName('pin-tag'); 1293 var elements = this.getElementsByClassName('pin-tag');
1289 for (var i = 0; i < elements.length; ++i) 1294 for (var i = 0; i < elements.length; ++i)
1290 this.updatePinClass_(elements[i], visible); 1295 this.updatePinClass_(elements[i], visible);
1291 this.updatePinClass_(this, visible); 1296 this.updatePinClass_(this, visible);
1292 1297
1293 // Set the focus to the input element after showing/hiding pin keyboard. 1298 // Set the focus to the input element after showing/hiding pin keyboard.
1294 this.mainInput.focus(); 1299 this.mainInput.focus();
1295 1300
1296 // Change the password placeholder based on pin keyboard visibility. 1301 // Change the password placeholder based on pin keyboard visibility.
1297 this.passwordElement.placeholder = loadTimeData.getString(visible ? 1302 this.passwordElement.placeholder = loadTimeData.getString(visible ?
1298 'pinKeyboardPlaceholderPinPassword' : 'passwordHint'); 1303 'pinKeyboardPlaceholderPinPassword' : 'passwordHint');
1299 1304
1305 // Adjust the vertical position based on the pin keyboard visibility.
1306 var podHeight = visible ? CROS_POD_HEIGHT_WITH_PIN : CROS_POD_HEIGHT;
1307 this.top = ($('pod-row').screenSize.height - podHeight) / 2;
1308
1300 chrome.send('setForceDisableVirtualKeyboard', [visible]); 1309 chrome.send('setForceDisableVirtualKeyboard', [visible]);
1301 }, 1310 },
1302 1311
1303 isPinShown: function() { 1312 isPinShown: function() {
1304 return this.classList.contains('pin-enabled'); 1313 return this.classList.contains('pin-enabled');
1305 }, 1314 },
1306 1315
1307 setUserPodIconType: function(userTypeClass) { 1316 setUserPodIconType: function(userTypeClass) {
1308 this.userTypeIconAreaElement.classList.add(userTypeClass); 1317 this.userTypeIconAreaElement.classList.add(userTypeClass);
1309 // TODO(wzang): Evaluate all icon types other than supervised user and 1318 // TODO(wzang): Evaluate all icon types other than supervised user and
(...skipping 2162 matching lines...) Expand 10 before | Expand all | Expand 10 after
3472 // Appends all pods to their proper parents. Small pods have parent other 3481 // Appends all pods to their proper parents. Small pods have parent other
3473 // than the pod row. The pods were all initialized with the pow row as a 3482 // than the pod row. The pods were all initialized with the pow row as a
3474 // temporary parent, which is intended to ensure that all event listeners 3483 // temporary parent, which is intended to ensure that all event listeners
3475 // work properly. If the main pod already exists, it means we are in the 3484 // work properly. If the main pod already exists, it means we are in the
3476 // process of resizing the window, then there is no need to change parents 3485 // process of resizing the window, then there is no need to change parents
3477 // of any pod. 3486 // of any pod.
3478 if (!this.mainPod_) { 3487 if (!this.mainPod_) {
3479 this.mainPod_ = this.preselectedPod; 3488 this.mainPod_ = this.preselectedPod;
3480 this.appendPodsToParents_(); 3489 this.appendPodsToParents_();
3481 } 3490 }
3482 this.restoreInitialStates_(); 3491 this.handleBeforePodPlacement_();
3483 this.hideEmptyArea_();
3484 // Clear error bubbles whenever pod placement is happening, i.e., after
3485 // orientation change, showing or hiding virtual keyboard, and user
3486 // removal.
3487 Oobe.clearErrors();
3488 3492
3489 if (this.isScreenShrinked_()) { 3493 if (this.isScreenShrinked_()) {
3490 // When virtual keyboard is shown, the account picker should occupy 3494 // When virtual keyboard is shown, the account picker should occupy
3491 // all the remaining screen. Screen size was already updated to exclude 3495 // all the remaining screen. Screen size was already updated to exclude
3492 // the virtual keyboard. 3496 // the virtual keyboard.
3493 this.parentNode.setPreferredSize( 3497 this.parentNode.setPreferredSize(
3494 this.screenSize.width, this.screenSize.height); 3498 this.screenSize.width, this.screenSize.height);
3495 } else { 3499 } else {
3496 // Make sure not to block the header bar when virtual keyboard is absent . 3500 // Make sure not to block the header bar when virtual keyboard is absent .
3497 this.parentNode.setPreferredSize( 3501 this.parentNode.setPreferredSize(
3498 Oobe.getInstance().clientAreaSize.width, 3502 Oobe.getInstance().clientAreaSize.width,
3499 Oobe.getInstance().clientAreaSize.height); 3503 Oobe.getInstance().clientAreaSize.height);
3500 } 3504 }
3501 3505
3502 if (pods.length == 1) { 3506 if (pods.length == 1) {
3503 this.placeSinglePod_(); 3507 this.placeSinglePod_();
3504 } else if (pods.length == POD_ROW_LIMIT) { 3508 } else if (pods.length == POD_ROW_LIMIT) {
3505 this.placePodsOnPodRow_(); 3509 this.placePodsOnPodRow_();
3506 } else { 3510 } else {
3507 this.placePodsOnContainer_(); 3511 this.placePodsOnContainer_();
3508 } 3512 }
3509 Oobe.getInstance().updateScreenSize(this.parentNode); 3513 Oobe.getInstance().updateScreenSize(this.parentNode);
3510 this.updatePodNameArea_(); 3514 this.handleAfterPodPlacement_();
3511 }, 3515 },
3512 3516
3513 /** 3517 /**
3514 * Appends pods to proper parents. Called each time before pod placement. 3518 * Appends pods to proper parents. Called each time before pod placement.
3515 * @private 3519 * @private
3516 */ 3520 */
3517 appendPodsToParents_: function() { 3521 appendPodsToParents_: function() {
3518 var pods = this.pods; 3522 var pods = this.pods;
3519 // Pod count may have changed, so the placement method may change 3523 // Pod count may have changed, so the placement method may change
3520 // accordingly. Therefore, always remove all pods from their current 3524 // accordingly. Therefore, always remove all pods from their current
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
3768 lastPod.style.paddingBottom = cr.ui.toCssPx(actualTopPadding); 3772 lastPod.style.paddingBottom = cr.ui.toCssPx(actualTopPadding);
3769 }, 3773 },
3770 3774
3771 /** 3775 /**
3772 * Called each time before pod placement to ensure we start with the 3776 * Called each time before pod placement to ensure we start with the
3773 * initial state, which is ready to place only one user pod. The styles 3777 * initial state, which is ready to place only one user pod. The styles
3774 * of elements necessary for other placement methods must be set 3778 * of elements necessary for other placement methods must be set
3775 * explicitly each time. 3779 * explicitly each time.
3776 * @private 3780 * @private
3777 */ 3781 */
3778 restoreInitialStates_: function() { 3782 handleBeforePodPlacement_: function() {
3779 this.smallPodsContainer.hidden = true; 3783 this.smallPodsContainer.hidden = true;
3780 document.querySelector('.small-pod-container-mask').hidden = true; 3784 document.querySelector('.small-pod-container-mask').hidden = true;
3781 document.querySelector('.small-pod-container-mask.rotate').hidden = true; 3785 document.querySelector('.small-pod-container-mask.rotate').hidden = true;
3782 this.smallPodsContainer.classList.remove('scroll'); 3786 this.smallPodsContainer.classList.remove('scroll');
3783 var pods = this.pods; 3787 var pods = this.pods;
3784 for (var pod of pods) { 3788 for (var pod of pods) {
3785 // There is a chance that one of the pods has a bottom padding, so 3789 // There is a chance that one of the pods has a bottom padding, so
3786 // reset all of them to be safe. This is because if the pod was at 3790 // reset all of them to be safe. This is because if the pod was at
3787 // the last position in the scrollable container, a bottom padding 3791 // the last position in the scrollable container, a bottom padding
3788 // was added to ensure a symmetric layout. 3792 // was added to ensure a symmetric layout.
3789 pod.style.paddingBottom = cr.ui.toCssPx(0); 3793 pod.style.paddingBottom = cr.ui.toCssPx(0);
3790 // Remove the switch animation that might be added earlier. 3794 // Remove the switch animation that might be added earlier.
3791 pod.imageElement.classList.remove('switch-image-animation'); 3795 pod.imageElement.classList.remove('switch-image-animation');
3792 pod.smallPodImageElement.classList.remove('switch-image-animation'); 3796 pod.smallPodImageElement.classList.remove('switch-image-animation');
3793 } 3797 }
3798 this.hideEmptyArea_();
3799 // Clear error bubbles whenever pod placement is happening, i.e., after
3800 // orientation change, showing or hiding virtual keyboard, and user
3801 // removal.
3802 Oobe.clearErrors();
3794 }, 3803 },
3795 3804
3796 /** 3805 /**
3797 * Checks if the screen is in portrait mode. 3806 * Checks if the screen is in portrait mode.
3798 * @return {boolean} True if in portrait mode. 3807 * @return {boolean} True if in portrait mode.
3799 */ 3808 */
3800 isPortraitMode_: function() { 3809 isPortraitMode_: function() {
3801 return this.screenSize.width < this.screenSize.height; 3810 return this.screenSize.width < this.screenSize.height;
3802 }, 3811 },
3803 3812
(...skipping 23 matching lines...) Expand all
3827 bottomMask.hidden = false; 3836 bottomMask.hidden = false;
3828 bottomMask.style.left = this.smallPodsContainer.style.left; 3837 bottomMask.style.left = this.smallPodsContainer.style.left;
3829 bottomMask.style.width = this.smallPodsContainer.style.width; 3838 bottomMask.style.width = this.smallPodsContainer.style.width;
3830 // The bottom mask should overlap with the header bar, and its z-index 3839 // The bottom mask should overlap with the header bar, and its z-index
3831 // is chosen to ensure it does not block users from using the header bar. 3840 // is chosen to ensure it does not block users from using the header bar.
3832 bottomMask.style.top = 3841 bottomMask.style.top =
3833 cr.ui.toCssPx(this.screenSize.height - SCROLL_MASK_HEIGHT); 3842 cr.ui.toCssPx(this.screenSize.height - SCROLL_MASK_HEIGHT);
3834 }, 3843 },
3835 3844
3836 /** 3845 /**
3837 * Makes sure that: 3846 * Called after pod placement and before showing the pod row. Updates
3838 * 1) User name on each large pod is centered. 3847 * elements whose style may depend on the pod placement outcome.
3839 * 2) Extra long names don't exceed maximum pod width.
3840 * 3) Action box menus are either left-aligned or right-aligned with
3841 * the drop down button.
3842 * @private 3848 * @private
3843 */ 3849 */
3844 updatePodNameArea_: function() { 3850 handleAfterPodPlacement_: function() {
3845 var pods = this.pods; 3851 var pods = this.pods;
3846 for (var pod of pods) { 3852 for (var pod of pods) {
3847 if (pods.length > POD_ROW_LIMIT && pod != this.mainPod_) 3853 if (pods.length > POD_ROW_LIMIT && pod != this.mainPod_)
3848 continue; 3854 continue;
3855 // Make sure that user name on each large pod is centered and extra
3856 // long names don't exceed maximum pod width.
3849 var nameArea = pod.querySelector('.name-container'); 3857 var nameArea = pod.querySelector('.name-container');
3850 var leftMargin = (CROS_POD_WIDTH - pod.nameElement.offsetWidth) / 2; 3858 var leftMargin = (CROS_POD_WIDTH - pod.nameElement.offsetWidth) / 2;
3851 if (leftMargin > 0) 3859 if (leftMargin > 0)
3852 nameArea.style.left = cr.ui.toCssPx(leftMargin); 3860 nameArea.style.left = cr.ui.toCssPx(leftMargin);
3853 else { 3861 else {
3854 pod.nameElement.style.width = cr.ui.toCssPx(CROS_POD_WIDTH); 3862 pod.nameElement.style.width = cr.ui.toCssPx(CROS_POD_WIDTH);
3855 nameArea.style.left = cr.ui.toCssPx(0); 3863 nameArea.style.left = cr.ui.toCssPx(0);
3856 } 3864 }
3857 // Update action box menu position to ensure it doesn't overlap with 3865 // Update action box menu position to ensure it doesn't overlap with
3858 // elements outside the pod. 3866 // elements outside the pod.
(...skipping 11 matching lines...) Expand all
3870 actionBoxMenu.style.left = cr.ui.toCssPx( 3878 actionBoxMenu.style.left = cr.ui.toCssPx(
3871 pod.nameElement.offsetWidth + actionBoxButton.style.marginLeft); 3879 pod.nameElement.offsetWidth + actionBoxButton.style.marginLeft);
3872 actionBoxMenu.style.right = 'auto'; 3880 actionBoxMenu.style.right = 'auto';
3873 } 3881 }
3874 // Add ripple animation. 3882 // Add ripple animation.
3875 var actionBoxRippleEffect = 3883 var actionBoxRippleEffect =
3876 pod.querySelector('.action-box-button.ripple-circle'); 3884 pod.querySelector('.action-box-button.ripple-circle');
3877 actionBoxRippleEffect.style.left = actionBoxMenu.style.left; 3885 actionBoxRippleEffect.style.left = actionBoxMenu.style.left;
3878 actionBoxRippleEffect.style.top = 3886 actionBoxRippleEffect.style.top =
3879 cr.ui.toCssPx(actionBoxButton.style.marginTop); 3887 cr.ui.toCssPx(actionBoxButton.style.marginTop);
3888 // Adjust the vertical position of the pod if pin keyboard is shown.
3889 if (pod.isPinShown() && !this.isScreenShrinked_())
3890 pod.top = (this.screenSize.height - CROS_POD_HEIGHT_WITH_PIN) / 2;
3891 }
3892 // Update the position of the sign-in banner if it's shown.
3893 if ($('signin-banner').textContent.length != 0) {
3894 var bannerContainer = $('signin-banner-container1');
3895 var BANNER_TOP_PADDING = this.isScreenShrinked_() ? 0 : 38;
3896 bannerContainer.style.top = cr.ui.toCssPx(
3897 this.mainPod_.top + CROS_POD_HEIGHT + BANNER_TOP_PADDING);
3898 if (this.pods.length <= POD_ROW_LIMIT) {
3899 bannerContainer.style.left =
3900 cr.ui.toCssPx((this.screenSize.width - BANNER_MESSAGE_WIDTH) / 2);
3901 }
3902 else {
3903 var leftPadding =
3904 this.mainPod_.left - (BANNER_MESSAGE_WIDTH - CROS_POD_WIDTH) / 2;
3905 bannerContainer.style.left = cr.ui.toCssPx(Math.max(leftPadding, 0));
3906 }
3880 } 3907 }
3881 }, 3908 },
3882 3909
3883 /** 3910 /**
3884 * Called when a small or extra small pod is clicked to trigger the switch 3911 * Called when a small or extra small pod is clicked to trigger the switch
3885 * with the main pod. 3912 * with the main pod.
3886 */ 3913 */
3887 switchMainPod: function(pod) { 3914 switchMainPod: function(pod) {
3888 if (this.disabled) { 3915 if (this.disabled) {
3889 console.error('Cannot change main pod while sign-in UI is disabled.'); 3916 console.error('Cannot change main pod while sign-in UI is disabled.');
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
3929 // of being appended as the last child, in order to maintain the 'Tab' 3956 // of being appended as the last child, in order to maintain the 'Tab'
3930 // order. 3957 // order.
3931 parent.insertBefore(this.mainPod_, children[insert]); 3958 parent.insertBefore(this.mainPod_, children[insert]);
3932 this.mainPod_.left = left; 3959 this.mainPod_.left = left;
3933 this.mainPod_.top = top; 3960 this.mainPod_.top = top;
3934 this.mainPod_.style.paddingBottom = paddingBottom; 3961 this.mainPod_.style.paddingBottom = paddingBottom;
3935 this.mainPod_ = pod; 3962 this.mainPod_ = pod;
3936 // The new main pod should already be focused but we need a focus update 3963 // The new main pod should already be focused but we need a focus update
3937 // in order to focus on the input box. 3964 // in order to focus on the input box.
3938 this.focusPod(this.mainPod_, true /* force */); 3965 this.focusPod(this.mainPod_, true /* force */);
3939 this.updatePodNameArea_(); 3966 this.handleAfterPodPlacement_();
3940 }, 3967 },
3941 3968
3942 /** 3969 /**
3943 * Returns dimensions of screen including the header bar. 3970 * Returns dimensions of screen including the header bar.
3944 * @type {Object} 3971 * @type {Object}
3945 */ 3972 */
3946 get screenSize() { 3973 get screenSize() {
3947 var container = $('scroll-container'); 3974 var container = $('scroll-container');
3948 return {width: container.offsetWidth, height: container.offsetHeight}; 3975 return {width: container.offsetWidth, height: container.offsetHeight};
3949 }, 3976 },
3950 3977
3951 /** 3978 /**
3952 * Displays a banner containing |message|. If the banner is already present 3979 * Displays a banner containing |message|. If the banner is already present
3953 * this function updates the message in the banner. 3980 * this function updates the message in the banner.
3981 * The positioning of the banner is handled by handleAfterPodPlacement_()
3982 * becuase it dynamically depends on the pod positions.
3954 * @param {string} message Text to be displayed or empty to hide the banner. 3983 * @param {string} message Text to be displayed or empty to hide the banner.
3955 */ 3984 */
3956 showBannerMessage: function(message) { 3985 showBannerMessage: function(message) {
3957 var banner = $('signin-banner'); 3986 var banner = $('signin-banner');
3958 banner.textContent = message; 3987 banner.textContent = message;
3959 banner.classList.toggle('message-set', !!message); 3988 banner.classList.toggle('message-set', !!message);
3960 var bannerContainer = $('signin-banner-container1');
3961 var BANNER_TOP_PADDING = this.isScreenShrinked_() ? 0 : 38;
3962 bannerContainer.style.top = cr.ui.toCssPx(
3963 this.mainPod_.top + CROS_POD_HEIGHT + BANNER_TOP_PADDING);
3964 if (this.pods.length <= POD_ROW_LIMIT)
3965 bannerContainer.style.left =
3966 cr.ui.toCssPx((this.screenSize.width - BANNER_MESSAGE_WIDTH) / 2);
3967 else {
3968 var leftPadding =
3969 this.mainPod_.left - (BANNER_MESSAGE_WIDTH - CROS_POD_WIDTH) / 2;
3970 bannerContainer.style.left = cr.ui.toCssPx(Math.max(leftPadding, 0));
3971 }
3972 }, 3989 },
3973 3990
3974 /** 3991 /**
3975 * Whether the pod is currently focused. 3992 * Whether the pod is currently focused.
3976 * @param {UserPod} pod Pod to check for focus. 3993 * @param {UserPod} pod Pod to check for focus.
3977 * @return {boolean} Pod focus status. 3994 * @return {boolean} Pod focus status.
3978 */ 3995 */
3979 isFocused: function(pod) { 3996 isFocused: function(pod) {
3980 return this.focusedPod_ == pod; 3997 return this.focusedPod_ == pod;
3981 }, 3998 },
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
4435 event, this.listeners_[event][0], this.listeners_[event][1]); 4452 event, this.listeners_[event][0], this.listeners_[event][1]);
4436 } 4453 }
4437 $('login-header-bar').buttonsTabIndex = UserPodTabOrder.HEADER_BAR; 4454 $('login-header-bar').buttonsTabIndex = UserPodTabOrder.HEADER_BAR;
4438 4455
4439 if (this.podPlacementPostponed_) { 4456 if (this.podPlacementPostponed_) {
4440 this.podPlacementPostponed_ = false; 4457 this.podPlacementPostponed_ = false;
4441 this.placePods_(); 4458 this.placePods_();
4442 this.maybePreselectPod(); 4459 this.maybePreselectPod();
4443 } 4460 }
4444 4461
4445 this.updatePodNameArea_(); 4462 this.handleAfterPodPlacement_();
4446 }, 4463 },
4447 4464
4448 /** 4465 /**
4449 * Called when the element is hidden. 4466 * Called when the element is hidden.
4450 */ 4467 */
4451 handleHide: function() { 4468 handleHide: function() {
4452 for (var event in this.listeners_) { 4469 for (var event in this.listeners_) {
4453 this.ownerDocument.removeEventListener( 4470 this.ownerDocument.removeEventListener(
4454 event, this.listeners_[event][0], this.listeners_[event][1]); 4471 event, this.listeners_[event][0], this.listeners_[event][1]);
4455 } 4472 }
(...skipping 27 matching lines...) Expand all
4483 if (pod && pod.multiProfilesPolicyApplied) { 4500 if (pod && pod.multiProfilesPolicyApplied) {
4484 pod.userTypeBubbleElement.classList.remove('bubble-shown'); 4501 pod.userTypeBubbleElement.classList.remove('bubble-shown');
4485 } 4502 }
4486 } 4503 }
4487 }; 4504 };
4488 4505
4489 return { 4506 return {
4490 PodRow: PodRow 4507 PodRow: PodRow
4491 }; 4508 };
4492 }); 4509 });
OLDNEW
« no previous file with comments | « ui/login/account_picker/md_user_pod_row.css ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698