This issue can be reproduced in the latest Electron version on a Retina device. Essentially, only the top left fourth of the screen's pixels are returned on retina screens.

I presume this happens because beginFrameSubscription, even on mainWindow, does not return retina pixel data ever.

Issue arrises after: https://github.com/electron/libchromiumcontent/pull/227

Issue description: https://github.com/electron/electron/issues/5665#issuecomment-245813684

atom/browser/api/frame_subscriber.cc
#include "atom/browser/api/frame_subscriber.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "base/bind.h"
#include "content/public/browser/render_widget_host.h"
#include "atom/common/node_includes.h"
namespace atom {
namespace api {
FrameSubscriber::FrameSubscriber(v8::Isolate* isolate,
                                 content::RenderWidgetHostView* view,
                                 const FrameCaptureCallback& callback,
                                 bool only_dirty)
    : isolate_(isolate),
      view_(view),
      callback_(callback),
      only_dirty_(only_dirty),
      weak_factory_(this) {
}
bool FrameSubscriber::ShouldCaptureFrame(