summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/extensions/extension_context_menu_api.cc2
-rw-r--r--chrome/test/data/extensions/api_test/context_menus/test.js11
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();
+ });
+ });
}
];