| Index: content/browser/renderer_host/delegated_frame_evictor.cc
|
| diff --git a/content/browser/renderer_host/delegated_frame_evictor.cc b/content/browser/renderer_host/delegated_frame_evictor.cc
|
| index 33d6b2c479f62224886927a18dc8bfa1f09d09fb..65ae48329323b638eac52fc7723e5beeced2c948 100644
|
| --- a/content/browser/renderer_host/delegated_frame_evictor.cc
|
| +++ b/content/browser/renderer_host/delegated_frame_evictor.cc
|
| @@ -10,11 +10,13 @@ namespace content {
|
|
|
| DelegatedFrameEvictor::DelegatedFrameEvictor(
|
| DelegatedFrameEvictorClient* client)
|
| - : client_(client), has_frame_(false) {}
|
| + : client_(client), has_frame_(false), visible_(false) {
|
| +}
|
|
|
| DelegatedFrameEvictor::~DelegatedFrameEvictor() { DiscardedFrame(); }
|
|
|
| void DelegatedFrameEvictor::SwappedFrame(bool visible) {
|
| + visible_ = visible;
|
| has_frame_ = true;
|
| RendererFrameManager::GetInstance()->AddFrame(this, visible);
|
| }
|
| @@ -25,11 +27,14 @@ void DelegatedFrameEvictor::DiscardedFrame() {
|
| }
|
|
|
| void DelegatedFrameEvictor::SetVisible(bool visible) {
|
| + if (visible_ == visible)
|
| + return;
|
| + visible_ = visible;
|
| if (has_frame_) {
|
| if (visible) {
|
| - RendererFrameManager::GetInstance()->LockFrame(this);
|
| + LockFrame();
|
| } else {
|
| - RendererFrameManager::GetInstance()->UnlockFrame(this);
|
| + UnlockFrame();
|
| }
|
| }
|
| }
|
|
|