summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrmcilroy@chromium.org <rmcilroy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-15 13:28:43 +0000
committerrmcilroy@chromium.org <rmcilroy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-15 13:28:43 +0000
commit1591c44dd7fda083b8a7812b3188eaa92eb5ce7b (patch)
treead6eb4570f3bb447add6f6e8348b32af9cce2fbd
parentdb253cb7575b045a5a26e8e58c9562aff3edbacd (diff)
downloadchromium_src-1591c44dd7fda083b8a7812b3188eaa92eb5ce7b.zip
chromium_src-1591c44dd7fda083b8a7812b3188eaa92eb5ce7b.tar.gz
chromium_src-1591c44dd7fda083b8a7812b3188eaa92eb5ce7b.tar.bz2
Set DISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY to true on Android.
Also change render_process_visibility_manager to use MEMORY_PRESSURE_MODERATE when the renderer loses visibility since MEMORY_PRESSURE_CRITICAL should be reserved for situations where memory pressure is really critical. BUG= Review URL: https://chromiumcodereview.appspot.com/18910002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211635 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--build/common.gypi16
-rw-r--r--content/renderer/render_process_visibility_manager.cc4
2 files changed, 18 insertions, 2 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 0ae5abb..9b68604 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -418,6 +418,12 @@
# Managed users are enabled by default.
'enable_managed_users%': 1,
+ # Platform natively supports discardable memory.
+ 'native_discardable_memory%': 0,
+
+ # Platform sends memory pressure signals natively.
+ 'native_memory_pressure_signals%': 0,
+
'spdy_proxy_auth_origin%' : '',
'spdy_proxy_auth_property%' : '',
'spdy_proxy_auth_value%' : '',
@@ -514,6 +520,8 @@
'remoting%': 0,
'arm_neon%': 0,
'arm_neon_optional%': 1,
+ 'native_discardable_memory%': 1,
+ 'native_memory_pressure_signals%': 1,
}],
# Enable autofill dialog for Android and Views-enabled platforms for now.
@@ -835,6 +843,8 @@
'google_default_client_id%': '<(google_default_client_id)',
'google_default_client_secret%': '<(google_default_client_secret)',
'enable_managed_users%': '<(enable_managed_users)',
+ 'native_discardable_memory%': '<(native_discardable_memory)',
+ 'native_memory_pressure_signals%': '<(native_memory_pressure_signals)',
'spdy_proxy_auth_origin%': '<(spdy_proxy_auth_origin)',
'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)',
'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)',
@@ -3417,6 +3427,12 @@
'-B<(PRODUCT_DIR)/../../third_party/gold',
],
}],
+ ['native_discardable_memory', {
+ 'defines': ['DISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY'],
+ }],
+ ['native_memory_pressure_signals', {
+ 'defines': ['SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE'],
+ }],
],
},
}],
diff --git a/content/renderer/render_process_visibility_manager.cc b/content/renderer/render_process_visibility_manager.cc
index 8231df4..ed84bdf 100644
--- a/content/renderer/render_process_visibility_manager.cc
+++ b/content/renderer/render_process_visibility_manager.cc
@@ -22,14 +22,14 @@ RenderProcessVisibilityManager* RenderProcessVisibilityManager::GetInstance() {
}
void RenderProcessVisibilityManager::WidgetVisibilityChanged(bool visible) {
-#if !defined(DISCARDABLE_MEMORY_ALWAYS_SUPPORTED_NATIVELY)
+#if !defined(SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE)
num_visible_render_widgets_ += visible ? 1 : -1;
DCHECK_LE(0, num_visible_render_widgets_);
if (num_visible_render_widgets_ == 0) {
// TODO(vollick): Remove this this heavy-handed approach once we're polling
// the real system memory pressure.
base::MemoryPressureListener::NotifyMemoryPressure(
- base::MemoryPressureListener::MEMORY_PRESSURE_CRITICAL);
+ base::MemoryPressureListener::MEMORY_PRESSURE_MODERATE);
}
#endif
}