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/native_window_views.cc
wm::SetShadowType(
      GetNativeWindow(),
      has_shadow ? wm::SHADOW_TYPE_RECTANGULAR : wm::SHADOW_TYPE_NONE);
}
bool NativeWindowViews::HasShadow() {
  return wm::GetShadowType(GetNativeWindow()) != wm::SHADOW_TYPE_NONE;
}
void NativeWindowViews::SetIgnoreMouseEvents(bool ignore) {
#if defined(OS_WIN)
  LONG ex_style = ::GetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE);
  if (ignore)
    ex_style |= (WS_EX_TRANSPARENT | WS_EX_LAYERED);
  else
    ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED);
  ::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style);
#elif defined(USE_X11)
  if (ignore) {
    XRectangle r = {0, 0, 1, 1};
    XShapeCombineRectangles(gfx::GetXDisplay(), GetAcceleratedWidget(),
                            ShapeInput, 0, 0, &r, 1, ShapeSet, YXBanded);
  } else {
    XShapeCombineMask(gfx::GetXDisplay(), GetAcceleratedWidget(),
                      ShapeInput, 0, 0, None, ShapeSet);
  }
#endif
}
void NativeWindowViews::SetContentProtection(bool enable) {