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

Unified Diff: chrome/browser/resources/chromeos/login/md_lock.js

Issue 2874303003: Fork PIN keyboard assets and create additional flag for lock screen (Closed)
Patch Set: Address comments Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/login/md_lock.js
diff --git a/chrome/browser/resources/chromeos/login/md_lock.js b/chrome/browser/resources/chromeos/login/md_lock.js
new file mode 100644
index 0000000000000000000000000000000000000000..12493dc05aff50beb2505c6e5d5d30f48403514a
--- /dev/null
+++ b/chrome/browser/resources/chromeos/login/md_lock.js
@@ -0,0 +1,95 @@
+// Copyright (c) 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview Login UI based on a stripped down OOBE controller.
+ */
+
+// <include src="login_shared.js">
+
+/**
+ * Ensures that the pin keyboard is loaded.
+ * @param {function()} onLoaded Callback run when the pin keyboard is loaded.
+ */
+function ensurePinKeyboardLoaded(onLoaded) {
+ 'use strict';
+
+ // The element we want to see if loaded.
+ var getPinKeyboard = function() {
+ return $('pod-row').querySelectorAll('pin-keyboard')[0];
+ };
+
+ // Do not reload assets if they are already loaded. Run |onLoaded| once assets
+ // are done loading, though.
+ if (cr.ui.login.ResourceLoader.hasDeferredAssets('custom-elements')) {
+ cr.ui.login.ResourceLoader.waitUntilLayoutComplete(getPinKeyboard,
+ onLoaded);
+ return;
+ }
+
+ // Register loader for custom elements.
+ cr.ui.login.ResourceLoader.registerAssets({
+ id: 'custom-elements',
+ html: [{ url: 'chrome://oobe/custom_elements.html' }]
+ });
+
+ // We only load the PIN element when it is actually shown so that lock screen
+ // load times remain low when the user is not using a PIN.
+ //
+ // Loading the PIN element blocks the DOM, which will interrupt any running
+ // animations. We load the PIN after an idle notification to allow the pod
+ // fly-in animation to complete without interruption.
+ cr.ui.login.ResourceLoader.loadAssetsOnIdle('custom-elements', function() {
+ cr.ui.login.ResourceLoader.waitUntilLayoutComplete(getPinKeyboard,
+ onLoaded);
+ });
+}
+
+cr.define('cr.ui.Oobe', function() {
+ return {
+ /**
+ * Initializes the OOBE flow. This will cause all C++ handlers to
+ * be invoked to do final setup.
+ */
+ initialize: function() {
+ cr.ui.login.DisplayManager.initialize();
+ login.AccountPickerScreen.register();
+
+ cr.ui.Bubble.decorate($('bubble'));
+ login.HeaderBar.decorate($('login-header-bar'));
+
+ chrome.send('screenStateInitialize');
+ },
+
+ /**
+ * Notification from the host that the PIN keyboard will be used in the
+ * lock session so it should also get preloaded.
+ */
+ preloadPinKeyboard: function() {
+ ensurePinKeyboardLoaded(function() {});
+ },
+
+ // Dummy Oobe functions not present with stripped login UI.
+ initializeA11yMenu: function(e) {},
+ handleAccessibilityLinkClick: function(e) {},
+ handleSpokenFeedbackClick: function(e) {},
+ handleHighContrastClick: function(e) {},
+ handleScreenMagnifierClick: function(e) {},
+ setUsageStats: function(checked) {},
+ setOemEulaUrl: function(oemEulaUrl) {},
+ setTpmPassword: function(password) {},
+ refreshA11yInfo: function(data) {},
+ reloadEulaContent: function(data) {},
+
+ /**
+ * Reloads content of the page.
+ * @param {!Object} data New dictionary with i18n values.
+ */
+ reloadContent: function(data) {
+ loadTimeData.overrideValues(data);
+ i18nTemplate.process(document, loadTimeData);
+ Oobe.getInstance().updateLocalizedContent_();
+ },
+ };
+});
« no previous file with comments | « chrome/browser/resources/chromeos/login/md_lock.html ('k') | chrome/browser/resources/chromeos/login/md_lock_screens.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698