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..bbb4dd41e0bfa37c71a0d1c64d2a00c86f39eecc 100644 |
--- a/content/browser/renderer_host/delegated_frame_evictor.cc |
+++ b/content/browser/renderer_host/delegated_frame_evictor.cc |
@@ -10,7 +10,7 @@ namespace content { |
DelegatedFrameEvictor::DelegatedFrameEvictor( |
DelegatedFrameEvictorClient* client) |
- : client_(client), has_frame_(false) {} |
+ : client_(client), has_frame_(false), visible_(false) {} |
DelegatedFrameEvictor::~DelegatedFrameEvictor() { DiscardedFrame(); } |
@@ -25,11 +25,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(); |
} |
} |
} |