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

Unified Diff: ui/webui/resources/js/cr/ui/context_menu_handler.js

Issue 543863002: Typecheck chrome://bookmarks using Closure Compiler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@true_master
Patch Set: newest patchset Created 6 years, 3 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: ui/webui/resources/js/cr/ui/context_menu_handler.js
diff --git a/ui/webui/resources/js/cr/ui/context_menu_handler.js b/ui/webui/resources/js/cr/ui/context_menu_handler.js
index 710856b1528f61f617eb31567ca7d98e811cb506..1b3a9e207248da0279bcf21c25066f4e9e0fdc03 100644
--- a/ui/webui/resources/js/cr/ui/context_menu_handler.js
+++ b/ui/webui/resources/js/cr/ui/context_menu_handler.js
@@ -11,7 +11,8 @@ cr.define('cr.ui', function() {
/**
* Handles context menus.
* @constructor
- * @extends {EventTarget}
+ * @extends {cr.EventTarget}
+ * @implements {EventListener}
*/
function ContextMenuHandler() {
this.showingEvents_ = new EventTracker();
@@ -36,6 +37,7 @@ cr.define('cr.ui', function() {
* @param {!cr.ui.Menu} menu The menu to show.
*/
showMenu: function(e, menu) {
+ e.currentTarget = assertInstanceof(e.currentTarget, Node);
menu.updateCommands(e.currentTarget);
if (!menu.hasVisibleItems())
return;
@@ -67,7 +69,7 @@ cr.define('cr.ui', function() {
/**
* Hide the currently shown menu.
- * @param {HideType=} opt_hideType Type of hide.
+ * @param {cr.ui.HideType=} opt_hideType Type of hide.
* default: cr.ui.HideType.INSTANT.
*/
hideMenu: function(opt_hideType) {
@@ -211,17 +213,17 @@ cr.define('cr.ui', function() {
/**
* Adds a contextMenu property to an element or element class.
- * @param {!Element|!Function} element The element or class to add the
- * contextMenu property to.
+ * @param {!Element|!Function} elementOrClass The element or class to add
+ * the contextMenu property to.
*/
- addContextMenuProperty: function(element) {
- if (typeof element == 'function')
- element = element.prototype;
+ addContextMenuProperty: function(elementOrClass) {
+ var target = typeof elementOrClass == 'function' ?
+ elementOrClass.prototype : elementOrClass;
- element.__defineGetter__('contextMenu', function() {
+ target.__defineGetter__('contextMenu', function() {
return this.contextMenu_;
});
- element.__defineSetter__('contextMenu', function(menu) {
+ target.__defineSetter__('contextMenu', function(menu) {
var oldContextMenu = this.contextMenu;
if (typeof menu == 'string' && menu[0] == '#') {
@@ -251,12 +253,12 @@ cr.define('cr.ui', function() {
cr.dispatchPropertyChange(this, 'contextMenu', menu, oldContextMenu);
});
- if (!element.getRectForContextMenu) {
+ if (!target.getRectForContextMenu) {
/**
* @return {!ClientRect} The rect to use for positioning the context
* menu when the context menu is not opened using a mouse position.
*/
- element.getRectForContextMenu = function() {
+ target.getRectForContextMenu = function() {
return this.getBoundingClientRect();
};
}

Powered by Google App Engine
This is Rietveld 408576698