<!--
Thanks for opening an issue! A few things to keep in mind:

- The issue tracker is only for bugs and feature requests.
- Before reporting a bug, please try reproducing your issue against
  the latest version of Electron.
- If you need general advice, join our Slack: http://atom-slack.herokuapp.com
-->

* Electron version: 1.8.4
* Operating system: Windows

### Expected behavior

Off screen windows should respond to the `.focus()` method being called by making the content appear to be focused.

### Actual behavior

Currently the undocumented method `focusOnWebView()` method must be called in order to "focus" an offscreen window.

This behaviour should either be documented [in the off-screen rendering guide](https://electronjs.org/docs/tutorial/offscreen-rendering), or the `.focus()` method should fix this

### How to reproduce

* Create an offscreen window, and have its content output to some location (In my case an OpenGL texture)
* Go to a web page, such as google
* Observe no caret in focused text box, and selected text is the wrong colour

Not sure if this is just a documentation issue or a bug... Feel free to resolve as if it were working as intended and document this issue in the off-screen rendering guide.

atom/browser/api/atom_api_browser_window.cc
.SetMethod("isMaximized", &BrowserWindow::IsMaximized)
      .SetMethod("minimize", &BrowserWindow::Minimize)
      .SetMethod("restore", &BrowserWindow::Restore)
      .SetMethod("isMinimized", &BrowserWindow::IsMinimized)
      .SetMethod("setFullScreen", &BrowserWindow::SetFullScreen)
      .SetMethod("isFullScreen", &BrowserWindow::IsFullscreen)
      .SetMethod("setAspectRatio", &BrowserWindow::SetAspectRatio)
      .SetMethod("previewFile", &BrowserWindow::PreviewFile)
      .SetMethod("closeFilePreview", &BrowserWindow::CloseFilePreview)
#if !defined(OS_WIN)
      .SetMethod("setParentWindow", &BrowserWindow::SetParentWindow)
#endif
      .SetMethod("getParentWindow", &BrowserWindow::GetParentWindow)
      .SetMethod("getChildWindows", &BrowserWindow::GetChildWindows)
      .SetMethod("getBrowserView", &BrowserWindow::GetBrowserView)
      .SetMethod("setBrowserView", &BrowserWindow::SetBrowserView)
      .SetMethod("isModal", &BrowserWindow::IsModal)
      .SetMethod("getNativeWindowHandle", &BrowserWindow::GetNativeWindowHandle)
      .SetMethod("getBounds", &BrowserWindow::GetBounds)
      .SetMethod("setBounds", &BrowserWindow::SetBounds)
      .SetMethod("getSize", &BrowserWindow::GetSize)
      .SetMethod("setSize", &BrowserWindow::SetSize)
      .SetMethod("getContentBounds", &BrowserWindow::GetContentBounds)
      .SetMethod("setContentBounds", &BrowserWindow::SetContentBounds)
      .SetMethod("getContentSize", &BrowserWindow::GetContentSize)
      .SetMethod("setContentSize", &BrowserWindow::SetContentSize)
      .SetMethod("setMinimumSize", &BrowserWindow::SetMinimumSize)
      .SetMethod("getMinimumSize", &BrowserWindow::GetMinimumSize)
      .SetMethod("setMaximumSize", &BrowserWindow::SetMaximumSize)
      .SetMethod("getMaximumSize", &BrowserWindow::GetMaximumSize)