<!--
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
window_unresponsive_closure_.Cancel();
  if (!window_->IsClosed() && window_->IsEnabled() &&
      !IsUnresponsiveEventSuppressed()) {
    Emit("unresponsive");
  }
}
void BrowserWindow::BuildPrototype(v8::Isolate* isolate,
                                   v8::Local<v8::FunctionTemplate> prototype) {
  prototype->SetClassName(mate::StringToV8(isolate, "BrowserWindow"));
  mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
      .MakeDestroyable()
      .SetMethod("close", &BrowserWindow::Close)
      .SetMethod("focus", &BrowserWindow::Focus)
      .SetMethod("blur", &BrowserWindow::Blur)
      .SetMethod("isFocused", &BrowserWindow::IsFocused)
      .SetMethod("show", &BrowserWindow::Show)
      .SetMethod("showInactive", &BrowserWindow::ShowInactive)
      .SetMethod("hide", &BrowserWindow::Hide)
      .SetMethod("isVisible", &BrowserWindow::IsVisible)
      .SetMethod("isEnabled", &BrowserWindow::IsEnabled)
      .SetMethod("setEnabled", & BrowserWindow::SetEnabled)
      .SetMethod("maximize", &BrowserWindow::Maximize)
      .SetMethod("unmaximize", &BrowserWindow::Unmaximize)