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

Unified Diff: chrome/browser/extensions/api/commands/extension_command_service.h

Issue 10387224: Rename ExtensionCommand* to Command* within the extension namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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/extensions/api/commands/extension_command_service.h
===================================================================
--- chrome/browser/extensions/api/commands/extension_command_service.h (revision 138284)
+++ chrome/browser/extensions/api/commands/extension_command_service.h (working copy)
@@ -1,123 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef CHROME_BROWSER_EXTENSIONS_API_COMMANDS_EXTENSION_COMMAND_SERVICE_H_
-#define CHROME_BROWSER_EXTENSIONS_API_COMMANDS_EXTENSION_COMMAND_SERVICE_H_
-#pragma once
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "chrome/browser/profiles/profile_keyed_service.h"
-#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_commands.h"
-#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-#include "content/public/browser/notification_source.h"
-
-class PrefService;
-class Profile;
-
-namespace base {
- class DictionaryValue;
-}
-
-namespace ui {
- class Accelerator;
-}
-
-namespace extensions {
-
-// This service keeps track of preferences related to extension commands
-// (assigning initial keybindings on install and removing them on deletion
-// and answers questions related to which commands are active.
-class ExtensionCommandService : public ProfileKeyedService,
- public content::NotificationObserver {
- public:
- // An enum specifying whether to fetch all extension commands or only active
- // ones.
- enum QueryType {
- ALL,
- ACTIVE_ONLY,
- };
-
- // Register prefs for keybinding.
- static void RegisterUserPrefs(PrefService* user_prefs);
-
- // Constructs an ExtensionCommandService object for the given profile.
- explicit ExtensionCommandService(Profile* profile);
- virtual ~ExtensionCommandService();
-
- // Gets the keybinding (if any) for the browser action of an extension given
- // its |extension_id|. The function consults the master list to see if
- // the keybinding is active. Returns NULL if the extension has no browser
- // action. Returns NULL if the keybinding is not active and |type| requested
- // is ACTIVE_ONLY.
- const extensions::Command* GetBrowserActionCommand(
- const std::string& extension_id, QueryType type);
-
- // Gets the keybinding (if any) for the page action of an extension given
- // its |extension_id|. The function consults the master list to see if
- // the keybinding is active. Returns NULL if the extension has no page
- // action. Returns NULL if the keybinding is not active and |type| requested
- // is ACTIVE_ONLY.
- const extensions::Command* GetPageActionCommand(
- const std::string& extension_id, QueryType type);
-
- // Gets the active keybinding (if any) for the named commands of an extension
- // given its |extension_id|. The function consults the master list to see if
- // the keybinding is active. Returns an empty map if the extension has no
- // named commands or no active named commands when |type| requested is
- // ACTIVE_ONLY.
- extensions::CommandMap GetNamedCommands(
- const std::string& extension_id, QueryType type);
-
- // Checks to see if a keybinding |accelerator| for a given |command_name| in
- // an extension with id |extension_id| is registered as active (by consulting
- // the master list in |user_prefs|).
- bool IsKeybindingActive(const ui::Accelerator& accelerator,
- const std::string& extension_id,
- const std::string& command_name) const;
-
- // Records a keybinding |accelerator| as active for an extension with id
- // |extension_id| and command with the name |command_name|. If
- // |allow_overrides| is false, the keybinding must be free for the change to
- // be recorded (as determined by the master list in |user_prefs|). If
- // |allow_overwrites| is true, any previously recorded keybinding for this
- // |accelerator| will be overwritten. Returns true if the change was
- // successfully recorded.
- bool AddKeybindingPref(const ui::Accelerator& accelerator,
- std::string extension_id,
- std::string command_name,
- bool allow_overrides);
-
- // Overridden from content::NotificationObserver.
- virtual void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) OVERRIDE;
-
- private:
- // Assigns initial keybinding for a given |extension|'s page action, browser
- // action and named commands. In each case, if the suggested keybinding is
- // free, it will be taken by this extension. If not, that keybinding request
- // is ignored. |user_pref| is the PrefService used to record the new
- // keybinding assignment.
- void AssignInitialKeybindings(const extensions::Extension* extension);
-
- // Removes all keybindings for a given extension by its |extension_id|.
- void RemoveKeybindingPrefs(std::string extension_id);
-
- // The content notification registrar for listening to extension events.
- content::NotificationRegistrar registrar_;
-
- // A weak pointer to the profile we are associated with. Not owned by us.
- Profile* profile_;
-
- DISALLOW_COPY_AND_ASSIGN(ExtensionCommandService);
-};
-
-} // namespace extensions
-
-#endif // CHROME_BROWSER_EXTENSIONS_API_COMMANDS_EXTENSION_COMMAND_SERVICE_H_

Powered by Google App Engine
This is Rietveld 408576698