Skip to content

Commit

Permalink
cleanup: move rest of ui/login to c/b/r/chromeos/login
Browse files Browse the repository at this point in the history
After crrev.com/c/2719405 is landed, it is now possible to keep
all oobe-related code under one directory.

Bug: 1168114
Change-Id: I8e868605fad99f78af8032630e269fc44c30c578
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2723473
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Roman Sorokin [CET] <rsorokin@chromium.org>
Commit-Queue: Denis Kuznetsov [CET] <antrim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#858530}
  • Loading branch information
Denis Kuznetsov authored and Chromium LUCI CQ committed Mar 1, 2021
1 parent 001504a commit f788209
Show file tree
Hide file tree
Showing 17 changed files with 73 additions and 103 deletions.
Expand Up @@ -31,7 +31,7 @@
<link rel="stylesheet" href="chrome://resources/css/chrome_shared.css">
<link rel="stylesheet" href="../login/md_screen_container.css">
<link rel="stylesheet" href="../login/oobe_screen.css">
<link rel="stylesheet" href="../../../../../ui/login/oobe.css">
<link rel="stylesheet" href="../login/oobe.css">
<link rel="stylesheet" href="setting_zippy.css">
<style include="cr-icons cr-shared-style oobe-common"></style>

Expand Down
9 changes: 6 additions & 3 deletions chrome/browser/resources/chromeos/login/BUILD.gn
Expand Up @@ -67,6 +67,9 @@ js_type_check("closure_compile_local") {
###############################
# Closure compiler libraries below

js_library("login_ui_tools") {
}

js_library("oobe_select") {
}

Expand Down Expand Up @@ -199,12 +202,12 @@ js_library("gaia_input_form") {

js_library("gaia_password_changed") {
deps = [
":login_ui_tools",
"components:login_screen_behavior",
"components:multi_step_behavior",
"components/oobe_adaptive_dialog:oobe_adaptive_dialog",
"components/oobe_i18n_behavior:oobe_i18n_behavior",
"components/oobe_loading_dialog:oobe_loading_dialog",
"//ui/login:login_ui_tools",
]
}

Expand Down Expand Up @@ -409,21 +412,21 @@ js_library("user_creation") {

js_library("saml_confirm_password") {
deps = [
":login_ui_tools",
"components:oobe_modal_dialog",
"components/oobe_adaptive_dialog:oobe_adaptive_dialog",
"components/oobe_i18n_behavior:oobe_i18n_behavior",
"components/oobe_loading_dialog:oobe_loading_dialog",
"//ui/login:login_ui_tools",
]
}

js_library("screen_error_message") {
deps = [
"components:display_manager_types",
"components:login_screen_behavior",
"components/oobe_adaptive_dialog:oobe_adaptive_dialog",
"components/oobe_dialog_host_behavior:oobe_dialog_host_behavior",
"components/oobe_i18n_behavior:oobe_i18n_behavior",
"//ui/login:display_manager_types",
]
}

Expand Down
Expand Up @@ -130,7 +130,7 @@ html[dir=rtl] .bubble-right::after {
/* --- oldstyle end --- */

body.chromeos .error-message-bubble::before {
-webkit-mask-image: url(../../ui/webui/resources/images/warning.svg);
-webkit-mask-image: url(../../../../../ui/webui/resources/images/warning.svg);
-webkit-mask-position: left top;
-webkit-mask-repeat: no-repeat;
-webkit-mask-size: 20px;
Expand Down
50 changes: 19 additions & 31 deletions ui/login/bubble.js → ...rowser/resources/chromeos/login/bubble.js
Expand Up @@ -19,23 +19,13 @@ cr.define('cr.ui', function() {
* Bubble key codes.
* @enum {number}
*/
var Keys = {
TAB: 'Tab',
ENTER: 'Enter',
ESC: 'Escape',
SPACE: ' '
};
var Keys = {TAB: 'Tab', ENTER: 'Enter', ESC: 'Escape', SPACE: ' '};

/**
* Bubble attachment side.
* @enum {number}
*/
Bubble.Attachment = {
RIGHT: 0,
LEFT: 1,
TOP: 2,
BOTTOM: 3
};
Bubble.Attachment = {RIGHT: 0, LEFT: 1, TOP: 2, BOTTOM: 3};

Bubble.prototype = {
__proto__: HTMLDivElement.prototype,
Expand All @@ -61,17 +51,15 @@ cr.define('cr.ui', function() {
decorate: function() {
this.docKeyDownHandler_ = this.handleDocKeyDown_.bind(this);
this.selfClickHandler_ = this.handleSelfClick_.bind(this);
this.ownerDocument.addEventListener('click',
this.handleDocClick_.bind(this));
this.ownerDocument.addEventListener(
'click', this.handleDocClick_.bind(this));
// Set useCapture to true because scroll event does not bubble.
this.ownerDocument.addEventListener('scroll',
this.handleScroll_.bind(this),
true);
this.ownerDocument.addEventListener('keydown',
this.docKeyDownHandler_);
this.ownerDocument.addEventListener(
'scroll', this.handleScroll_.bind(this), true);
this.ownerDocument.addEventListener('keydown', this.docKeyDownHandler_);
window.addEventListener('blur', this.handleWindowBlur_.bind(this));
this.addEventListener('transitionend',
this.handleTransitionEnd_.bind(this));
this.addEventListener(
'transitionend', this.handleTransitionEnd_.bind(this));
// Guard timer for 200ms + epsilon.
ensureTransitionEndEvent(this, 250);
},
Expand Down Expand Up @@ -101,7 +89,7 @@ cr.define('cr.ui', function() {
* @type {boolean}
*/
set persistent(value) {
this.persistent_ = value
this.persistent_ = value;
},

/**
Expand Down Expand Up @@ -158,8 +146,8 @@ cr.define('cr.ui', function() {
* @param {!Attachment} attachment Bubble attachment.
*/
setAttachment_: function(attachment) {
var styleClassList = ['bubble-right', 'bubble-left',
'bubble-top', 'bubble-bottom'];
var styleClassList =
['bubble-right', 'bubble-left', 'bubble-top', 'bubble-bottom'];
for (var i = 0; i < styleClassList.length; ++i)
this.classList.toggle(styleClassList[i], i == attachment);
},
Expand Down Expand Up @@ -252,8 +240,10 @@ cr.define('cr.ui', function() {

var origin = cr.ui.login.DisplayManager.getPosition(el);
var offset = opt_offset == undefined ?
[Math.min(ARROW_OFFSET, el.offsetWidth / 2),
Math.min(ARROW_OFFSET, el.offsetHeight / 2)] :
[
Math.min(ARROW_OFFSET, el.offsetWidth / 2),
Math.min(ARROW_OFFSET, el.offsetHeight / 2)
] :
[opt_offset, opt_offset];

var pos = {};
Expand Down Expand Up @@ -303,9 +293,9 @@ cr.define('cr.ui', function() {
var elWidth =
window.getComputedStyle(el, null).getPropertyValue('width');
var paddingLeft = parseInt(window.getComputedStyle(this, null)
.getPropertyValue('padding-left'));
.getPropertyValue('padding-left'));
var paddingRight = parseInt(window.getComputedStyle(this, null)
.getPropertyValue('padding-right'));
.getPropertyValue('padding-right'));
if (elWidth)
this.style.width =
(parseInt(elWidth) - paddingLeft - paddingRight) + 'px';
Expand Down Expand Up @@ -427,7 +417,5 @@ cr.define('cr.ui', function() {
}
};

return {
Bubble: Bubble
};
return {Bubble: Bubble};
});
7 changes: 5 additions & 2 deletions chrome/browser/resources/chromeos/login/components/BUILD.gn
Expand Up @@ -40,21 +40,24 @@ js_type_check("closure_compile_local") {
js_library("oobe_types") {
}

js_library("display_manager_types") {
}

# This is special file to be used as a substutute of Oobe object for closure
# compilation until we make real one closure compile.
# TODO (https://crbug.com/950198)
js_library("fake_oobe") {
deps = [
":display_manager_types",
":oobe_types",
"//ui/login:display_manager_types",
"//ui/webui/resources/js:util",
]
}

js_library("login_screen_behavior") {
deps = [
":display_manager_types",
":fake_oobe",
"//ui/login:display_manager_types",
]
}

Expand Down
File renamed without changes.
Expand Up @@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// <include src="../../../../../../ui/login/display_manager.js">
// <include src="../display_manager.js">

/**
* @fileoverview
Expand Down
Expand Up @@ -6,7 +6,7 @@
* @fileoverview Display manager for WebUI OOBE and login.
*/

// <include src="display_manager_types.js">
// <include src="components/display_manager_types.js">

// TODO(xiyuan): Find a better to share those constants.
/** @const */ var SCREEN_WELCOME = 'connect';
Expand Down Expand Up @@ -98,35 +98,34 @@ cr.define('cr.ui.login', function() {
* @param {string} name function name
* @param {...*} arguments arguments for the function
*/
var invokePolymerMethod = function(element, name, ...arguments) {
function invokePolymerMethod(element, name, ...args) {
let method = element[name];
if (!method || typeof method !== 'function')
return;
method.apply(element, arguments);
method.apply(element, args);
if (!element.behaviors)
return;

// If element has behaviors call functions on them in reverse order,
// ignoring case when method on element was derived from behavior.
for (var i = element.behaviors.length - 1; i >= 0; i--) {
let behavior = element.behaviors[i];
let b_method = behavior[name];
if (!b_method || typeof b_method !== 'function')
let behaviorMethod = behavior[name];
if (!behaviorMethod || typeof behaviorMethod !== 'function')
continue;
if (b_method == method)
if (behaviorMethod == method)
continue;
b_method.apply(element, arguments);
behaviorMethod.apply(element, args);
}
};
}

/**
* Constructor a display manager that manages initialization of screens,
* transitions, error messages display.
*
* @constructor
*/
function DisplayManager() {
}
function DisplayManager() {}

DisplayManager.prototype = {
/**
Expand Down Expand Up @@ -280,9 +279,9 @@ cr.define('cr.ui.login', function() {

setDialogSize: function(width, height) {
document.documentElement.style.setProperty(
'--oobe-oobe-dialog-height-base', height + 'px');
'--oobe-oobe-dialog-height-base', height + 'px');
document.documentElement.style.setProperty(
'--oobe-oobe-dialog-width-base', width + 'px');
'--oobe-oobe-dialog-width-base', width + 'px');
},

/**
Expand Down Expand Up @@ -374,7 +373,8 @@ cr.define('cr.ui.login', function() {
} else if (name == ACCELERATOR_RESET) {
if (currentStepId == SCREEN_OOBE_RESET) {
$('reset').userActed(USER_ACTION_ROLLBACK_TOGGLED);
} else if (attributes.resetAllowed ||
} else if (
attributes.resetAllowed ||
RESET_AVAILABLE_SCREEN_GROUP.indexOf(currentStepId) != -1) {
chrome.send('toggleResetScreen');
}
Expand Down Expand Up @@ -421,7 +421,7 @@ cr.define('cr.ui.login', function() {
//
// TODO(alemate): make every screen a single Polymer element, so that
// we could simply use OobeDialogHostBehavior in stead of this.
for(let dialog of newStep.getElementsByTagName('oobe-dialog'))
for (let dialog of newStep.getElementsByTagName('oobe-dialog'))
invokePolymerMethod(dialog, 'onBeforeShow', screenData);

if (newStep.defaultControl)
Expand Down Expand Up @@ -527,7 +527,7 @@ cr.define('cr.ui.login', function() {
registerScreen: function(el, attributes) {
var screenId = el.id;
assert(screenId);
assert(!this.screens_.includes(screenId), "Duplicate screen ID.");
assert(!this.screens_.includes(screenId), 'Duplicate screen ID.');

this.screens_.push(screenId);
this.screensAttributes_.push(attributes);
Expand All @@ -552,8 +552,9 @@ cr.define('cr.ui.login', function() {
screen.style.height = '';
}

$('outer-container').classList.toggle(
'fullscreen', screen.classList.contains('fullscreen'));
$('outer-container')
.classList.toggle(
'fullscreen', screen.classList.contains('fullscreen'));

var width = screen.getPreferredSize().width;
var height = screen.getPreferredSize().height;
Expand Down Expand Up @@ -586,7 +587,7 @@ cr.define('cr.ui.login', function() {
}
var dynamicElements = document.getElementsByClassName('i18n-dynamic');
for (var child of dynamicElements) {
if (typeof(child.i18nUpdateLocale) === 'function') {
if (typeof (child.i18nUpdateLocale) === 'function') {
child.i18nUpdateLocale();
}
}
Expand Down Expand Up @@ -628,13 +629,13 @@ cr.define('cr.ui.login', function() {
/** Initializes demo mode start listener. */
initializeDemoModeMultiTapListener: function() {
if (this.displayType_ == DISPLAY_TYPE.OOBE) {
this.demoModeStartListener_ = new MultiTapDetector(
$('outer-container'), 10, () => {
this.demoModeStartListener_ =
new MultiTapDetector($('outer-container'), 10, () => {
let currentScreen = Oobe.getInstance().currentScreen;
if (currentScreen.id === SCREEN_WELCOME) {
currentScreen.onSetupDemoModeGesture();
}
});
});
}
},

Expand Down Expand Up @@ -710,8 +711,7 @@ cr.define('cr.ui.login', function() {
});
if (instance.displayType == DISPLAY_TYPE.UNKNOWN) {
console.error(
'Unknown display type "' + givenDisplayType +
'". Setting default.');
'Unknown display type "' + givenDisplayType + '". Setting default.');
instance.displayType = DISPLAY_TYPE.LOGIN;
}

Expand All @@ -733,7 +733,7 @@ cr.define('cr.ui.login', function() {
y += element.offsetTop - element.scrollTop;
element = element.offsetParent;
}
return { top: y, left: x };
return {top: y, left: x};
};

/**
Expand Down
Expand Up @@ -13,13 +13,12 @@ cr.define('cr.ui.LoginUITools', function() {
* @param {Element} element DOM element
* @param {Object} callback
*/
addSubmitListener : function(element, callback) {
addSubmitListener: function(element, callback) {
element.addEventListener('keydown', (function(callback, e) {
if (e.keyCode != 13)
return;
callback();
}).bind(undefined, callback));
if (e.keyCode != 13)
return;
callback();
}).bind(undefined, callback));
},
}

};
});
4 changes: 2 additions & 2 deletions chrome/browser/resources/chromeos/login/md_login.html
Expand Up @@ -20,9 +20,9 @@
<link rel="stylesheet" href="chrome://resources/css/spinner.css">
<link rel="stylesheet" href="chrome://resources/css/throbber.css">
<link rel="stylesheet" href="chrome://resources/css/widgets.css">
<link rel="stylesheet" href="../../../../../ui/login/bubble.css">
<link rel="stylesheet" href="bubble.css">
<link rel="stylesheet" href="md_top_header_bar.css">
<link rel="stylesheet" href="../../../../../ui/login/oobe.css">
<link rel="stylesheet" href="oobe.css">
<link rel="stylesheet" href="oobe_popup_overlay.css">
<link rel="stylesheet" href="oobe_screen.css">
<link rel="stylesheet" href="components/oobe_flex_layout.css">
Expand Down

0 comments on commit f788209

Please sign in to comment.