- 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
v8::Isolate* isolate, const ContextMenuParamsWithWebContents& val) {
  const auto& params = val.first;
  mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
  dict.Set("x", params.x);
  dict.Set("y", params.y);
  dict.Set("linkURL", params.link_url);
  dict.Set("linkText", params.link_text);
  dict.Set("pageURL", params.page_url);
  dict.Set("frameURL", params.frame_url);
  dict.Set("srcURL", params.src_url);
  dict.Set("mediaType", params.media_type);
  dict.Set("mediaFlags", MediaFlagsToV8(isolate, params.media_flags));
  dict.Set("hasImageContents", params.has_image_contents);
  dict.Set("isEditable", params.is_editable);
  dict.Set("editFlags", EditFlagsToV8(isolate, params.edit_flags));
  dict.Set("selectionText", params.selection_text);
  dict.Set("titleText", params.title_text);
  dict.Set("misspelledWord", params.misspelled_word);
  dict.Set("frameCharset", params.frame_charset);
  dict.Set("inputFieldType", params.input_field_type);
  dict.Set("menuSourceType",  params.source_type);
  if (params.custom_context.is_pepper_menu)
    dict.Set("menu", MenuToV8(isolate, val.second, params.custom_context,
                              params.custom_items));
  return mate::ConvertToV8(isolate, dict);
}
bool Converter<blink::mojom::PermissionStatus>::FromV8(