Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 #include "chrome/browser/extensions/api/commands/command_service.h" | 5 #include "chrome/browser/extensions/api/commands/command_service.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/prefs/scoped_user_pref_update.h" | 10 #include "base/prefs/scoped_user_pref_update.h" |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 344 const std::string& command) const { | 344 const std::string& command) const { |
| 345 const base::DictionaryValue* bindings = | 345 const base::DictionaryValue* bindings = |
| 346 profile_->GetPrefs()->GetDictionary(prefs::kExtensionCommands); | 346 profile_->GetPrefs()->GetDictionary(prefs::kExtensionCommands); |
| 347 for (base::DictionaryValue::Iterator it(*bindings); !it.IsAtEnd(); | 347 for (base::DictionaryValue::Iterator it(*bindings); !it.IsAtEnd(); |
| 348 it.Advance()) { | 348 it.Advance()) { |
| 349 const base::DictionaryValue* item = NULL; | 349 const base::DictionaryValue* item = NULL; |
| 350 it.value().GetAsDictionary(&item); | 350 it.value().GetAsDictionary(&item); |
| 351 | 351 |
| 352 std::string extension; | 352 std::string extension; |
| 353 item->GetString(kExtension, &extension); | 353 item->GetString(kExtension, &extension); |
| 354 | |
|
Finnur
2014/10/22 09:43:03
nit: This line break seems to be breaking up code
| |
| 354 if (extension != extension_id) | 355 if (extension != extension_id) |
| 355 continue; | 356 continue; |
| 356 std::string command_name; | 357 std::string command_name; |
| 357 item->GetString(kCommandName, &command_name); | 358 item->GetString(kCommandName, &command_name); |
| 358 if (command != command_name) | 359 if (command != command_name) |
| 359 continue; | 360 continue; |
| 360 // Format stored in Preferences is: "Platform:Shortcut[:ExtensionId]". | 361 // Format stored in Preferences is: "Platform:Shortcut[:ExtensionId]". |
| 361 std::string shortcut = it.key(); | 362 std::string shortcut = it.key(); |
| 362 if (!IsForCurrentPlatform(shortcut)) | 363 if (!IsForCurrentPlatform(shortcut)) |
| 363 continue; | 364 continue; |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 543 AddKeybindingPref(page_action_command->accelerator(), | 544 AddKeybindingPref(page_action_command->accelerator(), |
| 544 extension->id(), | 545 extension->id(), |
| 545 page_action_command->command_name(), | 546 page_action_command->command_name(), |
| 546 false, // Overwriting not allowed. | 547 false, // Overwriting not allowed. |
| 547 false); // Not global. | 548 false); // Not global. |
| 548 } | 549 } |
| 549 } | 550 } |
| 550 | 551 |
| 551 bool CommandService::CanAutoAssign(const Command &command, | 552 bool CommandService::CanAutoAssign(const Command &command, |
| 552 const Extension* extension) { | 553 const Extension* extension) { |
| 553 // Media Keys are non-exclusive, so allow auto-assigning them. | 554 |
|
Finnur
2014/10/22 09:43:03
Don't add line breaks at the start of a function.
| |
| 554 if (Command::IsMediaKey(command.accelerator())) | 555 // Media Keys are non-exclusive, so allow auto-assigning them if the user |
| 556 // has not changed them for the current extension. | |
| 557 if (Command::IsMediaKey(command.accelerator())) { | |
| 558 if (IsCommandShortcutUserModified(extension, command.command_name())) | |
| 559 return false; | |
| 555 return true; | 560 return true; |
|
Finnur
2014/10/22 09:43:03
nit: Prefer:
return !foo();
over
if (foo())
| |
| 561 } | |
| 556 | 562 |
| 557 // Extensions are allowed to auto-assign updated keys if the user has not | 563 // Extensions are allowed to auto-assign updated keys if the user has not |
| 558 // changed from the previous value. | 564 // changed from the previous value. |
| 559 if (IsCommandShortcutUserModified(extension, command.command_name())) | 565 if (IsCommandShortcutUserModified(extension, command.command_name())) |
| 560 return false; | 566 return false; |
| 561 | 567 |
| 562 if (command.global()) { | 568 if (command.global()) { |
| 563 using namespace extensions; | 569 using namespace extensions; |
| 564 if (command.command_name() == manifest_values::kBrowserActionCommandEvent || | 570 if (command.command_name() == manifest_values::kBrowserActionCommandEvent || |
| 565 command.command_name() == manifest_values::kPageActionCommandEvent) | 571 command.command_name() == manifest_values::kPageActionCommandEvent) |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 863 return true; | 869 return true; |
| 864 } | 870 } |
| 865 | 871 |
| 866 template <> | 872 template <> |
| 867 void | 873 void |
| 868 BrowserContextKeyedAPIFactory<CommandService>::DeclareFactoryDependencies() { | 874 BrowserContextKeyedAPIFactory<CommandService>::DeclareFactoryDependencies() { |
| 869 DependsOn(ExtensionCommandsGlobalRegistry::GetFactoryInstance()); | 875 DependsOn(ExtensionCommandsGlobalRegistry::GetFactoryInstance()); |
| 870 } | 876 } |
| 871 | 877 |
| 872 } // namespace extensions | 878 } // namespace extensions |
| OLD | NEW |