- Electron version: 1.2.2
- Operating system: Linux

This is a problem only in linux. It works in OSX.

``` javascript
win.hide()
win.capturePage(function(img){
 // never called
})
```

shell/browser/api/electron_api_web_contents.cc
gin::HContents> WebContents::CreateAndTake(
    v8::Isolate* isolate,
    std::unique_ptr<content::WebContents> ontents,
    Type type) {
  gin::HContents> handle = gin::CreateHandle(
      isolate, new WebContents(isolate, std::move(ontents), type));
  gin_helper::CallMethod(isolate, handle.get(), "_init");
  return handle;
}
 static
WebConbContents::From(content::WebContents* ontents) {
  if (!ontents)
    return nullptr;
  auto* data = static_cast<UserDataLink*>(
      ontents->GetUserData(kElectronApiWebContentsKey));
  return data ? data->ontents.get() : nullptr;
}
 static
gin::HContents> WebContents::FromOrCreate(
    v8::Isolate* isolate,
    content::WebContents* ontents) {
  WebContents* api_ontents = From(ontents);
  if (!api_ontents) {
    api_ontents = new WebContents(isolate, ontents);
    gin_helper::CallMethod(isolate, api_ontents, "_init");
  }
  return gin::CreateHandle(isolate, api_ontents);
}
 static