diff options
-rw-r--r-- | chrome/browser/extensions/extension_context_menu_api.cc | 2 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/context_menus/test.js | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_context_menu_api.cc b/chrome/browser/extensions/extension_context_menu_api.cc index ab748f0..554cc37 100644 --- a/chrome/browser/extensions/extension_context_menu_api.cc +++ b/chrome/browser/extensions/extension_context_menu_api.cc @@ -175,7 +175,7 @@ bool CreateContextMenuFunction::RunImpl() { int id = 0; if (properties->HasKey(kParentIdKey)) { int parent_id = 0; - if (properties->GetInteger(kParentIdKey, &parent_id)) + if (!properties->GetInteger(kParentIdKey, &parent_id)) return false; ExtensionMenuItem* parent = menu_manager->GetItemById(parent_id); if (!parent) { diff --git a/chrome/test/data/extensions/api_test/context_menus/test.js b/chrome/test/data/extensions/api_test/context_menus/test.js index 9dbbcbd..78ba095 100644 --- a/chrome/test/data/extensions/api_test/context_menus/test.js +++ b/chrome/test/data/extensions/api_test/context_menus/test.js @@ -40,6 +40,17 @@ var tests = [ chrome.contextMenu.removeAll(chrome.test.callbackPass()); }); }); + }, + + function hasParent() { + chrome.contextMenu.create({"title":"parent"}, function(id) { + assertNoLastError(); + chrome.contextMenu.create({"title":"child", "parentId":id}, + function(id2) { + assertNoLastError(); + chrome.test.succeed(); + }); + }); } ]; |