<!--
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("setSheetOffset", &BrowserWindow::SetSheetOffset)
      .SetMethod("setResizable", &BrowserWindow::SetResizable)
      .SetMethod("isResizable", &BrowserWindow::IsResizable)
      .SetMethod("setMovable", &BrowserWindow::SetMovable)
      .SetMethod("isMovable", &BrowserWindow::IsMovable)
      .SetMethod("setMinimizable", &BrowserWindow::SetMinimizable)
      .SetMethod("isMinimizable", &BrowserWindow::IsMinimizable)
      .SetMethod("setMaximizable", &BrowserWindow::SetMaximizable)
      .SetMethod("isMaximizable", &BrowserWindow::IsMaximizable)
      .SetMethod("setFullScreenable", &BrowserWindow::SetFullScreenable)
      .SetMethod("isFullScreenable", &BrowserWindow::IsFullScreenable)
      .SetMethod("setClosable", &BrowserWindow::SetClosable)
      .SetMethod("isClosable", &BrowserWindow::IsClosable)
      .SetMethod("setAlwaysOnTop", &BrowserWindow::SetAlwaysOnTop)
      .SetMethod("isAlwaysOnTop", &BrowserWindow::IsAlwaysOnTop)
      .SetMethod("center", &BrowserWindow::Center)
      .SetMethod("setPosition", &BrowserWindow::SetPosition)
      .SetMethod("getPosition", &BrowserWindow::GetPosition)
#if defined(OS_WIN) || defined(OS_MACOSX)
      .SetMethod("moveTop" , &BrowserWindow::MoveTop)
#endif
      .SetMethod("setTitle", &BrowserWindow::SetTitle)
      .SetMethod("getTitle", &BrowserWindow::GetTitle)
      .SetMethod("flashFrame", &BrowserWindow::FlashFrame)
      .SetMethod("setSkipTaskbar", &BrowserWindow::SetSkipTaskbar)
      .SetMethod("setSimpleFullScreen", &BrowserWindow::SetSimpleFullScreen)
      .SetMethod("isSimpleFullScreen", &BrowserWindow::IsSimpleFullScreen)
      .SetMethod("setKiosk", &BrowserWindow::SetKiosk)
      .SetMethod("isKiosk", &BrowserWindow::IsKiosk)
      .SetMethod("setBackgroundColor", &BrowserWindow::SetBackgroundColor)