- Electron version: 1.2.7
- Operating system: Win10 64bit

browser process

``` javascript
win.webContents.on('context-menu', (event, params) => {
  // It prints "hasImageContent: undefined" no matter where you right click on the page
  console.log(`hasImageContent: ${ params.hasImageContent }`);
});
```

index.html body

``` html
  <body>
    <textarea name="name" rows="8" cols="40">
      Hello world.
      Second line.
    </textarea>
    <img src="https://bearychat.com/e655795080a2258b3bc7476cf6b519ab.png"/>
  </body>
```

atom/common/native_mate_converters/content_converter.cc
content::WebContents* web_contents,
                              const content::CustomContextMenuContext& context,
                              const std::vector<content::MenuItem>& menu) {
  std::vector<v8::Local<v8::Value>> v8_menu;
  for (const auto& menu_item : menu)
    v8_menu.push_back(MenuItemToV8(isolate, web_contents, context, menu_item));
  return mate::ConvertToV8(isolate, v8_menu);
}
}  
namespace mate {
v8::Local<v8::Value> Converter<content::MenuItem::Type>::ToV8(
    v8::Isolate* isolate, const content::MenuItem::Type& val) {
  switch (val) {
    case content::MenuItem::CHECKABLE_OPTION:
      return StringToV8(isolate, "checkbox");
    case content::MenuItem::GROUP:
      return StringToV8(isolate, "radio");
    case content::MenuItem::SEPARATOR:
      return StringToV8(isolate, "separator");
    case content::MenuItem::SUBMENU:
      return StringToV8(isolate, "submenu");
    case content::MenuItem::OPTION:
    default:
      return StringToV8(isolate, "normal");
  }
}
v8::Local<v8::Value> Converter<ContextMenuParamsWithWebContents>::ToV8(