Merge pull request #8628 from Spacetech/master
authorKevin Sawicki <kevin@github.com>
Tue, 14 Feb 2017 19:41:16 +0000 (11:41 -0800)
committerGitHub <noreply@github.com>
Tue, 14 Feb 2017 19:41:16 +0000 (11:41 -0800)
Implement invalidate for non-offscreen mode

1  2 
atom/browser/api/atom_api_web_contents.cc
docs/api/web-contents.md

@@@ -1500,46 -1489,18 +1500,49 @@@ int WebContents::GetFrameRate() const 
  }
  
  void WebContents::Invalidate() {
-   if (!IsOffScreen())
-     return;
-   auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
+   if (IsOffScreen()) {
+     auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
        web_contents()->GetRenderWidgetHostView());
-   if (osr_rwhv)
-     osr_rwhv->Invalidate();
+     if (osr_rwhv)
+       osr_rwhv->Invalidate();
+   } else {
+     const auto owner_window = owner_window();
+     if (owner_window)
+       owner_window->Invalidate();
+   }
  }
  
 +void WebContents::SetZoomLevel(double level) {
 +  zoom_controller_->SetZoomLevel(level);
 +}
 +
 +double WebContents::GetZoomLevel() {
 +  return zoom_controller_->GetZoomLevel();
 +}
 +
 +void WebContents::SetZoomFactor(double factor) {
 +  auto level = content::ZoomFactorToZoomLevel(factor);
 +  SetZoomLevel(level);
 +}
 +
 +double WebContents::GetZoomFactor() {
 +  auto level = GetZoomLevel();
 +  return content::ZoomLevelToZoomFactor(level);
 +}
 +
 +void WebContents::OnSetTemporaryZoomLevel(double level,
 +                                          IPC::Message* reply_msg) {
 +  zoom_controller_->SetTemporaryZoomLevel(level);
 +  double new_level = zoom_controller_->GetZoomLevel();
 +  AtomViewHostMsg_SetTemporaryZoomLevel::WriteReplyParams(reply_msg, new_level);
 +  Send(reply_msg);
 +}
 +
 +void WebContents::OnGetZoomLevel(IPC::Message* reply_msg) {
 +  AtomViewHostMsg_GetZoomLevel::WriteReplyParams(reply_msg, GetZoomLevel());
 +  Send(reply_msg);
 +}
 +
  v8::Local<v8::Value> WebContents::GetWebPreferences(v8::Isolate* isolate) {
    WebContentsPreferences* web_preferences =
        WebContentsPreferences::FromWebContents(web_contents());
Simple merge