Merge pull request #8298 from electron/configure-throttling-on-created-callback

Configure background throttling on RenderViewCreated callback
This commit is contained in:
Kevin Sawicki 2016-12-29 13:31:09 -08:00 committed by GitHub
commit fc75080c28
2 changed files with 9 additions and 5 deletions

View file

@ -613,6 +613,14 @@ void WebContents::BeforeUnloadFired(const base::TimeTicks& proceed_time) {
// there are two virtual functions named BeforeUnloadFired.
}
void WebContents::RenderViewCreated(content::RenderViewHost* render_view_host) {
const auto impl = content::RenderWidgetHostImpl::FromID(
render_view_host->GetProcess()->GetID(),
render_view_host->GetRoutingID());
if (impl)
impl->disable_hidden_ = !background_throttling_;
}
void WebContents::RenderViewDeleted(content::RenderViewHost* render_view_host) {
Emit("render-view-deleted", render_view_host->GetProcess()->GetID());
}
@ -897,11 +905,6 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
} else {
view->SetBackgroundColor(SK_ColorTRANSPARENT);
}
// For the same reason we can only disable hidden here.
const auto host = static_cast<content::RenderWidgetHostImpl*>(
view->GetRenderWidgetHost());
host->disable_hidden_ = !background_throttling_;
}
void WebContents::DownloadURL(const GURL& url) {

View file

@ -278,6 +278,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
// content::WebContentsObserver:
void BeforeUnloadFired(const base::TimeTicks& proceed_time) override;
void RenderViewCreated(content::RenderViewHost*) override;
void RenderViewDeleted(content::RenderViewHost*) override;
void RenderProcessGone(base::TerminationStatus status) override;
void DocumentLoadedInFrame(