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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
9 #include "base/timer/timer.h" | 9 #include "base/timer/timer.h" |
10 #include "content/browser/browser_thread_impl.h" | 10 #include "content/browser/browser_thread_impl.h" |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
598 private: | 598 private: |
599 MockRenderWidgetHost* host_; | 599 MockRenderWidgetHost* host_; |
600 int tag_; | 600 int tag_; |
601 gfx::Size size_; | 601 gfx::Size size_; |
602 }; | 602 }; |
603 | 603 |
604 // RenderWidgetHostTest -------------------------------------------------------- | 604 // RenderWidgetHostTest -------------------------------------------------------- |
605 | 605 |
606 class RenderWidgetHostTest : public testing::Test { | 606 class RenderWidgetHostTest : public testing::Test { |
607 public: | 607 public: |
608 RenderWidgetHostTest() : process_(NULL), handle_key_press_event_(false) { | 608 RenderWidgetHostTest() |
| 609 : process_(NULL), |
| 610 handle_key_press_event_(false), |
| 611 handle_mouse_event_(false) { |
609 } | 612 } |
610 virtual ~RenderWidgetHostTest() { | 613 virtual ~RenderWidgetHostTest() { |
611 } | 614 } |
612 | 615 |
613 bool KeyPressEventCallback(const NativeWebKeyboardEvent& event) { | 616 bool KeyPressEventCallback(const NativeWebKeyboardEvent& /* event */) { |
614 return handle_key_press_event_; | 617 return handle_key_press_event_; |
615 } | 618 } |
| 619 bool MouseEventCallback(const WebKit::WebMouseEvent& /* event */) { |
| 620 return handle_mouse_event_; |
| 621 } |
616 | 622 |
617 protected: | 623 protected: |
618 // testing::Test | 624 // testing::Test |
619 virtual void SetUp() { | 625 virtual void SetUp() { |
620 browser_context_.reset(new TestBrowserContext()); | 626 browser_context_.reset(new TestBrowserContext()); |
621 delegate_.reset(new MockRenderWidgetHostDelegate()); | 627 delegate_.reset(new MockRenderWidgetHostDelegate()); |
622 process_ = new RenderWidgetHostProcess(browser_context_.get()); | 628 process_ = new RenderWidgetHostProcess(browser_context_.get()); |
623 #if defined(USE_AURA) | 629 #if defined(USE_AURA) |
624 screen_.reset(aura::TestScreen::Create()); | 630 screen_.reset(aura::TestScreen::Create()); |
625 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); | 631 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 | 816 |
811 base::MessageLoopForUI message_loop_; | 817 base::MessageLoopForUI message_loop_; |
812 | 818 |
813 scoped_ptr<TestBrowserContext> browser_context_; | 819 scoped_ptr<TestBrowserContext> browser_context_; |
814 RenderWidgetHostProcess* process_; // Deleted automatically by the widget. | 820 RenderWidgetHostProcess* process_; // Deleted automatically by the widget. |
815 scoped_ptr<MockRenderWidgetHostDelegate> delegate_; | 821 scoped_ptr<MockRenderWidgetHostDelegate> delegate_; |
816 scoped_ptr<MockRenderWidgetHost> host_; | 822 scoped_ptr<MockRenderWidgetHost> host_; |
817 scoped_ptr<TestView> view_; | 823 scoped_ptr<TestView> view_; |
818 scoped_ptr<gfx::Screen> screen_; | 824 scoped_ptr<gfx::Screen> screen_; |
819 bool handle_key_press_event_; | 825 bool handle_key_press_event_; |
| 826 bool handle_mouse_event_; |
820 | 827 |
821 private: | 828 private: |
822 WebTouchEvent touch_event_; | 829 WebTouchEvent touch_event_; |
823 | 830 |
824 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest); | 831 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest); |
825 }; | 832 }; |
826 | 833 |
827 #if GTEST_HAS_PARAM_TEST | 834 #if GTEST_HAS_PARAM_TEST |
828 // RenderWidgetHostWithSourceTest ---------------------------------------------- | 835 // RenderWidgetHostWithSourceTest ---------------------------------------------- |
829 | 836 |
(...skipping 1681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2511 | 2518 |
2512 // Sending RawKeyDown event should stop suppression | 2519 // Sending RawKeyDown event should stop suppression |
2513 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); | 2520 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); |
2514 EXPECT_TRUE(host_->mock_input_router()->sent_keyboard_event_); | 2521 EXPECT_TRUE(host_->mock_input_router()->sent_keyboard_event_); |
2515 | 2522 |
2516 host_->mock_input_router()->sent_keyboard_event_ = false; | 2523 host_->mock_input_router()->sent_keyboard_event_ = false; |
2517 SimulateKeyboardEvent(WebInputEvent::Char); | 2524 SimulateKeyboardEvent(WebInputEvent::Char); |
2518 EXPECT_TRUE(host_->mock_input_router()->sent_keyboard_event_); | 2525 EXPECT_TRUE(host_->mock_input_router()->sent_keyboard_event_); |
2519 } | 2526 } |
2520 | 2527 |
| 2528 TEST_F(RenderWidgetHostTest, MouseEventCallbackCanHandleEvent) { |
| 2529 host_->SetupForInputRouterTest(); |
| 2530 |
| 2531 host_->AddMouseEventCallback( |
| 2532 base::Bind(&RenderWidgetHostTest::MouseEventCallback, |
| 2533 base::Unretained(this))); |
| 2534 |
| 2535 handle_mouse_event_ = true; |
| 2536 SimulateMouseEvent(WebInputEvent::MouseDown); |
| 2537 |
| 2538 EXPECT_FALSE(host_->mock_input_router()->sent_mouse_event_); |
| 2539 |
| 2540 handle_mouse_event_ = false; |
| 2541 SimulateMouseEvent(WebInputEvent::MouseDown); |
| 2542 |
| 2543 EXPECT_TRUE(host_->mock_input_router()->sent_mouse_event_); |
| 2544 } |
| 2545 |
2521 TEST_F(RenderWidgetHostTest, InputRouterReceivesHandleInputEvent_ACK) { | 2546 TEST_F(RenderWidgetHostTest, InputRouterReceivesHandleInputEvent_ACK) { |
2522 host_->SetupForInputRouterTest(); | 2547 host_->SetupForInputRouterTest(); |
2523 | 2548 |
2524 SendInputEventACK(WebInputEvent::RawKeyDown, | 2549 SendInputEventACK(WebInputEvent::RawKeyDown, |
2525 INPUT_EVENT_ACK_STATE_CONSUMED); | 2550 INPUT_EVENT_ACK_STATE_CONSUMED); |
2526 | 2551 |
2527 EXPECT_TRUE(host_->mock_input_router()->message_received_); | 2552 EXPECT_TRUE(host_->mock_input_router()->message_received_); |
2528 } | 2553 } |
2529 | 2554 |
2530 TEST_F(RenderWidgetHostTest, InputRouterReceivesMoveCaret_ACK) { | 2555 TEST_F(RenderWidgetHostTest, InputRouterReceivesMoveCaret_ACK) { |
(...skipping 14 matching lines...) Expand all Loading... |
2545 | 2570 |
2546 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { | 2571 TEST_F(RenderWidgetHostTest, InputRouterReceivesHasTouchEventHandlers) { |
2547 host_->SetupForInputRouterTest(); | 2572 host_->SetupForInputRouterTest(); |
2548 | 2573 |
2549 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); | 2574 host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); |
2550 | 2575 |
2551 EXPECT_TRUE(host_->mock_input_router()->message_received_); | 2576 EXPECT_TRUE(host_->mock_input_router()->message_received_); |
2552 } | 2577 } |
2553 | 2578 |
2554 } // namespace content | 2579 } // namespace content |
OLD | NEW |