* Electron Version: 3.0.0-beta.2
* Operating System (Platform and Version): Current Windows 10, 64bit
* Last known working Electron version: 2.0.4

**Expected Behavior**
Full screen and all opened windows to be returned.

**Actual behavior**
Only full screen and a seemingly identical item are returned. Independent of the number of opened windows. 

**To Reproduce**
Call
```
desktopCapturer.getSources({
    types: ['window', 'screen'],
    thumbnailSize: {
          width: 250,
          height: 250
    }
}, function (err, sources) {

});
```
The `sources` contains only two items, the first one, which is the entire desktop screen is valid, the other one is not.


atom/browser/api/atom_api_desktop_capturer.cc
void DesktopCapturer::OnSourceThumbnailChanged(int index) {}
bool DesktopCapturer::OnRefreshFinished() {
  capture_thread_->PostTask(FROM_HERE,
                            base::BindOnce(OnRefreshFinishedTask, this));
  return false;
}
mate::Handle<DesktopCapturer> DesktopCapturer::Create(v8::Isolate* isolate) {
  return mate::CreateHandle(isolate, new DesktopCapturer(isolate));
}
void DesktopCapturer::BuildPrototype(
    v8::Isolate* isolate,
    v8::Local<v8::FunctionTemplate> prototype) {
  prototype->SetClassName(mate::StringToV8(isolate, "DesktopCapturer"));
  mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
      .SetMethod("startHandling", &DesktopCapturer::StartHandling);
}
}  
}  
namespace {
void Initialize(v8::Local<v8::Object> exports,
                v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context,
                void* priv) {
  v8::Isolate* isolate = context->GetIsolate();
  mate::Dictionary dict(isolate, exports);
  dict.Set("desktopCapturer", atom::api::DesktopCapturer::Create(isolate));
}
}  
NODE_BUILTIN_MODULE_CONTEXT_AWARE(atom_browser_desktop_capturer, Initialize);