| 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 1469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1480 // Expect the frame ack; | 1480 // Expect the frame ack; |
| 1481 EXPECT_EQ(1u, sink_->message_count()); | 1481 EXPECT_EQ(1u, sink_->message_count()); |
| 1482 EXPECT_EQ(ViewMsg_SwapCompositorFrameAck::ID, sink_->GetMessageAt(0)->type()); | 1482 EXPECT_EQ(ViewMsg_SwapCompositorFrameAck::ID, sink_->GetMessageAt(0)->type()); |
| 1483 sink_->ClearMessages(); | 1483 sink_->ClearMessages(); |
| 1484 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); | 1484 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); |
| 1485 | 1485 |
| 1486 // Receive a frame of the correct size, should not be skipped and, and should | 1486 // Receive a frame of the correct size, should not be skipped and, and should |
| 1487 // produce a Resize message after the commit. | 1487 // produce a Resize message after the commit. |
| 1488 view_->OnSwapCompositorFrame( | 1488 view_->OnSwapCompositorFrame( |
| 1489 0, MakeDelegatedFrame(1.f, size2, gfx::Rect(size2))); | 1489 0, MakeDelegatedFrame(1.f, size2, gfx::Rect(size2))); |
| 1490 // No frame ack yet. | 1490 cc::SurfaceId surface_id = view_->surface_id(); |
| 1491 EXPECT_EQ(0u, sink_->message_count()); | 1491 if (surface_id.is_null()) { |
| 1492 // No frame ack yet. |
| 1493 EXPECT_EQ(0u, sink_->message_count()); |
| 1494 } else { |
| 1495 // Frame isn't desired size, so early ack. |
| 1496 EXPECT_EQ(1u, sink_->message_count()); |
| 1497 } |
| 1492 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); | 1498 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); |
| 1493 | 1499 |
| 1494 // Wait for commit, then we should unlock the compositor and send a Resize | 1500 // Wait for commit, then we should unlock the compositor and send a Resize |
| 1495 // message (and a frame ack) | 1501 // message (and a frame ack) |
| 1496 ui::DrawWaiterForTest::WaitForCommit( | 1502 ui::DrawWaiterForTest::WaitForCommit( |
| 1497 root_window->GetHost()->compositor()); | 1503 root_window->GetHost()->compositor()); |
| 1498 EXPECT_EQ(size3.ToString(), view_->GetRequestedRendererSize().ToString()); | 1504 EXPECT_EQ(size3.ToString(), view_->GetRequestedRendererSize().ToString()); |
| 1499 cc::SurfaceId surface_id = view_->surface_id(); | |
| 1500 int swap_index = 0; | |
| 1501 int resize_index = 1; | |
| 1502 if (!surface_id.is_null()) { | |
| 1503 // Frame ack is sent only due to a draw callback with surfaces. | |
| 1504 ImageTransportFactory::GetInstance() | |
| 1505 ->GetSurfaceManager() | |
| 1506 ->GetSurfaceForId(surface_id) | |
| 1507 ->RunDrawCallbacks(); | |
| 1508 swap_index = 1; | |
| 1509 resize_index = 0; | |
| 1510 } | |
| 1511 EXPECT_EQ(2u, sink_->message_count()); | 1505 EXPECT_EQ(2u, sink_->message_count()); |
| 1512 EXPECT_EQ(ViewMsg_SwapCompositorFrameAck::ID, | 1506 EXPECT_EQ(ViewMsg_SwapCompositorFrameAck::ID, |
| 1513 sink_->GetMessageAt(swap_index)->type()); | 1507 sink_->GetMessageAt(0)->type()); |
| 1514 { | 1508 { |
| 1515 const IPC::Message* msg = sink_->GetMessageAt(resize_index); | 1509 const IPC::Message* msg = sink_->GetMessageAt(1); |
| 1516 EXPECT_EQ(ViewMsg_Resize::ID, msg->type()); | 1510 EXPECT_EQ(ViewMsg_Resize::ID, msg->type()); |
| 1517 ViewMsg_Resize::Param params; | 1511 ViewMsg_Resize::Param params; |
| 1518 ViewMsg_Resize::Read(msg, ¶ms); | 1512 ViewMsg_Resize::Read(msg, ¶ms); |
| 1519 EXPECT_EQ(size3.ToString(), params.a.new_size.ToString()); | 1513 EXPECT_EQ(size3.ToString(), params.a.new_size.ToString()); |
| 1520 } | 1514 } |
| 1521 update_params.view_size = size3; | 1515 update_params.view_size = size3; |
| 1522 widget_host_->OnMessageReceived( | 1516 widget_host_->OnMessageReceived( |
| 1523 ViewHostMsg_UpdateRect(widget_host_->GetRoutingID(), update_params)); | 1517 ViewHostMsg_UpdateRect(widget_host_->GetRoutingID(), update_params)); |
| 1524 sink_->ClearMessages(); | 1518 sink_->ClearMessages(); |
| 1525 } | 1519 } |
| (...skipping 1468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2994 const NativeWebKeyboardEvent* event = delegate_.last_event(); | 2988 const NativeWebKeyboardEvent* event = delegate_.last_event(); |
| 2995 EXPECT_NE(nullptr, event); | 2989 EXPECT_NE(nullptr, event); |
| 2996 if (event) { | 2990 if (event) { |
| 2997 EXPECT_EQ(key_event.key_code(), event->windowsKeyCode); | 2991 EXPECT_EQ(key_event.key_code(), event->windowsKeyCode); |
| 2998 EXPECT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event.code()), | 2992 EXPECT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event.code()), |
| 2999 event->nativeKeyCode); | 2993 event->nativeKeyCode); |
| 3000 } | 2994 } |
| 3001 } | 2995 } |
| 3002 | 2996 |
| 3003 } // namespace content | 2997 } // namespace content |
| OLD | NEW |