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

Side by Side Diff: ui/webui/resources/js/chromeos/ui_account_tweaks.js

Issue 405743002: Typecheck some of ui/webui/resources/js/ with Closure compiler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review feedback Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « ui/webui/resources/js/assert.js ('k') | ui/webui/resources/js/cr.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 This file contains methods that allow to tweak 6 * @fileoverview This file contains methods that allow to tweak
7 * internal page UI based on the status of current user (owner/user/guest). 7 * internal page UI based on the status of current user (owner/user/guest).
8 * It is assumed that required data is passed via i18n strings 8 * It is assumed that required data is passed via i18n strings
9 * (using loadTimeData dictionary) that are filled with call to 9 * (using loadTimeData dictionary) that are filled with call to
10 * AddAccountUITweaksLocalizedValues in ui_account_tweaks.cc. 10 * AddAccountUITweaksLocalizedValues in ui_account_tweaks.cc.
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 return; 102 return;
103 UIAccountTweaks.applySessionTypeVisibility_(document, SESSION_TYPE_PUBLIC); 103 UIAccountTweaks.applySessionTypeVisibility_(document, SESSION_TYPE_PUBLIC);
104 } 104 }
105 105
106 /** 106 /**
107 * Disables and marks page elements for specified session type. 107 * Disables and marks page elements for specified session type.
108 * Adds #-disabled css class to all elements within given subtree, 108 * Adds #-disabled css class to all elements within given subtree,
109 * disables interactive elements (input/select/button), and removes href 109 * disables interactive elements (input/select/button), and removes href
110 * attribute from <a> elements. 110 * attribute from <a> elements.
111 * 111 *
112 * @param {Element} element Root element of DOM subtree that should be 112 * @param {!Element} element Root element of DOM subtree that should be
113 * disabled. 113 * disabled.
114 * @param {string} sessionType session type specificator. 114 * @param {string} sessionType session type specificator.
115 */ 115 */
116 UIAccountTweaks.disableElementsForSessionType = function(element, 116 UIAccountTweaks.disableElementsForSessionType = function(element,
117 sessionType) { 117 sessionType) {
118 UIAccountTweaks.disableElementForSessionType_(element, sessionType); 118 UIAccountTweaks.disableElementForSessionType_(element, sessionType);
119 119
120 // Walk the tree, searching each ELEMENT node. 120 // Walk the tree, searching each ELEMENT node.
121 var walker = document.createTreeWalker(element, 121 var walker = document.createTreeWalker(element,
122 NodeFilter.SHOW_ELEMENT, 122 NodeFilter.SHOW_ELEMENT,
123 null, 123 null,
124 false); 124 false);
125 125
126 var node = walker.nextNode(); 126 var node = walker.nextNode();
127 while (node) { 127 while (node) {
128 UIAccountTweaks.disableElementForSessionType_(node, sessionType); 128 if (!(node instanceof Element)) {
arv (Not doing code reviews) 2014/07/25 18:27:13 this is always false
Dan Beam 2014/07/25 21:58:18 whoops, removed and changed back to cast
129 UIAccountTweaks.disableElementForSessionType_(
130 /** @type {!Element} */(node), sessionType);
131 }
129 node = walker.nextNode(); 132 node = walker.nextNode();
130 } 133 }
131 }; 134 };
132 135
133 /** 136 /**
134 * Disables single element for given session type. 137 * Disables single element for given session type.
135 * Adds *sessionType*-disabled css class, adds disabled attribute for 138 * Adds *sessionType*-disabled css class, adds disabled attribute for
136 * appropriate elements (input/select/button), and removes href attribute from 139 * appropriate elements (input/select/button), and removes href attribute from
137 * <a> element. 140 * <a> element.
138 * 141 *
139 * @private 142 * @private
140 * @param {Element} element Element that should be disabled. 143 * @param {!Element} element Element that should be disabled.
141 * @param {string} sessionType account session Type specificator. 144 * @param {string} sessionType account session Type specificator.
142 */ 145 */
143 UIAccountTweaks.disableElementForSessionType_ = function(element, 146 UIAccountTweaks.disableElementForSessionType_ = function(element,
144 sessionType) { 147 sessionType) {
145 element.classList.add(sessionType + '-disabled'); 148 element.classList.add(sessionType + '-disabled');
146 if (element.nodeName == 'INPUT' || 149 if (element.nodeName == 'INPUT' ||
147 element.nodeName == 'SELECT' || 150 element.nodeName == 'SELECT' ||
148 element.nodeName == 'BUTTON') 151 element.nodeName == 'BUTTON') {
149 element.disabled = true; 152 element.disabled = true;
150 if (element.nodeName == 'A') { 153 } else if (element.nodeName == 'A') {
151 element.onclick = function() { 154 element.onclick = function() {
152 return false; 155 return false;
153 }; 156 };
154 } 157 }
155 }; 158 };
156 159
157 // Export 160 // Export
158 return { 161 return {
159 UIAccountTweaks: UIAccountTweaks 162 UIAccountTweaks: UIAccountTweaks
160 }; 163 };
161 164
162 }); 165 });
OLDNEW
« no previous file with comments | « ui/webui/resources/js/assert.js ('k') | ui/webui/resources/js/cr.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698