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

Side by Side Diff: content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc

Issue 2686243002: content/ui[Android]: Remove ContextProviderFactory. (Closed)
Patch Set: more rebase Created 3 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/frame_host/render_widget_host_view_child_frame.h" 5 #include "content/browser/frame_host/render_widget_host_view_child_frame.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 13 matching lines...) Expand all
24 #include "content/browser/renderer_host/render_widget_host_delegate.h" 24 #include "content/browser/renderer_host/render_widget_host_delegate.h"
25 #include "content/browser/renderer_host/render_widget_host_impl.h" 25 #include "content/browser/renderer_host/render_widget_host_impl.h"
26 #include "content/common/view_messages.h" 26 #include "content/common/view_messages.h"
27 #include "content/public/browser/render_widget_host_view.h" 27 #include "content/public/browser/render_widget_host_view.h"
28 #include "content/public/test/mock_render_process_host.h" 28 #include "content/public/test/mock_render_process_host.h"
29 #include "content/public/test/test_browser_context.h" 29 #include "content/public/test/test_browser_context.h"
30 #include "content/test/test_render_view_host.h" 30 #include "content/test/test_render_view_host.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 #include "ui/compositor/compositor.h" 32 #include "ui/compositor/compositor.h"
33 33
34 #if defined(OS_ANDROID)
35 #include "content/browser/renderer_host/context_provider_factory_impl_android.h"
36 #include "content/test/mock_gpu_channel_establish_factory.h"
37 #endif
38
39 namespace content { 34 namespace content {
40 namespace { 35 namespace {
41 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { 36 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
42 public: 37 public:
43 MockRenderWidgetHostDelegate() {} 38 MockRenderWidgetHostDelegate() {}
44 ~MockRenderWidgetHostDelegate() override {} 39 ~MockRenderWidgetHostDelegate() override {}
45 private: 40 private:
46 void Cut() override {} 41 void Cut() override {}
47 void Copy() override {} 42 void Copy() override {}
48 void Paste() override {} 43 void Paste() override {}
(...skipping 23 matching lines...) Expand all
72 public: 67 public:
73 RenderWidgetHostViewChildFrameTest() {} 68 RenderWidgetHostViewChildFrameTest() {}
74 69
75 void SetUp() override { 70 void SetUp() override {
76 browser_context_.reset(new TestBrowserContext); 71 browser_context_.reset(new TestBrowserContext);
77 72
78 // ImageTransportFactory doesn't exist on Android. 73 // ImageTransportFactory doesn't exist on Android.
79 #if !defined(OS_ANDROID) 74 #if !defined(OS_ANDROID)
80 ImageTransportFactory::InitializeForUnitTests( 75 ImageTransportFactory::InitializeForUnitTests(
81 base::WrapUnique(new NoTransportImageTransportFactory)); 76 base::WrapUnique(new NoTransportImageTransportFactory));
82 #else
83 ContextProviderFactoryImpl::Initialize(&gpu_channel_factory_);
84 ui::ContextProviderFactory::SetInstance(
85 ContextProviderFactoryImpl::GetInstance());
86 #endif 77 #endif
87 78
88 MockRenderProcessHost* process_host = 79 MockRenderProcessHost* process_host =
89 new MockRenderProcessHost(browser_context_.get()); 80 new MockRenderProcessHost(browser_context_.get());
90 int32_t routing_id = process_host->GetNextRoutingID(); 81 int32_t routing_id = process_host->GetNextRoutingID();
91 widget_host_ = 82 widget_host_ =
92 new RenderWidgetHostImpl(&delegate_, process_host, routing_id, false); 83 new RenderWidgetHostImpl(&delegate_, process_host, routing_id, false);
93 view_ = RenderWidgetHostViewChildFrame::Create(widget_host_); 84 view_ = RenderWidgetHostViewChildFrame::Create(widget_host_);
94 85
95 test_frame_connector_ = new MockCrossProcessFrameConnector(); 86 test_frame_connector_ = new MockCrossProcessFrameConnector();
96 view_->SetCrossProcessFrameConnector(test_frame_connector_); 87 view_->SetCrossProcessFrameConnector(test_frame_connector_);
97 } 88 }
98 89
99 void TearDown() override { 90 void TearDown() override {
100 if (view_) 91 if (view_)
101 view_->Destroy(); 92 view_->Destroy();
102 delete widget_host_; 93 delete widget_host_;
103 delete test_frame_connector_; 94 delete test_frame_connector_;
104 95
105 browser_context_.reset(); 96 browser_context_.reset();
106 97
107 message_loop_.task_runner()->DeleteSoon(FROM_HERE, 98 message_loop_.task_runner()->DeleteSoon(FROM_HERE,
108 browser_context_.release()); 99 browser_context_.release());
109 base::RunLoop().RunUntilIdle(); 100 base::RunLoop().RunUntilIdle();
110 #if !defined(OS_ANDROID) 101 #if !defined(OS_ANDROID)
111 ImageTransportFactory::Terminate(); 102 ImageTransportFactory::Terminate();
112 #else
113 ui::ContextProviderFactory::SetInstance(nullptr);
114 ContextProviderFactoryImpl::Terminate();
115 #endif 103 #endif
116 } 104 }
117 105
118 cc::SurfaceId GetSurfaceId() const { 106 cc::SurfaceId GetSurfaceId() const {
119 return cc::SurfaceId(view_->frame_sink_id_, view_->local_surface_id_); 107 return cc::SurfaceId(view_->frame_sink_id_, view_->local_surface_id_);
120 } 108 }
121 109
122 protected: 110 protected:
123 base::MessageLoopForUI message_loop_; 111 base::MessageLoopForUI message_loop_;
124 std::unique_ptr<BrowserContext> browser_context_; 112 std::unique_ptr<BrowserContext> browser_context_;
125 MockRenderWidgetHostDelegate delegate_; 113 MockRenderWidgetHostDelegate delegate_;
126 114
127 // Tests should set these to NULL if they've already triggered their 115 // Tests should set these to NULL if they've already triggered their
128 // destruction. 116 // destruction.
129 RenderWidgetHostImpl* widget_host_; 117 RenderWidgetHostImpl* widget_host_;
130 RenderWidgetHostViewChildFrame* view_; 118 RenderWidgetHostViewChildFrame* view_;
131 MockCrossProcessFrameConnector* test_frame_connector_; 119 MockCrossProcessFrameConnector* test_frame_connector_;
132 120
133 #if defined(OS_ANDROID)
134 MockGpuChannelEstablishFactory gpu_channel_factory_;
135 #endif
136
137 private: 121 private:
138 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrameTest); 122 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrameTest);
139 }; 123 };
140 124
141 cc::CompositorFrame CreateDelegatedFrame(float scale_factor, 125 cc::CompositorFrame CreateDelegatedFrame(float scale_factor,
142 gfx::Size size, 126 gfx::Size size,
143 const gfx::Rect& damage) { 127 const gfx::Rect& damage) {
144 cc::CompositorFrame frame; 128 cc::CompositorFrame frame;
145 frame.metadata.device_scale_factor = scale_factor; 129 frame.metadata.device_scale_factor = scale_factor;
146 130
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 #endif 175 #endif
192 176
193 // Surface ID should have been passed to CrossProcessFrameConnector to 177 // Surface ID should have been passed to CrossProcessFrameConnector to
194 // be sent to the embedding renderer. 178 // be sent to the embedding renderer.
195 EXPECT_EQ(cc::SurfaceInfo(id, scale_factor, view_size), 179 EXPECT_EQ(cc::SurfaceInfo(id, scale_factor, view_size),
196 test_frame_connector_->last_surface_info_); 180 test_frame_connector_->last_surface_info_);
197 } 181 }
198 } 182 }
199 183
200 } // namespace content 184 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/compositor/surface_utils.cc ('k') | content/browser/frame_host/render_widget_host_view_guest_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698