Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 209383003: Move wm/public into wm target (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/memory/shared_memory.h" 8 #include "base/memory/shared_memory.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 15 matching lines...) Expand all
26 #include "content/public/test/mock_render_process_host.h" 26 #include "content/public/test/mock_render_process_host.h"
27 #include "content/public/test/test_browser_context.h" 27 #include "content/public/test/test_browser_context.h"
28 #include "ipc/ipc_test_sink.h" 28 #include "ipc/ipc_test_sink.h"
29 #include "testing/gmock/include/gmock/gmock.h" 29 #include "testing/gmock/include/gmock/gmock.h"
30 #include "testing/gtest/include/gtest/gtest.h" 30 #include "testing/gtest/include/gtest/gtest.h"
31 #include "ui/aura/client/aura_constants.h" 31 #include "ui/aura/client/aura_constants.h"
32 #include "ui/aura/client/screen_position_client.h" 32 #include "ui/aura/client/screen_position_client.h"
33 #include "ui/aura/client/window_tree_client.h" 33 #include "ui/aura/client/window_tree_client.h"
34 #include "ui/aura/env.h" 34 #include "ui/aura/env.h"
35 #include "ui/aura/layout_manager.h" 35 #include "ui/aura/layout_manager.h"
36 #include "ui/aura/test/aura_test_helper.h"
37 #include "ui/aura/test/event_generator.h" 36 #include "ui/aura/test/event_generator.h"
38 #include "ui/aura/test/test_cursor_client.h" 37 #include "ui/aura/test/test_cursor_client.h"
39 #include "ui/aura/test/test_screen.h" 38 #include "ui/aura/test/test_screen.h"
40 #include "ui/aura/test/test_window_delegate.h" 39 #include "ui/aura/test/test_window_delegate.h"
41 #include "ui/aura/window.h" 40 #include "ui/aura/window.h"
42 #include "ui/aura/window_event_dispatcher.h" 41 #include "ui/aura/window_event_dispatcher.h"
43 #include "ui/aura/window_observer.h" 42 #include "ui/aura/window_observer.h"
44 #include "ui/base/ui_base_types.h" 43 #include "ui/base/ui_base_types.h"
45 #include "ui/compositor/compositor.h" 44 #include "ui/compositor/compositor.h"
46 #include "ui/compositor/test/draw_waiter_for_test.h" 45 #include "ui/compositor/test/draw_waiter_for_test.h"
47 #include "ui/compositor/test/in_process_context_factory.h" 46 #include "ui/compositor/test/in_process_context_factory.h"
48 #include "ui/events/event.h" 47 #include "ui/events/event.h"
49 #include "ui/events/event_utils.h" 48 #include "ui/events/event_utils.h"
49 #include "ui/wm/test/wm_test_helper.h"
50 50
51 using testing::_; 51 using testing::_;
52 52
53 namespace content { 53 namespace content {
54 namespace { 54 namespace {
55 55
56 // Simple screen position client to test coordinate system conversion. 56 // Simple screen position client to test coordinate system conversion.
57 class TestScreenPositionClient 57 class TestScreenPositionClient
58 : public aura::client::ScreenPositionClient { 58 : public aura::client::ScreenPositionClient {
59 public: 59 public:
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 }; 198 };
199 199
200 class RenderWidgetHostViewAuraTest : public testing::Test { 200 class RenderWidgetHostViewAuraTest : public testing::Test {
201 public: 201 public:
202 RenderWidgetHostViewAuraTest() 202 RenderWidgetHostViewAuraTest()
203 : browser_thread_for_ui_(BrowserThread::UI, &message_loop_) {} 203 : browser_thread_for_ui_(BrowserThread::UI, &message_loop_) {}
204 204
205 void SetUpEnvironment() { 205 void SetUpEnvironment() {
206 ImageTransportFactory::InitializeForUnitTests( 206 ImageTransportFactory::InitializeForUnitTests(
207 scoped_ptr<ui::ContextFactory>(new ui::InProcessContextFactory)); 207 scoped_ptr<ui::ContextFactory>(new ui::InProcessContextFactory));
208 aura_test_helper_.reset(new aura::test::AuraTestHelper(&message_loop_)); 208 wm_test_helper_.reset(new wm::WMTestHelper);
209 aura_test_helper_->SetUp(); 209 wm_test_helper_->SetUp();
210 210
211 browser_context_.reset(new TestBrowserContext); 211 browser_context_.reset(new TestBrowserContext);
212 process_host_ = new MockRenderProcessHost(browser_context_.get()); 212 process_host_ = new MockRenderProcessHost(browser_context_.get());
213 213
214 sink_ = &process_host_->sink(); 214 sink_ = &process_host_->sink();
215 215
216 parent_host_ = new RenderWidgetHostImpl( 216 parent_host_ = new RenderWidgetHostImpl(
217 &delegate_, process_host_, MSG_ROUTING_NONE, false); 217 &delegate_, process_host_, MSG_ROUTING_NONE, false);
218 parent_view_ = static_cast<RenderWidgetHostViewAura*>( 218 parent_view_ = static_cast<RenderWidgetHostViewAura*>(
219 RenderWidgetHostView::CreateViewForWidget(parent_host_)); 219 RenderWidgetHostView::CreateViewForWidget(parent_host_));
220 parent_view_->InitAsChild(NULL); 220 parent_view_->InitAsChild(NULL);
221 aura::client::ParentWindowWithContext(parent_view_->GetNativeView(), 221 aura::client::ParentWindowWithContext(parent_view_->GetNativeView(),
222 aura_test_helper_->root_window(), 222 wm_test_helper_->root_window(),
223 gfx::Rect()); 223 gfx::Rect());
224 224
225 widget_host_ = new RenderWidgetHostImpl( 225 widget_host_ = new RenderWidgetHostImpl(
226 &delegate_, process_host_, MSG_ROUTING_NONE, false); 226 &delegate_, process_host_, MSG_ROUTING_NONE, false);
227 widget_host_->Init(); 227 widget_host_->Init();
228 widget_host_->OnMessageReceived( 228 widget_host_->OnMessageReceived(
229 ViewHostMsg_DidActivateAcceleratedCompositing(0, true)); 229 ViewHostMsg_DidActivateAcceleratedCompositing(0, true));
230 view_ = new FakeRenderWidgetHostViewAura(widget_host_); 230 view_ = new FakeRenderWidgetHostViewAura(widget_host_);
231 } 231 }
232 232
233 void TearDownEnvironment() { 233 void TearDownEnvironment() {
234 sink_ = NULL; 234 sink_ = NULL;
235 process_host_ = NULL; 235 process_host_ = NULL;
236 if (view_) 236 if (view_)
237 view_->Destroy(); 237 view_->Destroy();
238 delete widget_host_; 238 delete widget_host_;
239 239
240 parent_view_->Destroy(); 240 parent_view_->Destroy();
241 delete parent_host_; 241 delete parent_host_;
242 242
243 browser_context_.reset(); 243 browser_context_.reset();
244 aura_test_helper_->TearDown(); 244 wm_test_helper_->TearDown();
245 245
246 message_loop_.DeleteSoon(FROM_HERE, browser_context_.release()); 246 message_loop_.DeleteSoon(FROM_HERE, browser_context_.release());
247 message_loop_.RunUntilIdle(); 247 message_loop_.RunUntilIdle();
248 ImageTransportFactory::Terminate(); 248 ImageTransportFactory::Terminate();
249 } 249 }
250 250
251 virtual void SetUp() { SetUpEnvironment(); } 251 virtual void SetUp() { SetUpEnvironment(); }
252 252
253 virtual void TearDown() { TearDownEnvironment(); } 253 virtual void TearDown() { TearDownEnvironment(); }
254 254
255 protected: 255 protected:
256 base::MessageLoopForUI message_loop_; 256 base::MessageLoopForUI message_loop_;
257 BrowserThreadImpl browser_thread_for_ui_; 257 BrowserThreadImpl browser_thread_for_ui_;
258 scoped_ptr<aura::test::AuraTestHelper> aura_test_helper_; 258 scoped_ptr<wm::WMTestHelper> wm_test_helper_;
259 scoped_ptr<BrowserContext> browser_context_; 259 scoped_ptr<BrowserContext> browser_context_;
260 MockRenderWidgetHostDelegate delegate_; 260 MockRenderWidgetHostDelegate delegate_;
261 MockRenderProcessHost* process_host_; 261 MockRenderProcessHost* process_host_;
262 262
263 // Tests should set these to NULL if they've already triggered their 263 // Tests should set these to NULL if they've already triggered their
264 // destruction. 264 // destruction.
265 RenderWidgetHostImpl* parent_host_; 265 RenderWidgetHostImpl* parent_host_;
266 RenderWidgetHostViewAura* parent_view_; 266 RenderWidgetHostViewAura* parent_view_;
267 267
268 // Tests should set these to NULL if they've already triggered their 268 // Tests should set these to NULL if they've already triggered their
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 ViewMsg_Resize::Param params; 674 ViewMsg_Resize::Param params;
675 ViewMsg_Resize::Read(msg, &params); 675 ViewMsg_Resize::Read(msg, &params);
676 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size 676 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size
677 EXPECT_EQ("100x100", 677 EXPECT_EQ("100x100",
678 params.a.physical_backing_size.ToString()); // backing size 678 params.a.physical_backing_size.ToString()); // backing size
679 } 679 }
680 680
681 widget_host_->ResetSizeAndRepaintPendingFlags(); 681 widget_host_->ResetSizeAndRepaintPendingFlags();
682 sink_->ClearMessages(); 682 sink_->ClearMessages();
683 683
684 aura_test_helper_->test_screen()->SetDeviceScaleFactor(2.0f); 684 wm_test_helper_->test_screen()->SetDeviceScaleFactor(2.0f);
685 EXPECT_EQ("200x200", view_->GetPhysicalBackingSize().ToString()); 685 EXPECT_EQ("200x200", view_->GetPhysicalBackingSize().ToString());
686 // Extra ScreenInfoChanged message for |parent_view_|. 686 // Extra ScreenInfoChanged message for |parent_view_|.
687 EXPECT_EQ(1u, sink_->message_count()); 687 EXPECT_EQ(1u, sink_->message_count());
688 { 688 {
689 const IPC::Message* msg = sink_->GetMessageAt(0); 689 const IPC::Message* msg = sink_->GetMessageAt(0);
690 EXPECT_EQ(ViewMsg_Resize::ID, msg->type()); 690 EXPECT_EQ(ViewMsg_Resize::ID, msg->type());
691 ViewMsg_Resize::Param params; 691 ViewMsg_Resize::Param params;
692 ViewMsg_Resize::Read(msg, &params); 692 ViewMsg_Resize::Read(msg, &params);
693 EXPECT_EQ(2.0f, params.a.screen_info.deviceScaleFactor); 693 EXPECT_EQ(2.0f, params.a.screen_info.deviceScaleFactor);
694 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size 694 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size
695 EXPECT_EQ("200x200", 695 EXPECT_EQ("200x200",
696 params.a.physical_backing_size.ToString()); // backing size 696 params.a.physical_backing_size.ToString()); // backing size
697 } 697 }
698 698
699 widget_host_->ResetSizeAndRepaintPendingFlags(); 699 widget_host_->ResetSizeAndRepaintPendingFlags();
700 sink_->ClearMessages(); 700 sink_->ClearMessages();
701 701
702 aura_test_helper_->test_screen()->SetDeviceScaleFactor(1.0f); 702 wm_test_helper_->test_screen()->SetDeviceScaleFactor(1.0f);
703 // Extra ScreenInfoChanged message for |parent_view_|. 703 // Extra ScreenInfoChanged message for |parent_view_|.
704 EXPECT_EQ(1u, sink_->message_count()); 704 EXPECT_EQ(1u, sink_->message_count());
705 EXPECT_EQ("100x100", view_->GetPhysicalBackingSize().ToString()); 705 EXPECT_EQ("100x100", view_->GetPhysicalBackingSize().ToString());
706 { 706 {
707 const IPC::Message* msg = sink_->GetMessageAt(0); 707 const IPC::Message* msg = sink_->GetMessageAt(0);
708 EXPECT_EQ(ViewMsg_Resize::ID, msg->type()); 708 EXPECT_EQ(ViewMsg_Resize::ID, msg->type());
709 ViewMsg_Resize::Param params; 709 ViewMsg_Resize::Param params;
710 ViewMsg_Resize::Read(msg, &params); 710 ViewMsg_Resize::Read(msg, &params);
711 EXPECT_EQ(1.0f, params.a.screen_info.deviceScaleFactor); 711 EXPECT_EQ(1.0f, params.a.screen_info.deviceScaleFactor);
712 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size 712 EXPECT_EQ("100x100", params.a.new_size.ToString()); // dip size
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 pass->SetNew(cc::RenderPass::Id(1, 1), 887 pass->SetNew(cc::RenderPass::Id(1, 1),
888 gfx::Rect(size), 888 gfx::Rect(size),
889 gfx::RectF(damage), 889 gfx::RectF(damage),
890 gfx::Transform()); 890 gfx::Transform());
891 frame->delegated_frame_data->render_pass_list.push_back(pass.Pass()); 891 frame->delegated_frame_data->render_pass_list.push_back(pass.Pass());
892 return frame.Pass(); 892 return frame.Pass();
893 } 893 }
894 894
895 // Resizing in fullscreen mode should send the up-to-date screen info. 895 // Resizing in fullscreen mode should send the up-to-date screen info.
896 TEST_F(RenderWidgetHostViewAuraTest, FullscreenResize) { 896 TEST_F(RenderWidgetHostViewAuraTest, FullscreenResize) {
897 aura::Window* root_window = aura_test_helper_->root_window(); 897 aura::Window* root_window = wm_test_helper_->root_window();
898 root_window->SetLayoutManager(new FullscreenLayoutManager(root_window)); 898 root_window->SetLayoutManager(new FullscreenLayoutManager(root_window));
899 view_->InitAsFullscreen(parent_view_); 899 view_->InitAsFullscreen(parent_view_);
900 view_->WasShown(); 900 view_->WasShown();
901 widget_host_->ResetSizeAndRepaintPendingFlags(); 901 widget_host_->ResetSizeAndRepaintPendingFlags();
902 sink_->ClearMessages(); 902 sink_->ClearMessages();
903 903
904 GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper(); 904 GLHelper* gl_helper = ImageTransportFactory::GetInstance()->GetGLHelper();
905 scoped_refptr<OwnedMailbox> owned_mailbox = new OwnedMailbox(gl_helper); 905 scoped_refptr<OwnedMailbox> owned_mailbox = new OwnedMailbox(gl_helper);
906 gl_helper->ResizeTexture(owned_mailbox->texture_id(), gfx::Size(1, 1)); 906 gl_helper->ResizeTexture(owned_mailbox->texture_id(), gfx::Size(1, 1));
907 owned_mailbox->UpdateSyncPoint(gl_helper->InsertSyncPoint()); 907 owned_mailbox->UpdateSyncPoint(gl_helper->InsertSyncPoint());
(...skipping 18 matching lines...) Expand all
926 owned_mailbox.get())); 926 owned_mailbox.get()));
927 ui::DrawWaiterForTest::WaitForCommit( 927 ui::DrawWaiterForTest::WaitForCommit(
928 root_window->GetHost()->compositor()); 928 root_window->GetHost()->compositor());
929 } 929 }
930 930
931 widget_host_->ResetSizeAndRepaintPendingFlags(); 931 widget_host_->ResetSizeAndRepaintPendingFlags();
932 sink_->ClearMessages(); 932 sink_->ClearMessages();
933 933
934 // Make sure the corrent screen size is set along in the resize 934 // Make sure the corrent screen size is set along in the resize
935 // request when the screen size has changed. 935 // request when the screen size has changed.
936 aura_test_helper_->test_screen()->SetUIScale(0.5); 936 wm_test_helper_->test_screen()->SetUIScale(0.5);
937 EXPECT_EQ(1u, sink_->message_count()); 937 EXPECT_EQ(1u, sink_->message_count());
938 { 938 {
939 const IPC::Message* msg = sink_->GetMessageAt(0); 939 const IPC::Message* msg = sink_->GetMessageAt(0);
940 EXPECT_EQ(ViewMsg_Resize::ID, msg->type()); 940 EXPECT_EQ(ViewMsg_Resize::ID, msg->type());
941 ViewMsg_Resize::Param params; 941 ViewMsg_Resize::Param params;
942 ViewMsg_Resize::Read(msg, &params); 942 ViewMsg_Resize::Read(msg, &params);
943 EXPECT_EQ("0,0 1600x1200", 943 EXPECT_EQ("0,0 1600x1200",
944 gfx::Rect(params.a.screen_info.availableRect).ToString()); 944 gfx::Rect(params.a.screen_info.availableRect).ToString());
945 EXPECT_EQ("1600x1200", params.a.new_size.ToString()); 945 EXPECT_EQ("1600x1200", params.a.new_size.ToString());
946 view_->OnSwapCompositorFrame(0, 946 view_->OnSwapCompositorFrame(0,
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
1452 1452
1453 // Because the copy request callback may be holding state within it, that 1453 // Because the copy request callback may be holding state within it, that
1454 // state must handle the RWHVA and ImageTransportFactory going away before the 1454 // state must handle the RWHVA and ImageTransportFactory going away before the
1455 // callback is called. This test passes if it does not crash as a result of 1455 // callback is called. This test passes if it does not crash as a result of
1456 // these things being destroyed. 1456 // these things being destroyed.
1457 EXPECT_EQ(2, callback_count_); 1457 EXPECT_EQ(2, callback_count_);
1458 EXPECT_FALSE(result_); 1458 EXPECT_FALSE(result_);
1459 } 1459 }
1460 1460
1461 } // namespace content 1461 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/media/capture/desktop_capture_device_aura_unittest.cc ('k') | content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698