We can get the content size and the window size, but not the chrome position.

At the moment we do this:

```
leftBorderWidth = (windowWidth - contentWidth) / 2;
titlebarHeight = windowHeight - (contentHeight + leftBorderWidth);
```

which makes some assumptions so therefore feels a bit wrong.

it would be nice if alongside getContentSize (https://github.com/electron/electron/blob/master/docs/api/browser-window.md#wingetcontentsize) there was a getContentOffset.

I've been looking at the C++ - https://github.com/electron/electron/blob/e05804848f98959d63337aacd9047cd579c5b23f/chromium_src/extensions/browser/app_window/size_constraints.cc and I don't see an easy way to get this information - do you have any ideas or pointers if you accept this as a feature request?

atom/browser/api/atom_api_window.cc
return weak_map_id();
}
v8::Local<v8::Value> Window::WebContents(v8::Isolate* isolate) {
  if (web_contents_.IsEmpty())
    return v8::Null(isolate);
  else
    return v8::Local<v8::Value>::New(isolate, web_contents_);
}
void Window::RemoveFromParentChildWindows() {
  if (parent_window_.IsEmpty())
    return;
  mate::Handle<Window> parent;
  if (!mate::ConvertFromV8(isolate(), GetParentWindow(), &parent))
    return;
  parent->child_windows_.Remove(ID());
}
void Window::BuildPrototype(v8::Isolate* isolate,
                            v8::Local<v8::FunctionTemplate> prototype) {
  prototype->SetClassName(mate::StringToV8(isolate, "BrowserWindow"));
  mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
      .MakeDestroyable()
      .SetMethod("close", &Window::Close)
      .SetMethod("focus", &Window::Focus)
      .SetMethod("blur", &Window::Blur)
      .SetMethod("isFocused", &Window::IsFocused)
      .SetMethod("show", &Window::Show)
      .SetMethod("showInactive", &Window::ShowInactive)
      .SetMethod("hide", &Window::Hide)
      .SetMethod("isVisible", &Window::IsVisible)