Version: v5.0.5, v5.0.6
JavaScript code: `document.querySelector('iframe').contentWindow.print()`
shell/browser/api/atom_api_web_contents.cc
if (IsOffScreen() && wc == web_contents()) {
    auto* relay = NativeWindowRelay::FromWebContents(web_contents());
    if (relay) {
      auto* owner_window = relay->GetNativeWindow();
      return owner_window ? owner_window->GetSize() : gfx::Size();
    }
  }
  return gfx::Size();
}
void WebContents::SetZoomLevel(double level) {
  zoom_controller_->SetZoomLevel(level);
}
double WebContents::GetZoomLevel() const {
  return zoom_controller_->GetZoomLevel();
}
void WebContents::SetZoomFactor(double factor) {
  auto level = content::ZoomFactorToZoomLevel(factor);
  SetZoomLevel(level);
}
double WebContents::GetZoomFactor() const {
  auto level = GetZoomLevel();
  return content::ZoomLevelToZoomFactor(level);
}
void WebContents::SetTemporaryZoomLevel(double level) {
  zoom_controller_->SetTemporaryZoomLevel(level);
}
void WebContents::DoGetZoomLevel(DoGetZoomLevelCallback callback) {