| 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_mac.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h" |
| 6 | 6 |
| 7 #include <Cocoa/Cocoa.h> | 7 #include <Cocoa/Cocoa.h> |
| 8 | 8 |
| 9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
| 10 #include "base/mac/scoped_nsautorelease_pool.h" | 10 #include "base/mac/scoped_nsautorelease_pool.h" |
| 11 #include "base/mac/sdk_forward_declarations.h" | 11 #include "base/mac/sdk_forward_declarations.h" |
| 12 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
| 13 #include "content/browser/browser_thread_impl.h" | 13 #include "content/browser/browser_thread_impl.h" |
| 14 #include "content/browser/compositor/test/no_transport_image_transport_factory.h
" | 14 #include "content/browser/compositor/test/no_transport_image_transport_factory.h
" |
| 15 #include "content/browser/frame_host/render_widget_host_view_guest.h" | 15 #include "content/browser/frame_host/render_widget_host_view_guest.h" |
| 16 #include "content/browser/gpu/compositor_util.h" | 16 #include "content/browser/gpu/compositor_util.h" |
| 17 #include "content/browser/gpu/gpu_surface_tracker.h" | |
| 18 #include "content/browser/renderer_host/render_widget_host_delegate.h" | 17 #include "content/browser/renderer_host/render_widget_host_delegate.h" |
| 19 #include "content/common/gpu/gpu_messages.h" | 18 #include "content/common/gpu/gpu_messages.h" |
| 20 #include "content/common/input_messages.h" | 19 #include "content/common/input_messages.h" |
| 21 #include "content/common/view_messages.h" | 20 #include "content/common/view_messages.h" |
| 22 #include "content/public/browser/notification_types.h" | 21 #include "content/public/browser/notification_types.h" |
| 23 #include "content/public/browser/render_widget_host_view_mac_delegate.h" | 22 #include "content/public/browser/render_widget_host_view_mac_delegate.h" |
| 24 #include "content/public/test/mock_render_process_host.h" | 23 #include "content/public/test/mock_render_process_host.h" |
| 25 #include "content/public/test/test_browser_context.h" | 24 #include "content/public/test/test_browser_context.h" |
| 26 #include "content/public/test/test_utils.h" | 25 #include "content/public/test/test_utils.h" |
| 27 #include "content/test/test_render_view_host.h" | 26 #include "content/test/test_render_view_host.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 void Cut() override {} | 123 void Cut() override {} |
| 125 void Copy() override {} | 124 void Copy() override {} |
| 126 void Paste() override {} | 125 void Paste() override {} |
| 127 void SelectAll() override {} | 126 void SelectAll() override {} |
| 128 }; | 127 }; |
| 129 | 128 |
| 130 class MockRenderWidgetHostImpl : public RenderWidgetHostImpl { | 129 class MockRenderWidgetHostImpl : public RenderWidgetHostImpl { |
| 131 public: | 130 public: |
| 132 MockRenderWidgetHostImpl(RenderWidgetHostDelegate* delegate, | 131 MockRenderWidgetHostImpl(RenderWidgetHostDelegate* delegate, |
| 133 RenderProcessHost* process, | 132 RenderProcessHost* process, |
| 134 int32 routing_id, | 133 int32 routing_id) |
| 135 int32 surface_id) | 134 : RenderWidgetHostImpl(delegate, process, routing_id, false) {} |
| 136 : RenderWidgetHostImpl(delegate, process, routing_id, surface_id, false) { | |
| 137 } | |
| 138 | 135 |
| 139 MOCK_METHOD0(Focus, void()); | 136 MOCK_METHOD0(Focus, void()); |
| 140 MOCK_METHOD0(Blur, void()); | 137 MOCK_METHOD0(Blur, void()); |
| 141 }; | 138 }; |
| 142 | 139 |
| 143 // Generates the |length| of composition rectangle vector and save them to | 140 // Generates the |length| of composition rectangle vector and save them to |
| 144 // |output|. It starts from |origin| and each rectangle contains |unit_size|. | 141 // |output|. It starts from |origin| and each rectangle contains |unit_size|. |
| 145 void GenerateCompositionRectArray(const gfx::Point& origin, | 142 void GenerateCompositionRectArray(const gfx::Point& origin, |
| 146 const gfx::Size& unit_size, | 143 const gfx::Size& unit_size, |
| 147 size_t length, | 144 size_t length, |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 | 269 |
| 273 // Verify that escape key down in fullscreen mode suppressed the keyup event on | 270 // Verify that escape key down in fullscreen mode suppressed the keyup event on |
| 274 // the parent. | 271 // the parent. |
| 275 TEST_F(RenderWidgetHostViewMacTest, FullscreenCloseOnEscape) { | 272 TEST_F(RenderWidgetHostViewMacTest, FullscreenCloseOnEscape) { |
| 276 // Use our own RWH since we need to destroy it. | 273 // Use our own RWH since we need to destroy it. |
| 277 MockRenderWidgetHostDelegate delegate; | 274 MockRenderWidgetHostDelegate delegate; |
| 278 TestBrowserContext browser_context; | 275 TestBrowserContext browser_context; |
| 279 MockRenderProcessHost* process_host = | 276 MockRenderProcessHost* process_host = |
| 280 new MockRenderProcessHost(&browser_context); | 277 new MockRenderProcessHost(&browser_context); |
| 281 int32 routing_id = process_host->GetNextRoutingID(); | 278 int32 routing_id = process_host->GetNextRoutingID(); |
| 282 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | |
| 283 process_host->GetID(), routing_id); | |
| 284 // Owned by its |cocoa_view()|. | 279 // Owned by its |cocoa_view()|. |
| 285 RenderWidgetHostImpl* rwh = new RenderWidgetHostImpl( | 280 RenderWidgetHostImpl* rwh = |
| 286 &delegate, process_host, routing_id, surface_id, false); | 281 new RenderWidgetHostImpl(&delegate, process_host, routing_id, false); |
| 287 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); | 282 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); |
| 288 | 283 |
| 289 view->InitAsFullscreen(rwhv_mac_); | 284 view->InitAsFullscreen(rwhv_mac_); |
| 290 | 285 |
| 291 WindowedNotificationObserver observer( | 286 WindowedNotificationObserver observer( |
| 292 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, | 287 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, |
| 293 Source<RenderWidgetHost>(rwh)); | 288 Source<RenderWidgetHost>(rwh)); |
| 294 EXPECT_FALSE([rwhv_mac_->cocoa_view() suppressNextEscapeKeyUp]); | 289 EXPECT_FALSE([rwhv_mac_->cocoa_view() suppressNextEscapeKeyUp]); |
| 295 | 290 |
| 296 // Escape key down. Should close window and set |suppressNextEscapeKeyUp| on | 291 // Escape key down. Should close window and set |suppressNextEscapeKeyUp| on |
| (...skipping 11 matching lines...) Expand all Loading... |
| 308 | 303 |
| 309 // Test that command accelerators which destroy the fullscreen window | 304 // Test that command accelerators which destroy the fullscreen window |
| 310 // don't crash when forwarded via the window's responder machinery. | 305 // don't crash when forwarded via the window's responder machinery. |
| 311 TEST_F(RenderWidgetHostViewMacTest, AcceleratorDestroy) { | 306 TEST_F(RenderWidgetHostViewMacTest, AcceleratorDestroy) { |
| 312 // Use our own RWH since we need to destroy it. | 307 // Use our own RWH since we need to destroy it. |
| 313 MockRenderWidgetHostDelegate delegate; | 308 MockRenderWidgetHostDelegate delegate; |
| 314 TestBrowserContext browser_context; | 309 TestBrowserContext browser_context; |
| 315 MockRenderProcessHost* process_host = | 310 MockRenderProcessHost* process_host = |
| 316 new MockRenderProcessHost(&browser_context); | 311 new MockRenderProcessHost(&browser_context); |
| 317 int32 routing_id = process_host->GetNextRoutingID(); | 312 int32 routing_id = process_host->GetNextRoutingID(); |
| 318 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | |
| 319 process_host->GetID(), routing_id); | |
| 320 // Owned by its |cocoa_view()|. | 313 // Owned by its |cocoa_view()|. |
| 321 RenderWidgetHostImpl* rwh = new RenderWidgetHostImpl( | 314 RenderWidgetHostImpl* rwh = |
| 322 &delegate, process_host, routing_id, surface_id, false); | 315 new RenderWidgetHostImpl(&delegate, process_host, routing_id, false); |
| 323 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); | 316 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); |
| 324 | 317 |
| 325 view->InitAsFullscreen(rwhv_mac_); | 318 view->InitAsFullscreen(rwhv_mac_); |
| 326 | 319 |
| 327 WindowedNotificationObserver observer( | 320 WindowedNotificationObserver observer( |
| 328 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, | 321 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, |
| 329 Source<RenderWidgetHost>(rwh)); | 322 Source<RenderWidgetHost>(rwh)); |
| 330 | 323 |
| 331 // Command-ESC will destroy the view, while the window is still in | 324 // Command-ESC will destroy the view, while the window is still in |
| 332 // |-performKeyEquivalent:|. There are other cases where this can | 325 // |-performKeyEquivalent:|. There are other cases where this can |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 // Verify that |SetActive()| calls |RenderWidgetHostImpl::Blur()| and | 684 // Verify that |SetActive()| calls |RenderWidgetHostImpl::Blur()| and |
| 692 // |RenderWidgetHostImp::Focus()|. | 685 // |RenderWidgetHostImp::Focus()|. |
| 693 TEST_F(RenderWidgetHostViewMacTest, BlurAndFocusOnSetActive) { | 686 TEST_F(RenderWidgetHostViewMacTest, BlurAndFocusOnSetActive) { |
| 694 MockRenderWidgetHostDelegate delegate; | 687 MockRenderWidgetHostDelegate delegate; |
| 695 TestBrowserContext browser_context; | 688 TestBrowserContext browser_context; |
| 696 MockRenderProcessHost* process_host = | 689 MockRenderProcessHost* process_host = |
| 697 new MockRenderProcessHost(&browser_context); | 690 new MockRenderProcessHost(&browser_context); |
| 698 | 691 |
| 699 // Owned by its |cocoa_view()|. | 692 // Owned by its |cocoa_view()|. |
| 700 int32 routing_id = process_host->GetNextRoutingID(); | 693 int32 routing_id = process_host->GetNextRoutingID(); |
| 701 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | 694 MockRenderWidgetHostImpl* rwh = |
| 702 process_host->GetID(), routing_id); | 695 new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| 703 MockRenderWidgetHostImpl* rwh = new MockRenderWidgetHostImpl( | |
| 704 &delegate, process_host, routing_id, surface_id); | |
| 705 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); | 696 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, false); |
| 706 | 697 |
| 707 base::scoped_nsobject<CocoaTestHelperWindow> window( | 698 base::scoped_nsobject<CocoaTestHelperWindow> window( |
| 708 [[CocoaTestHelperWindow alloc] init]); | 699 [[CocoaTestHelperWindow alloc] init]); |
| 709 [[window contentView] addSubview:view->cocoa_view()]; | 700 [[window contentView] addSubview:view->cocoa_view()]; |
| 710 | 701 |
| 711 EXPECT_CALL(*rwh, Focus()); | 702 EXPECT_CALL(*rwh, Focus()); |
| 712 [window makeFirstResponder:view->cocoa_view()]; | 703 [window makeFirstResponder:view->cocoa_view()]; |
| 713 testing::Mock::VerifyAndClearExpectations(rwh); | 704 testing::Mock::VerifyAndClearExpectations(rwh); |
| 714 | 705 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 741 | 732 |
| 742 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than | 733 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than |
| 743 // the MockRenderProcessHost that is set up by the test harness which mocks | 734 // the MockRenderProcessHost that is set up by the test harness which mocks |
| 744 // out |OnMessageReceived()|. | 735 // out |OnMessageReceived()|. |
| 745 TestBrowserContext browser_context; | 736 TestBrowserContext browser_context; |
| 746 MockRenderProcessHost* process_host = | 737 MockRenderProcessHost* process_host = |
| 747 new MockRenderProcessHost(&browser_context); | 738 new MockRenderProcessHost(&browser_context); |
| 748 process_host->Init(); | 739 process_host->Init(); |
| 749 MockRenderWidgetHostDelegate delegate; | 740 MockRenderWidgetHostDelegate delegate; |
| 750 int32 routing_id = process_host->GetNextRoutingID(); | 741 int32 routing_id = process_host->GetNextRoutingID(); |
| 751 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | 742 MockRenderWidgetHostImpl* host = |
| 752 process_host->GetID(), routing_id); | 743 new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| 753 MockRenderWidgetHostImpl* host = new MockRenderWidgetHostImpl( | |
| 754 &delegate, process_host, routing_id, surface_id); | |
| 755 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); | 744 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); |
| 756 | 745 |
| 757 // Send an initial wheel event with NSEventPhaseBegan to the view. | 746 // Send an initial wheel event with NSEventPhaseBegan to the view. |
| 758 NSEvent* event1 = MockScrollWheelEventWithPhase(@selector(phaseBegan), 0); | 747 NSEvent* event1 = MockScrollWheelEventWithPhase(@selector(phaseBegan), 0); |
| 759 [view->cocoa_view() scrollWheel:event1]; | 748 [view->cocoa_view() scrollWheel:event1]; |
| 760 ASSERT_EQ(1U, process_host->sink().message_count()); | 749 ASSERT_EQ(1U, process_host->sink().message_count()); |
| 761 | 750 |
| 762 // Send an ACK for the first wheel event, so that the queue will be flushed. | 751 // Send an ACK for the first wheel event, so that the queue will be flushed. |
| 763 InputEventAck ack(blink::WebInputEvent::MouseWheel, | 752 InputEventAck ack(blink::WebInputEvent::MouseWheel, |
| 764 INPUT_EVENT_ACK_STATE_CONSUMED); | 753 INPUT_EVENT_ACK_STATE_CONSUMED); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 784 | 773 |
| 785 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than | 774 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than |
| 786 // the MockRenderProcessHost that is set up by the test harness which mocks | 775 // the MockRenderProcessHost that is set up by the test harness which mocks |
| 787 // out |OnMessageReceived()|. | 776 // out |OnMessageReceived()|. |
| 788 TestBrowserContext browser_context; | 777 TestBrowserContext browser_context; |
| 789 MockRenderProcessHost* process_host = | 778 MockRenderProcessHost* process_host = |
| 790 new MockRenderProcessHost(&browser_context); | 779 new MockRenderProcessHost(&browser_context); |
| 791 process_host->Init(); | 780 process_host->Init(); |
| 792 MockRenderWidgetHostDelegate delegate; | 781 MockRenderWidgetHostDelegate delegate; |
| 793 int32 routing_id = process_host->GetNextRoutingID(); | 782 int32 routing_id = process_host->GetNextRoutingID(); |
| 794 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | 783 MockRenderWidgetHostImpl* host = |
| 795 process_host->GetID(), routing_id); | 784 new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| 796 MockRenderWidgetHostImpl* host = new MockRenderWidgetHostImpl( | |
| 797 &delegate, process_host, routing_id, surface_id); | |
| 798 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); | 785 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); |
| 799 | 786 |
| 800 // Add a delegate to the view. | 787 // Add a delegate to the view. |
| 801 base::scoped_nsobject<MockRenderWidgetHostViewMacDelegate> view_delegate( | 788 base::scoped_nsobject<MockRenderWidgetHostViewMacDelegate> view_delegate( |
| 802 [[MockRenderWidgetHostViewMacDelegate alloc] init]); | 789 [[MockRenderWidgetHostViewMacDelegate alloc] init]); |
| 803 view->SetDelegate(view_delegate.get()); | 790 view->SetDelegate(view_delegate.get()); |
| 804 | 791 |
| 805 // Send an initial wheel event for scrolling by 3 lines. | 792 // Send an initial wheel event for scrolling by 3 lines. |
| 806 NSEvent* event1 = MockScrollWheelEventWithPhase(@selector(phaseBegan), 3); | 793 NSEvent* event1 = MockScrollWheelEventWithPhase(@selector(phaseBegan), 3); |
| 807 [view->cocoa_view() scrollWheel:event1]; | 794 [view->cocoa_view() scrollWheel:event1]; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 837 } | 824 } |
| 838 | 825 |
| 839 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted | 826 // Tests that when view initiated shutdown happens (i.e. RWHView is deleted |
| 840 // before RWH), we clean up properly and don't leak the RWHVGuest. | 827 // before RWH), we clean up properly and don't leak the RWHVGuest. |
| 841 TEST_F(RenderWidgetHostViewMacTest, GuestViewDoesNotLeak) { | 828 TEST_F(RenderWidgetHostViewMacTest, GuestViewDoesNotLeak) { |
| 842 MockRenderWidgetHostDelegate delegate; | 829 MockRenderWidgetHostDelegate delegate; |
| 843 TestBrowserContext browser_context; | 830 TestBrowserContext browser_context; |
| 844 MockRenderProcessHost* process_host = | 831 MockRenderProcessHost* process_host = |
| 845 new MockRenderProcessHost(&browser_context); | 832 new MockRenderProcessHost(&browser_context); |
| 846 int32 routing_id = process_host->GetNextRoutingID(); | 833 int32 routing_id = process_host->GetNextRoutingID(); |
| 847 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | |
| 848 process_host->GetID(), routing_id); | |
| 849 | 834 |
| 850 // Owned by its |cocoa_view()|. | 835 // Owned by its |cocoa_view()|. |
| 851 MockRenderWidgetHostImpl* rwh = new MockRenderWidgetHostImpl( | 836 MockRenderWidgetHostImpl* rwh = |
| 852 &delegate, process_host, routing_id, surface_id); | 837 new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| 853 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, true); | 838 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(rwh, true); |
| 854 | 839 |
| 855 // Add a delegate to the view. | 840 // Add a delegate to the view. |
| 856 base::scoped_nsobject<MockRenderWidgetHostViewMacDelegate> view_delegate( | 841 base::scoped_nsobject<MockRenderWidgetHostViewMacDelegate> view_delegate( |
| 857 [[MockRenderWidgetHostViewMacDelegate alloc] init]); | 842 [[MockRenderWidgetHostViewMacDelegate alloc] init]); |
| 858 view->SetDelegate(view_delegate.get()); | 843 view->SetDelegate(view_delegate.get()); |
| 859 | 844 |
| 860 base::WeakPtr<RenderWidgetHostViewBase> guest_rwhv_weak = | 845 base::WeakPtr<RenderWidgetHostViewBase> guest_rwhv_weak = |
| 861 (new RenderWidgetHostViewGuest( | 846 (new RenderWidgetHostViewGuest( |
| 862 rwh, NULL, view->GetWeakPtr()))->GetWeakPtr(); | 847 rwh, NULL, view->GetWeakPtr()))->GetWeakPtr(); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 882 | 867 |
| 883 // Tests setting background transparency. See also (disabled on Mac) | 868 // Tests setting background transparency. See also (disabled on Mac) |
| 884 // RenderWidgetHostTest.Background. This test has some additional checks for | 869 // RenderWidgetHostTest.Background. This test has some additional checks for |
| 885 // Mac. | 870 // Mac. |
| 886 TEST_F(RenderWidgetHostViewMacTest, Background) { | 871 TEST_F(RenderWidgetHostViewMacTest, Background) { |
| 887 TestBrowserContext browser_context; | 872 TestBrowserContext browser_context; |
| 888 MockRenderProcessHost* process_host = | 873 MockRenderProcessHost* process_host = |
| 889 new MockRenderProcessHost(&browser_context); | 874 new MockRenderProcessHost(&browser_context); |
| 890 MockRenderWidgetHostDelegate delegate; | 875 MockRenderWidgetHostDelegate delegate; |
| 891 int32 routing_id = process_host->GetNextRoutingID(); | 876 int32 routing_id = process_host->GetNextRoutingID(); |
| 892 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | 877 MockRenderWidgetHostImpl* host = |
| 893 process_host->GetID(), routing_id); | 878 new MockRenderWidgetHostImpl(&delegate, process_host, routing_id); |
| 894 MockRenderWidgetHostImpl* host = new MockRenderWidgetHostImpl( | |
| 895 &delegate, process_host, routing_id, surface_id); | |
| 896 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); | 879 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); |
| 897 | 880 |
| 898 EXPECT_TRUE(view->GetBackgroundOpaque()); | 881 EXPECT_TRUE(view->GetBackgroundOpaque()); |
| 899 EXPECT_TRUE([view->cocoa_view() isOpaque]); | 882 EXPECT_TRUE([view->cocoa_view() isOpaque]); |
| 900 | 883 |
| 901 view->SetBackgroundColor(SK_ColorTRANSPARENT); | 884 view->SetBackgroundColor(SK_ColorTRANSPARENT); |
| 902 EXPECT_FALSE(view->GetBackgroundOpaque()); | 885 EXPECT_FALSE(view->GetBackgroundOpaque()); |
| 903 EXPECT_FALSE([view->cocoa_view() isOpaque]); | 886 EXPECT_FALSE([view->cocoa_view() isOpaque]); |
| 904 | 887 |
| 905 const IPC::Message* set_background; | 888 const IPC::Message* set_background; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 961 return; | 944 return; |
| 962 | 945 |
| 963 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than | 946 // Initialize the view associated with a MockRenderWidgetHostImpl, rather than |
| 964 // the MockRenderProcessHost that is set up by the test harness which mocks | 947 // the MockRenderProcessHost that is set up by the test harness which mocks |
| 965 // out |OnMessageReceived()|. | 948 // out |OnMessageReceived()|. |
| 966 TestBrowserContext browser_context; | 949 TestBrowserContext browser_context; |
| 967 process_host_ = new MockRenderProcessHost(&browser_context); | 950 process_host_ = new MockRenderProcessHost(&browser_context); |
| 968 process_host_->Init(); | 951 process_host_->Init(); |
| 969 MockRenderWidgetHostDelegate delegate; | 952 MockRenderWidgetHostDelegate delegate; |
| 970 int32 routing_id = process_host_->GetNextRoutingID(); | 953 int32 routing_id = process_host_->GetNextRoutingID(); |
| 971 int32 surface_id = GpuSurfaceTracker::Get()->AddSurfaceForRenderer( | 954 MockRenderWidgetHostImpl* host = |
| 972 process_host_->GetID(), routing_id); | 955 new MockRenderWidgetHostImpl(&delegate, process_host_, routing_id); |
| 973 MockRenderWidgetHostImpl* host = new MockRenderWidgetHostImpl( | |
| 974 &delegate, process_host_, routing_id, surface_id); | |
| 975 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); | 956 RenderWidgetHostViewMac* view = new RenderWidgetHostViewMac(host, false); |
| 976 | 957 |
| 977 // We'll use this IPC message to ack events. | 958 // We'll use this IPC message to ack events. |
| 978 InputEventAck ack(blink::WebInputEvent::GesturePinchUpdate, | 959 InputEventAck ack(blink::WebInputEvent::GesturePinchUpdate, |
| 979 INPUT_EVENT_ACK_STATE_CONSUMED); | 960 INPUT_EVENT_ACK_STATE_CONSUMED); |
| 980 scoped_ptr<IPC::Message> response( | 961 scoped_ptr<IPC::Message> response( |
| 981 new InputHostMsg_HandleInputEvent_ACK(0, ack)); | 962 new InputHostMsg_HandleInputEvent_ACK(0, ack)); |
| 982 | 963 |
| 983 // Do a gesture that crosses the threshold. | 964 // Do a gesture that crosses the threshold. |
| 984 { | 965 { |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1073 EXPECT_EQ(1U, process_host_->sink().message_count()); | 1054 EXPECT_EQ(1U, process_host_->sink().message_count()); |
| 1074 process_host_->sink().ClearMessages(); | 1055 process_host_->sink().ClearMessages(); |
| 1075 } | 1056 } |
| 1076 | 1057 |
| 1077 // Clean up. | 1058 // Clean up. |
| 1078 host->Shutdown(); | 1059 host->Shutdown(); |
| 1079 } | 1060 } |
| 1080 | 1061 |
| 1081 | 1062 |
| 1082 } // namespace content | 1063 } // namespace content |
| OLD | NEW |