OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007-2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2007-2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 v8::Local<v8::Value> label = item->Get(v8AtomicString(isolate, "label"))
; | 66 v8::Local<v8::Value> label = item->Get(v8AtomicString(isolate, "label"))
; |
67 v8::Local<v8::Value> enabled = item->Get(v8AtomicString(isolate, "enable
d")); | 67 v8::Local<v8::Value> enabled = item->Get(v8AtomicString(isolate, "enable
d")); |
68 v8::Local<v8::Value> checked = item->Get(v8AtomicString(isolate, "checke
d")); | 68 v8::Local<v8::Value> checked = item->Get(v8AtomicString(isolate, "checke
d")); |
69 v8::Local<v8::Value> subItems = item->Get(v8AtomicString(isolate, "subIt
ems")); | 69 v8::Local<v8::Value> subItems = item->Get(v8AtomicString(isolate, "subIt
ems")); |
70 if (!type->IsString()) | 70 if (!type->IsString()) |
71 continue; | 71 continue; |
72 String typeString = toCoreStringWithNullCheck(type.As<v8::String>()); | 72 String typeString = toCoreStringWithNullCheck(type.As<v8::String>()); |
73 if (typeString == "separator") { | 73 if (typeString == "separator") { |
74 ContextMenuItem item(ContextMenuItem(SeparatorType, | 74 ContextMenuItem item(ContextMenuItem(SeparatorType, |
75 ContextMenuItemCustomTagNoAction, | 75 ContextMenuItemCustomTagNoAction, |
| 76 String(), |
76 String())); | 77 String())); |
77 menu.appendItem(item); | 78 menu.appendItem(item); |
78 } else if (typeString == "subMenu" && subItems->IsArray()) { | 79 } else if (typeString == "subMenu" && subItems->IsArray()) { |
79 ContextMenu subMenu; | 80 ContextMenu subMenu; |
80 v8::Local<v8::Array> subItemsArray = v8::Local<v8::Array>::Cast(subI
tems); | 81 v8::Local<v8::Array> subItemsArray = v8::Local<v8::Array>::Cast(subI
tems); |
81 if (!populateContextMenuItems(subItemsArray, subMenu, isolate)) | 82 if (!populateContextMenuItems(subItemsArray, subMenu, isolate)) |
82 return false; | 83 return false; |
83 TOSTRING_DEFAULT(V8StringResource<TreatNullAsNullString>, labelStrin
g, label, false); | 84 TOSTRING_DEFAULT(V8StringResource<TreatNullAsNullString>, labelStrin
g, label, false); |
84 ContextMenuItem item(SubmenuType, | 85 ContextMenuItem item(SubmenuType, |
85 ContextMenuItemCustomTagNoAction, | 86 ContextMenuItemCustomTagNoAction, |
86 labelString, | 87 labelString, |
| 88 String(), |
87 &subMenu); | 89 &subMenu); |
88 menu.appendItem(item); | 90 menu.appendItem(item); |
89 } else { | 91 } else { |
90 ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMe
nuItemBaseCustomTag + id->ToInt32(isolate)->Value()); | 92 ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMe
nuItemBaseCustomTag + id->ToInt32(isolate)->Value()); |
91 TOSTRING_DEFAULT(V8StringResource<TreatNullAsNullString>, labelStrin
g, label, false); | 93 TOSTRING_DEFAULT(V8StringResource<TreatNullAsNullString>, labelStrin
g, label, false); |
92 ContextMenuItem menuItem((typeString == "checkbox" ? CheckableAction
Type : ActionType), typedId, labelString); | 94 ContextMenuItem menuItem((typeString == "checkbox" ? CheckableAction
Type : ActionType), typedId, labelString, String()); |
93 if (checked->IsBoolean()) | 95 if (checked->IsBoolean()) |
94 menuItem.setChecked(checked->ToBoolean(isolate)->Value()); | 96 menuItem.setChecked(checked->ToBoolean(isolate)->Value()); |
95 if (enabled->IsBoolean()) | 97 if (enabled->IsBoolean()) |
96 menuItem.setEnabled(enabled->ToBoolean(isolate)->Value()); | 98 menuItem.setEnabled(enabled->ToBoolean(isolate)->Value()); |
97 menu.appendItem(menuItem); | 99 menu.appendItem(menuItem); |
98 } | 100 } |
99 } | 101 } |
100 return true; | 102 return true; |
101 } | 103 } |
102 | 104 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 if (!document || !document->page()) | 162 if (!document || !document->page()) |
161 return; | 163 return; |
162 | 164 |
163 DevToolsHost* devtoolsHost = V8DevToolsHost::toImpl(info.Holder()); | 165 DevToolsHost* devtoolsHost = V8DevToolsHost::toImpl(info.Holder()); |
164 Vector<ContextMenuItem> items = menu.items(); | 166 Vector<ContextMenuItem> items = menu.items(); |
165 devtoolsHost->showContextMenu(document->page(), static_cast<float>(x->Number
Value()), static_cast<float>(y->NumberValue()), items); | 167 devtoolsHost->showContextMenu(document->page(), static_cast<float>(x->Number
Value()), static_cast<float>(y->NumberValue()), items); |
166 } | 168 } |
167 | 169 |
168 } // namespace blink | 170 } // namespace blink |
169 | 171 |
OLD | NEW |