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

Side by Side Diff: Source/devtools/front_end/ActionRegistry.js

Issue 218613013: DevTools: Decouple shortcuts from actions, introduce shortcut contexts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix context-related sort order Created 6 years, 8 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
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * @constructor
7 * @implements {WebInspector.ActionRegistryAPI}
8 */
9 WebInspector.ActionRegistry = function()
10 {
11 this._actionsById = new StringMap();
12 }
13
14 WebInspector.ActionRegistry.prototype = {
pfeldman 2014/04/10 09:35:45 This is a too small step for me to assess if the d
15 registerActions: function()
16 {
17 WebInspector.moduleManager.extensions(WebInspector.ActionDelegate).forEa ch(registerExtension, this);
pfeldman 2014/04/14 13:10:44 Do this from constructor instead?
apavlov 2014/04/15 13:33:14 The registration step requires the ModuleManager t
18
19 /**
20 * @param {!WebInspector.ModuleManager.Extension} extension
21 * @this {WebInspector.ActionRegistry}
22 */
23 function registerExtension(extension)
24 {
25 var actionId = extension.descriptor()["actionId"];
26 console.assert(actionId);
27 console.assert(!this._actionsById.get(actionId));
28 this._actionsById.put(actionId, extension);
29 }
30 },
31
32 /**
33 * @param {string} actionId
34 * @param {!Event} event
35 * @return {boolean}
36 */
37 execute: function(actionId, event)
pfeldman 2014/04/14 13:10:44 You would want to expose actions for context here
apavlov 2014/04/15 13:33:14 Done.
38 {
39 var extension = this._actionsById.get(actionId);
40 console.assert(extension, "No action found for actionId '" + actionId + "'");
41 return extension.instance().handleAction(event);
42 }
43 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698