diff options
author | rmcilroy@chromium.org <rmcilroy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-15 13:28:43 +0000 |
---|---|---|
committer | rmcilroy@chromium.org <rmcilroy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-15 13:28:43 +0000 |
commit | 1591c44dd7fda083b8a7812b3188eaa92eb5ce7b (patch) | |
tree | ad6eb4570f3bb447add6f6e8348b32af9cce2fbd | |
parent | db253cb7575b045a5a26e8e58c9562aff3edbacd (diff) | |
download | chromium_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.gypi | 16 | ||||
-rw-r--r-- | content/renderer/render_process_visibility_manager.cc | 4 |
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 } |