<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

### Issue Details

* **Electron Version:**
  * v11.2.0
* **Operating System:**
  * macOS 10.15.7
* **Last Known Working Electron version:**
  * v11.1.1
  
### Expected Behavior
Application should open when icon is set, if failed to load icon file I expect to get an exception and not SIGSEGV

### Actual Behavior
Application is terminated on the BrowserWindow constructor when _icon_ is supplied

### To Reproduce

* Update to electron v11.2
* Make sure to have the _icon_ property set when creating new instance of _BrowserWindow_
* In the example below I used VSCode icon as an example, I've also tried to copy the file to the project dir, it has no affect.
   This happens with other icns files so the file itself is not important.


```javascript
const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({
    icon: "/Applications/Visual Studio Code.app/Contents/Resources/Code.icns", // <-- comment to avoid crash, or use electron 11.1.1
    /**
     * Jan 13 13:44:22  Electron Helper[26232] <Error>: read failed
       Jan 13 13:44:22  Electron Helper[26232] <Error>: SeatbeltExecServer: failed to read buffer length.
       Failed to initialize sandbox.
       /Users/idanwork/Projects/electron-icon/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron exited with signal SIGSEGV
     */
   // icon: `${__dirname}/Code.icns`, // Tried to copy the icon locally, didn't help
  })

  win.loadURL('https://www.electronjs.org/docs/api/browser-window');
}

app.whenReady().then(createWindow)
app.on('window-all-closed', () => app.quit())
app.on('activate', () => BrowserWindow.getAllWindows().length === 0 && createWindow());
```

package json
```json
{
  "name": "electron-icon",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "run": "electron ."
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^11.2.0"
  }
}
```

<!--
For bugs that can be encapsulated in a small experiment, you can use Electron Fiddle (https://github.com/electron/fiddle) to publish your example to a GitHub Gist and link it your bug report.
-->

<!--
If Fiddle is insufficient to produce an example, please provide an example REPOSITORY that can be cloned and run. You can fork electron-quick-start (https://github.com/electron/electron-quick-start) and include a link to the branch with your changes.
-->

<!--
If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
```sh
$ git clone $YOUR_URL -b $BRANCH
$ npm install
$ npm start || electron .
```
-->

### Screenshots
<!-- If applicable, add screenshots to help explain your problem. -->

### Additional Information
<!-- Add any other context about the problem here. -->
The example assumes you have _Visual Studio Code_ in the _Applications_ folder, you can alter it to use any other icon file.
Reverting the same code to electron v11.1.x works
Error can't be caught and the application is terminated
I've tried using other icon files and put the files in the project dir, the issue persists.

_Edited text in comment_
shell/browser/api/electron_api_base_window.cc
EmitEventSoon("focus");
}
void BaseWindow::OnWindowShow() {
  Emit("show");
}
void BaseWindow::OnWindowHide() {
  Emit("hide");
}
void BaseWindow::OnWindowMaximize() {
  Emit("maximize");
}
void BaseWindow::OnWindowUnmaximize() {
  Emit("unmaximize");
}
void BaseWindow::OnWindowMinimize() {
  Emit("minimize");
}
void BaseWindow::OnWindowRestore() {
  Emit("restore");
}
void BaseWindow::OnWindowWillResize(const gfx::Rect& new_bounds,
                                    bool* prevent_default) {
  if (Emit("will-resize", new_bounds)) {
    *prevent_default = true;
  }
}
void BaseWindow::OnWindowResize() {
  Emit("resize");
}
void BaseWindow::OnWindowResized() {