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/context_menus/context_menus_api.h" | 5 #include "chrome/browser/extensions/api/context_menus/context_menus_api.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 17 matching lines...) Expand all Loading... |
28 | 28 |
29 namespace extensions { | 29 namespace extensions { |
30 | 30 |
31 namespace Create = api::context_menus::Create; | 31 namespace Create = api::context_menus::Create; |
32 namespace Remove = api::context_menus::Remove; | 32 namespace Remove = api::context_menus::Remove; |
33 namespace Update = api::context_menus::Update; | 33 namespace Update = api::context_menus::Update; |
34 | 34 |
35 bool ContextMenusCreateFunction::RunSync() { | 35 bool ContextMenusCreateFunction::RunSync() { |
36 MenuItem::Id id(GetProfile()->IsOffTheRecord(), | 36 MenuItem::Id id(GetProfile()->IsOffTheRecord(), |
37 MenuItem::ExtensionKey(extension_id())); | 37 MenuItem::ExtensionKey(extension_id())); |
38 scoped_ptr<Create::Params> params(Create::Params::Create(*args_)); | 38 std::unique_ptr<Create::Params> params(Create::Params::Create(*args_)); |
39 EXTENSION_FUNCTION_VALIDATE(params.get()); | 39 EXTENSION_FUNCTION_VALIDATE(params.get()); |
40 | 40 |
41 if (params->create_properties.id.get()) { | 41 if (params->create_properties.id.get()) { |
42 id.string_uid = *params->create_properties.id; | 42 id.string_uid = *params->create_properties.id; |
43 } else { | 43 } else { |
44 if (BackgroundInfo::HasLazyBackgroundPage(extension())) { | 44 if (BackgroundInfo::HasLazyBackgroundPage(extension())) { |
45 error_ = kIdRequiredError; | 45 error_ = kIdRequiredError; |
46 return false; | 46 return false; |
47 } | 47 } |
48 | 48 |
49 // The Generated Id is added by context_menus_custom_bindings.js. | 49 // The Generated Id is added by context_menus_custom_bindings.js. |
50 base::DictionaryValue* properties = NULL; | 50 base::DictionaryValue* properties = NULL; |
51 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &properties)); | 51 EXTENSION_FUNCTION_VALIDATE(args_->GetDictionary(0, &properties)); |
52 EXTENSION_FUNCTION_VALIDATE( | 52 EXTENSION_FUNCTION_VALIDATE( |
53 properties->GetInteger(helpers::kGeneratedIdKey, &id.uid)); | 53 properties->GetInteger(helpers::kGeneratedIdKey, &id.uid)); |
54 } | 54 } |
55 | 55 |
56 return helpers::CreateMenuItem( | 56 return helpers::CreateMenuItem( |
57 params->create_properties, GetProfile(), extension(), id, &error_); | 57 params->create_properties, GetProfile(), extension(), id, &error_); |
58 } | 58 } |
59 | 59 |
60 bool ContextMenusUpdateFunction::RunSync() { | 60 bool ContextMenusUpdateFunction::RunSync() { |
61 MenuItem::Id item_id(GetProfile()->IsOffTheRecord(), | 61 MenuItem::Id item_id(GetProfile()->IsOffTheRecord(), |
62 MenuItem::ExtensionKey(extension_id())); | 62 MenuItem::ExtensionKey(extension_id())); |
63 scoped_ptr<Update::Params> params(Update::Params::Create(*args_)); | 63 std::unique_ptr<Update::Params> params(Update::Params::Create(*args_)); |
64 | 64 |
65 EXTENSION_FUNCTION_VALIDATE(params.get()); | 65 EXTENSION_FUNCTION_VALIDATE(params.get()); |
66 if (params->id.as_string) | 66 if (params->id.as_string) |
67 item_id.string_uid = *params->id.as_string; | 67 item_id.string_uid = *params->id.as_string; |
68 else if (params->id.as_integer) | 68 else if (params->id.as_integer) |
69 item_id.uid = *params->id.as_integer; | 69 item_id.uid = *params->id.as_integer; |
70 else | 70 else |
71 NOTREACHED(); | 71 NOTREACHED(); |
72 | 72 |
73 return helpers::UpdateMenuItem( | 73 return helpers::UpdateMenuItem( |
74 params->update_properties, GetProfile(), extension(), item_id, &error_); | 74 params->update_properties, GetProfile(), extension(), item_id, &error_); |
75 } | 75 } |
76 | 76 |
77 bool ContextMenusRemoveFunction::RunSync() { | 77 bool ContextMenusRemoveFunction::RunSync() { |
78 scoped_ptr<Remove::Params> params(Remove::Params::Create(*args_)); | 78 std::unique_ptr<Remove::Params> params(Remove::Params::Create(*args_)); |
79 EXTENSION_FUNCTION_VALIDATE(params.get()); | 79 EXTENSION_FUNCTION_VALIDATE(params.get()); |
80 | 80 |
81 MenuManager* manager = MenuManager::Get(GetProfile()); | 81 MenuManager* manager = MenuManager::Get(GetProfile()); |
82 | 82 |
83 MenuItem::Id id(GetProfile()->IsOffTheRecord(), | 83 MenuItem::Id id(GetProfile()->IsOffTheRecord(), |
84 MenuItem::ExtensionKey(extension_id())); | 84 MenuItem::ExtensionKey(extension_id())); |
85 if (params->menu_item_id.as_string) | 85 if (params->menu_item_id.as_string) |
86 id.string_uid = *params->menu_item_id.as_string; | 86 id.string_uid = *params->menu_item_id.as_string; |
87 else if (params->menu_item_id.as_integer) | 87 else if (params->menu_item_id.as_integer) |
88 id.uid = *params->menu_item_id.as_integer; | 88 id.uid = *params->menu_item_id.as_integer; |
(...skipping 16 matching lines...) Expand all Loading... |
105 | 105 |
106 bool ContextMenusRemoveAllFunction::RunSync() { | 106 bool ContextMenusRemoveAllFunction::RunSync() { |
107 MenuManager* manager = MenuManager::Get(GetProfile()); | 107 MenuManager* manager = MenuManager::Get(GetProfile()); |
108 manager->RemoveAllContextItems(MenuItem::ExtensionKey(extension()->id())); | 108 manager->RemoveAllContextItems(MenuItem::ExtensionKey(extension()->id())); |
109 manager->WriteToStorage(extension(), | 109 manager->WriteToStorage(extension(), |
110 MenuItem::ExtensionKey(extension()->id())); | 110 MenuItem::ExtensionKey(extension()->id())); |
111 return true; | 111 return true; |
112 } | 112 } |
113 | 113 |
114 } // namespace extensions | 114 } // namespace extensions |
OLD | NEW |