Unsubscribe observer when OffScreenRenderWidgetHostView is destroyed

This commit is contained in:
Cheng Zhao 2016-09-19 16:51:03 +09:00
parent 07a08077a2
commit 5bf746700e
2 changed files with 9 additions and 0 deletions

View file

@ -377,6 +377,9 @@ OffScreenRenderWidgetHostView::OffScreenRenderWidgetHostView(
}
OffScreenRenderWidgetHostView::~OffScreenRenderWidgetHostView() {
if (native_window_)
native_window_->RemoveObserver(this);
#if defined(OS_MACOSX)
if (is_showing_)
browser_compositor_->SetRenderWidgetHostIsHidden(true);
@ -924,4 +927,9 @@ void OffScreenRenderWidgetHostView::OnWindowResize() {
SetSize(size);
}
void OffScreenRenderWidgetHostView::OnWindowClosed() {
native_window_->RemoveObserver(this);
native_window_ = nullptr;
}
} // namespace atom

View file

@ -176,6 +176,7 @@ class OffScreenRenderWidgetHostView
// NativeWindowObserver:
void OnWindowResize() override;
void OnWindowClosed() override;
void OnBeginFrameTimerTick();
void SendBeginFrame(base::TimeTicks frame_time,