OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
(...skipping 2030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2041 views[i]->Destroy(); | 2041 views[i]->Destroy(); |
2042 delete hosts[i]; | 2042 delete hosts[i]; |
2043 } | 2043 } |
2044 } | 2044 } |
2045 | 2045 |
2046 // Test that changing the memory pressure should delete saved frames. This test | 2046 // Test that changing the memory pressure should delete saved frames. This test |
2047 // only applies to ChromeOS. | 2047 // only applies to ChromeOS. |
2048 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) { | 2048 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithMemoryPressure) { |
2049 view_->InitAsChild(NULL); | 2049 view_->InitAsChild(NULL); |
2050 | 2050 |
2051 size_t max_renderer_frames = | 2051 // The test logic below relies on having max_renderer_frames > 2. By default, |
2052 RendererFrameManager::GetInstance()->GetMaxNumberOfSavedFrames(); | 2052 // this value is calculated from total physical memory and causes the test to |
2053 ASSERT_LE(2u, max_renderer_frames); | 2053 // fail when run on hardware with < 256MB of RAM. |
2054 size_t renderer_count = max_renderer_frames; | 2054 const size_t kMaxRendererFrames = 5; |
| 2055 RendererFrameManager::GetInstance()->set_max_number_of_saved_frames( |
| 2056 kMaxRendererFrames); |
| 2057 |
| 2058 size_t renderer_count = kMaxRendererFrames; |
2055 gfx::Rect view_rect(100, 100); | 2059 gfx::Rect view_rect(100, 100); |
2056 gfx::Size frame_size = view_rect.size(); | 2060 gfx::Size frame_size = view_rect.size(); |
2057 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); | 2061 DCHECK_EQ(0u, HostSharedBitmapManager::current()->AllocatedBitmapCount()); |
2058 | 2062 |
2059 scoped_ptr<RenderWidgetHostImpl * []> hosts( | 2063 scoped_ptr<RenderWidgetHostImpl * []> hosts( |
2060 new RenderWidgetHostImpl* [renderer_count]); | 2064 new RenderWidgetHostImpl* [renderer_count]); |
2061 scoped_ptr<FakeRenderWidgetHostViewAura * []> views( | 2065 scoped_ptr<FakeRenderWidgetHostViewAura * []> views( |
2062 new FakeRenderWidgetHostViewAura* [renderer_count]); | 2066 new FakeRenderWidgetHostViewAura* [renderer_count]); |
2063 | 2067 |
2064 // Create a bunch of renderers. | 2068 // Create a bunch of renderers. |
(...skipping 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3465 ViewMsg_SetSurfaceIdNamespace::Read(msg, ¶ms); | 3469 ViewMsg_SetSurfaceIdNamespace::Read(msg, ¶ms); |
3466 view_->InitAsChild(NULL); | 3470 view_->InitAsChild(NULL); |
3467 view_->Show(); | 3471 view_->Show(); |
3468 view_->SetSize(size); | 3472 view_->SetSize(size); |
3469 view_->OnSwapCompositorFrame(0, | 3473 view_->OnSwapCompositorFrame(0, |
3470 MakeDelegatedFrame(1.f, size, gfx::Rect(size))); | 3474 MakeDelegatedFrame(1.f, size, gfx::Rect(size))); |
3471 EXPECT_EQ(view_->GetSurfaceIdNamespace(), get<0>(params)); | 3475 EXPECT_EQ(view_->GetSurfaceIdNamespace(), get<0>(params)); |
3472 } | 3476 } |
3473 | 3477 |
3474 } // namespace content | 3478 } // namespace content |
OLD | NEW |