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/shared_memory.h" | 9 #include "base/memory/shared_memory.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1857 EXPECT_FALSE(views[1]->released_front_lock_active()); | 1857 EXPECT_FALSE(views[1]->released_front_lock_active()); |
1858 | 1858 |
1859 for (size_t i = 0; i < renderer_count - 1; ++i) | 1859 for (size_t i = 0; i < renderer_count - 1; ++i) |
1860 views[i]->Hide(); | 1860 views[i]->Hide(); |
1861 | 1861 |
1862 // Allocate enough bitmaps so that two frames (proportionally) would be | 1862 // Allocate enough bitmaps so that two frames (proportionally) would be |
1863 // enough hit the handle limit. | 1863 // enough hit the handle limit. |
1864 int handles_per_frame = 5; | 1864 int handles_per_frame = 5; |
1865 RendererFrameManager::GetInstance()->set_max_handles(handles_per_frame * 2); | 1865 RendererFrameManager::GetInstance()->set_max_handles(handles_per_frame * 2); |
1866 | 1866 |
| 1867 HostSharedBitmapManagerClient bitmap_client( |
| 1868 HostSharedBitmapManager::current()); |
| 1869 |
1867 for (size_t i = 0; i < (renderer_count - 1) * handles_per_frame; i++) { | 1870 for (size_t i = 0; i < (renderer_count - 1) * handles_per_frame; i++) { |
1868 HostSharedBitmapManager::current()->ChildAllocatedSharedBitmap( | 1871 bitmap_client.ChildAllocatedSharedBitmap( |
1869 1, | 1872 1, base::SharedMemory::NULLHandle(), base::GetCurrentProcessHandle(), |
1870 base::SharedMemory::NULLHandle(), | |
1871 base::GetCurrentProcessHandle(), | |
1872 cc::SharedBitmap::GenerateId()); | 1873 cc::SharedBitmap::GenerateId()); |
1873 } | 1874 } |
1874 | 1875 |
1875 // Hiding this last bitmap should evict all but two frames. | 1876 // Hiding this last bitmap should evict all but two frames. |
1876 views[renderer_count - 1]->Hide(); | 1877 views[renderer_count - 1]->Hide(); |
1877 for (size_t i = 0; i < renderer_count; ++i) { | 1878 for (size_t i = 0; i < renderer_count; ++i) { |
1878 if (i + 2 < renderer_count) | 1879 if (i + 2 < renderer_count) |
1879 EXPECT_FALSE(views[i]->HasFrameData()); | 1880 EXPECT_FALSE(views[i]->HasFrameData()); |
1880 else | 1881 else |
1881 EXPECT_TRUE(views[i]->HasFrameData()); | 1882 EXPECT_TRUE(views[i]->HasFrameData()); |
1882 } | 1883 } |
1883 HostSharedBitmapManager::current()->ProcessRemoved( | |
1884 base::GetCurrentProcessHandle()); | |
1885 RendererFrameManager::GetInstance()->set_max_handles( | 1884 RendererFrameManager::GetInstance()->set_max_handles( |
1886 base::SharedMemory::GetHandleLimit()); | 1885 base::SharedMemory::GetHandleLimit()); |
1887 | 1886 |
1888 for (size_t i = 0; i < renderer_count; ++i) { | 1887 for (size_t i = 0; i < renderer_count; ++i) { |
1889 views[i]->Destroy(); | 1888 views[i]->Destroy(); |
1890 delete hosts[i]; | 1889 delete hosts[i]; |
1891 } | 1890 } |
1892 } | 1891 } |
1893 | 1892 |
1894 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithLocking) { | 1893 TEST_F(RenderWidgetHostViewAuraTest, DiscardDelegatedFramesWithLocking) { |
(...skipping 1314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3209 ui::TouchEvent press2( | 3208 ui::TouchEvent press2( |
3210 ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), 1, ui::EventTimeForNow()); | 3209 ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), 1, ui::EventTimeForNow()); |
3211 view_->OnTouchEvent(&press2); | 3210 view_->OnTouchEvent(&press2); |
3212 SendInputEventACK(blink::WebInputEvent::TouchStart, | 3211 SendInputEventACK(blink::WebInputEvent::TouchStart, |
3213 INPUT_EVENT_ACK_STATE_CONSUMED); | 3212 INPUT_EVENT_ACK_STATE_CONSUMED); |
3214 | 3213 |
3215 EXPECT_EQ(2U, view_->dispatcher_->processed_touch_event_count()); | 3214 EXPECT_EQ(2U, view_->dispatcher_->processed_touch_event_count()); |
3216 } | 3215 } |
3217 | 3216 |
3218 } // namespace content | 3217 } // namespace content |
OLD | NEW |