| 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 .ToLocal(&enabled) || | 75 .ToLocal(&enabled) || |
| 76 !item->Get(context, V8AtomicString(isolate, "checked")) | 76 !item->Get(context, V8AtomicString(isolate, "checked")) |
| 77 .ToLocal(&checked) || | 77 .ToLocal(&checked) || |
| 78 !item->Get(context, V8AtomicString(isolate, "subItems")) | 78 !item->Get(context, V8AtomicString(isolate, "subItems")) |
| 79 .ToLocal(&sub_items)) | 79 .ToLocal(&sub_items)) |
| 80 return false; | 80 return false; |
| 81 if (!type->IsString()) | 81 if (!type->IsString()) |
| 82 continue; | 82 continue; |
| 83 String type_string = ToCoreStringWithNullCheck(type.As<v8::String>()); | 83 String type_string = ToCoreStringWithNullCheck(type.As<v8::String>()); |
| 84 if (type_string == "separator") { | 84 if (type_string == "separator") { |
| 85 ContextMenuItem item(ContextMenuItem(kSeparatorType, | 85 ContextMenuItem item(ContextMenuItem( |
| 86 kContextMenuItemCustomTagNoAction, | 86 kSeparatorType, kContextMenuItemCustomTagNoAction, String())); |
| 87 String(), String())); | |
| 88 menu.AppendItem(item); | 87 menu.AppendItem(item); |
| 89 } else if (type_string == "subMenu" && sub_items->IsArray()) { | 88 } else if (type_string == "subMenu" && sub_items->IsArray()) { |
| 90 ContextMenu sub_menu; | 89 ContextMenu sub_menu; |
| 91 v8::Local<v8::Array> sub_items_array = | 90 v8::Local<v8::Array> sub_items_array = |
| 92 v8::Local<v8::Array>::Cast(sub_items); | 91 v8::Local<v8::Array>::Cast(sub_items); |
| 93 if (!PopulateContextMenuItems(isolate, sub_items_array, sub_menu)) | 92 if (!PopulateContextMenuItems(isolate, sub_items_array, sub_menu)) |
| 94 return false; | 93 return false; |
| 95 TOSTRING_DEFAULT(V8StringResource<kTreatNullAsNullString>, label_string, | 94 TOSTRING_DEFAULT(V8StringResource<kTreatNullAsNullString>, label_string, |
| 96 label, false); | 95 label, false); |
| 97 ContextMenuItem item(kSubmenuType, kContextMenuItemCustomTagNoAction, | 96 ContextMenuItem item(kSubmenuType, kContextMenuItemCustomTagNoAction, |
| 98 label_string, String(), &sub_menu); | 97 label_string, &sub_menu); |
| 99 menu.AppendItem(item); | 98 menu.AppendItem(item); |
| 100 } else { | 99 } else { |
| 101 int32_t int32_id; | 100 int32_t int32_id; |
| 102 if (!id->Int32Value(context).To(&int32_id)) | 101 if (!id->Int32Value(context).To(&int32_id)) |
| 103 return false; | 102 return false; |
| 104 ContextMenuAction typed_id = static_cast<ContextMenuAction>( | 103 ContextMenuAction typed_id = static_cast<ContextMenuAction>( |
| 105 kContextMenuItemBaseCustomTag + int32_id); | 104 kContextMenuItemBaseCustomTag + int32_id); |
| 106 TOSTRING_DEFAULT(V8StringResource<kTreatNullAsNullString>, label_string, | 105 TOSTRING_DEFAULT(V8StringResource<kTreatNullAsNullString>, label_string, |
| 107 label, false); | 106 label, false); |
| 108 ContextMenuItem menu_item( | 107 ContextMenuItem menu_item( |
| 109 (type_string == "checkbox" ? kCheckableActionType : kActionType), | 108 (type_string == "checkbox" ? kCheckableActionType : kActionType), |
| 110 typed_id, label_string, String()); | 109 typed_id, label_string); |
| 111 if (checked->IsBoolean()) | 110 if (checked->IsBoolean()) |
| 112 menu_item.SetChecked(checked.As<v8::Boolean>()->Value()); | 111 menu_item.SetChecked(checked.As<v8::Boolean>()->Value()); |
| 113 if (enabled->IsBoolean()) | 112 if (enabled->IsBoolean()) |
| 114 menu_item.SetEnabled(enabled.As<v8::Boolean>()->Value()); | 113 menu_item.SetEnabled(enabled.As<v8::Boolean>()->Value()); |
| 115 menu.AppendItem(menu_item); | 114 menu.AppendItem(menu_item); |
| 116 } | 115 } |
| 117 } | 116 } |
| 118 return true; | 117 return true; |
| 119 } | 118 } |
| 120 | 119 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 } | 161 } |
| 163 if (!document || !document->GetFrame()) | 162 if (!document || !document->GetFrame()) |
| 164 return; | 163 return; |
| 165 | 164 |
| 166 DevToolsHost* devtools_host = V8DevToolsHost::toImpl(info.Holder()); | 165 DevToolsHost* devtools_host = V8DevToolsHost::toImpl(info.Holder()); |
| 167 Vector<ContextMenuItem> items = menu.Items(); | 166 Vector<ContextMenuItem> items = menu.Items(); |
| 168 devtools_host->ShowContextMenu(document->GetFrame(), x, y, items); | 167 devtools_host->ShowContextMenu(document->GetFrame(), x, y, items); |
| 169 } | 168 } |
| 170 | 169 |
| 171 } // namespace blink | 170 } // namespace blink |
| OLD | NEW |