Index: tracing/tracing/ui/base/hotkey_controller.html |
diff --git a/tracing/tracing/ui/base/hotkey_controller.html b/tracing/tracing/ui/base/hotkey_controller.html |
index 3ab0915bdabe9b8c0ae6cef761f81f9e9a0a88cb..ff4c4bee7b0899b7d18ec5faed75ee2d759c5edc 100644 |
--- a/tracing/tracing/ui/base/hotkey_controller.html |
+++ b/tracing/tracing/ui/base/hotkey_controller.html |
@@ -39,17 +39,19 @@ Polymer({ |
this.isAttached_ = true; |
var host = this.findHost_(); |
- if (host.__hotkeyController) |
+ if (host.__hotkeyController) { |
throw new Error('Multiple hotkey controllers attached to this host'); |
+ } |
host.__hotkeyController = this; |
this.curHost_ = host; |
var parentElement; |
- if (host.parentElement) |
+ if (host.parentElement) { |
parentElement = host.parentElement; |
- else |
+ } else { |
parentElement = Polymer.dom(host).parentNode.host; |
+ } |
var parentController = tr.b.getHotkeyControllerForElement( |
parentElement); |
@@ -69,8 +71,7 @@ Polymer({ |
this.isAttached_ = false; |
var host = this.curHost_; |
- if (!host) |
- return; |
+ if (!host) return; |
delete host.__hotkeyController; |
this.curHost_ = undefined; |
@@ -89,28 +90,32 @@ Polymer({ |
addChildController_: function(controller) { |
var i = this.childControllers_.indexOf(controller); |
- if (i !== -1) |
+ if (i !== -1) { |
throw new Error('Controller already registered'); |
+ } |
this.childControllers_.push(controller); |
}, |
removeChildController_: function(controller) { |
var i = this.childControllers_.indexOf(controller); |
- if (i === -1) |
+ if (i === -1) { |
throw new Error('Controller not registered'); |
+ } |
this.childControllers_.splice(i, 1); |
return controller; |
}, |
getKeyMapForEventType_: function(eventType, useCapture) { |
if (eventType === 'keydown') { |
- if (!useCapture) |
+ if (!useCapture) { |
return this.bubblingKeyDownHotKeys_; |
+ } |
return this.capturingKeyDownHotKeys_; |
} |
if (eventType === 'keypress') { |
- if (!useCapture) |
+ if (!useCapture) { |
return this.bubblingKeyPressHotKeys_; |
+ } |
return this.capturingKeyPressHotKeys_; |
} |
@@ -118,16 +123,18 @@ Polymer({ |
}, |
addHotKey: function(hotKey) { |
- if (!(hotKey instanceof tr.ui.b.HotKey)) |
+ if (!(hotKey instanceof tr.ui.b.HotKey)) { |
throw new Error('hotKey must be a tr.ui.b.HotKey'); |
+ } |
var keyMap = this.getKeyMapForEventType_( |
hotKey.eventType, hotKey.useCapture); |
for (var i = 0; i < hotKey.keyCodes.length; i++) { |
var keyCode = hotKey.keyCodes[i]; |
- if (keyMap[keyCode]) |
+ if (keyMap[keyCode]) { |
throw new Error('Key is already bound for keyCode=' + keyCode); |
+ } |
} |
for (var i = 0; i < hotKey.keyCodes.length; i++) { |
@@ -138,16 +145,18 @@ Polymer({ |
}, |
removeHotKey: function(hotKey) { |
- if (!(hotKey instanceof tr.ui.b.HotKey)) |
+ if (!(hotKey instanceof tr.ui.b.HotKey)) { |
throw new Error('hotKey must be a tr.ui.b.HotKey'); |
+ } |
var keyMap = this.getKeyMapForEventType_( |
hotKey.eventType, hotKey.useCapture); |
for (var i = 0; i < hotKey.keyCodes.length; i++) { |
var keyCode = hotKey.keyCodes[i]; |
- if (!keyMap[keyCode]) |
+ if (!keyMap[keyCode]) { |
throw new Error('Key is not bound for keyCode=' + keyCode); |
+ } |
keyMap[keyCode] = hotKey; |
} |
for (var i = 0; i < hotKey.keyCodes.length; i++) { |
@@ -163,16 +172,19 @@ Polymer({ |
set globalMode(globalMode) { |
var wasAttached = this.isAttached_; |
- if (wasAttached) |
+ if (wasAttached) { |
this.detached(); |
+ } |
this.globalMode_ = !!globalMode; |
- if (wasAttached) |
+ if (wasAttached) { |
this.attached(); |
+ } |
}, |
get topmostConroller_() { |
- if (this.slavedToParentController_) |
+ if (this.slavedToParentController_) { |
return this.slavedToParentController_.topmostConroller_; |
+ } |
return this; |
}, |
@@ -182,12 +194,14 @@ Polymer({ |
if (topmost.curHost_.hasAttribute('tabIndex')) { |
topmost.curHost_.focus(); |
} else { |
- if (document.activeElement) |
+ if (document.activeElement) { |
document.activeElement.blur(); |
+ } |
} |
} else { |
- if (document.activeElement) |
+ if (document.activeElement) { |
document.activeElement.blur(); |
+ } |
} |
}, |
@@ -201,14 +215,17 @@ Polymer({ |
}, |
findHost_: function() { |
- if (this.globalMode_) |
+ if (this.globalMode_) { |
return document.body; |
- if (this.parentElement) |
+ } |
+ if (this.parentElement) { |
return this.parentElement; |
+ } |
var node = this; |
- while (Polymer.dom(node).parentNode) |
+ while (Polymer.dom(node).parentNode) { |
node = Polymer.dom(node).parentNode; |
+ } |
return node.host; |
}, |
@@ -216,8 +233,9 @@ Polymer({ |
useCapture, e) { |
var localKeyMap = this.getKeyMapForEventType_(e.type, useCapture); |
var localHotKey = localKeyMap[e.keyCode]; |
- if (localHotKey) |
+ if (localHotKey) { |
matchedHotKeys.push(localHotKey); |
+ } |
for (var i = 0; i < this.childControllers_.length; i++) { |
var controller = this.childControllers_[i]; |
@@ -229,16 +247,14 @@ Polymer({ |
onKey_: function(useCapture, e) { |
// Keys dispatched to INPUT elements still bubble, even when they're |
// handled. So, skip any events that targeted the input element. |
- if (!useCapture && e.path[0].tagName === 'INPUT') |
- return; |
+ if (!useCapture && e.path[0].tagName === 'INPUT') return; |
var sortedControllers; |
var matchedHotKeys = []; |
this.appendMatchingHotKeysTo_(matchedHotKeys, useCapture, e); |
- if (matchedHotKeys.length === 0) |
- return false; |
+ if (matchedHotKeys.length === 0) return false; |
if (matchedHotKeys.length > 1) { |
// TODO(nduca): To do support for coddling hotKeys, we need to |
@@ -265,11 +281,13 @@ tr.exportTo('tr.b', function() { |
function getHotkeyControllerForElement(refElement) { |
var curElement = refElement; |
while (curElement) { |
- if (curElement.tagName === 'tv-ui-b-hotkey-controller') |
+ if (curElement.tagName === 'tv-ui-b-hotkey-controller') { |
return curElement; |
+ } |
- if (curElement.__hotkeyController) |
+ if (curElement.__hotkeyController) { |
return curElement.__hotkeyController; |
+ } |
if (curElement.parentElement) { |
curElement = curElement.parentElement; |