electron code head commit:  2fb9085e5b9b28b7adf0ab7de720c87461b6689d
os: win10 64bit
visual studio 2019 preview

after build electron , I run 
```
electron.exe electron/spec
```
and the program crash, i use vs2019 debug it, see the picture, 
![捕获](https://user-images.githubusercontent.com/43543863/54986357-7331d580-4fed-11e9-9419-0775d533d3fe.PNG)

device_names is empty, and the code does not check it
atom/browser/api/atom_api_desktop_capturer.cc
if (capture_window) {
      window_capturer_.reset(new NativeDesktopMediaList(
          content::DesktopMediaID::TYPE_WINDOW,
          content::desktop_capture::CreateWindowCapturer()));
      window_capturer_->SetThumbnailSize(thumbnail_size);
      window_capturer_->AddObserver(this);
      window_capturer_->StartUpdating();
    }
    if (capture_screen) {
      screen_capturer_.reset(new NativeDesktopMediaList(
          content::DesktopMediaID::TYPE_SCREEN,
          content::desktop_capture::CreateScreenCapturer()));
      screen_capturer_->SetThumbnailSize(thumbnail_size);
      screen_capturer_->AddObserver(this);
      screen_capturer_->StartUpdating();
    }
  }
}
void DesktopCapturer::OnSourceAdded(DesktopMediaList* list, int index) {}
void DesktopCapturer::OnSourceRemoved(DesktopMediaList* list, int index) {}
void DesktopCapturer::OnSourceMoved(DesktopMediaList* list,
                                    int old_index,
                                    int new_index) {}
void DesktopCapturer::OnSourceNameChanged(DesktopMediaList* list, int index) {}
void DesktopCapturer::OnSourceThumbnailChanged(DesktopMediaList* list,
                                               int index) {}
void DesktopCapturer::OnSourceUnchanged(DesktopMediaList* list) {
  UpdateSourcesList(list);
}
bool DesktopCapturer::ShouldScheduleNextRefresh(DesktopMediaList* list) {