Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 7727b885834c82fd426325adec4d8c779f266f56..d8e476165b3a0df6cc8e931bd747907fd1180f4f 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -14,6 +14,7 @@ |
#include "base/debug/trace_event.h" |
#include "base/lazy_instance.h" |
#include "base/logging.h" |
+#include "base/memory/discardable_memory.h" |
#include "base/metrics/field_trial.h" |
#include "base/metrics/histogram.h" |
#include "base/metrics/stats_table.h" |
@@ -71,6 +72,7 @@ |
#include "content/renderer/p2p/socket_dispatcher.h" |
#include "content/renderer/plugin_channel_host.h" |
#include "content/renderer/render_process_impl.h" |
+#include "content/renderer/render_process_visibility_manager.h" |
#include "content/renderer/render_view_impl.h" |
#include "content/renderer/renderer_webkitplatformsupport_impl.h" |
#include "content/renderer/skia_benchmarking_extension.h" |
@@ -597,6 +599,12 @@ void RenderThreadImpl::WidgetHidden() { |
DCHECK(hidden_widget_count_ < widget_count_); |
hidden_widget_count_++; |
+#if !defined(DISCARDABLE_MEMORY_SUPPORTED_NATIVELY) |
nduca
2013/06/20 19:56:45
i think we should always call the manager. there m
|
+ RenderProcessVisibilityManager* manager = |
+ RenderProcessVisibilityManager::GetInstance(); |
+ manager->WidgetVisibilityChanged(false); |
+#endif |
+ |
if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
return; |
} |
@@ -608,6 +616,13 @@ void RenderThreadImpl::WidgetHidden() { |
void RenderThreadImpl::WidgetRestored() { |
DCHECK_GT(hidden_widget_count_, 0); |
hidden_widget_count_--; |
+ |
+#if !defined(DISCARDABLE_MEMORY_SUPPORTED_NATIVELY) |
+ RenderProcessVisibilityManager* manager = |
+ RenderProcessVisibilityManager::GetInstance(); |
+ manager->WidgetVisibilityChanged(true); |
+#endif |
+ |
if (!GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) { |
return; |
} |