<!--
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("setHasShadow", &BrowserWindow::SetHasShadow)
      .SetMethod("hasShadow", &BrowserWindow::HasShadow)
      .SetMethod("setOpacity", &BrowserWindow::SetOpacity)
      .SetMethod("getOpacity", &BrowserWindow::GetOpacity)
      .SetMethod("setRepresentedFilename",
                 &BrowserWindow::SetRepresentedFilename)
      .SetMethod("getRepresentedFilename",
                 &BrowserWindow::GetRepresentedFilename)
      .SetMethod("setDocumentEdited", &BrowserWindow::SetDocumentEdited)
      .SetMethod("isDocumentEdited", &BrowserWindow::IsDocumentEdited)
      .SetMethod("setIgnoreMouseEvents", &BrowserWindow::SetIgnoreMouseEvents)
      .SetMethod("setContentProtection", &BrowserWindow::SetContentProtection)
      .SetMethod("setFocusable", &BrowserWindow::SetFocusable)
      .SetMethod("focusOnWebView", &BrowserWindow::FocusOnWebView)
      .SetMethod("blurWebView", &BrowserWindow::BlurWebView)
      .SetMethod("isWebViewFocused", &BrowserWindow::IsWebViewFocused)
      .SetMethod("setProgressBar", &BrowserWindow::SetProgressBar)
      .SetMethod("setOverlayIcon", &BrowserWindow::SetOverlayIcon)
      .SetMethod("setThumbarButtons", &BrowserWindow::SetThumbarButtons)
      .SetMethod("setMenu", &BrowserWindow::SetMenu)
      .SetMethod("setAutoHideMenuBar", &BrowserWindow::SetAutoHideMenuBar)
      .SetMethod("isMenuBarAutoHide", &BrowserWindow::IsMenuBarAutoHide)
      .SetMethod("setMenuBarVisibility", &BrowserWindow::SetMenuBarVisibility)
      .SetMethod("isMenuBarVisible", &BrowserWindow::IsMenuBarVisible)
      .SetMethod("setVisibleOnAllWorkspaces",
                 &BrowserWindow::SetVisibleOnAllWorkspaces)
      .SetMethod("isVisibleOnAllWorkspaces",
                 &BrowserWindow::IsVisibleOnAllWorkspaces)
#if defined(OS_MACOSX)
      .SetMethod("setAutoHideCursor", &BrowserWindow::SetAutoHideCursor)