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

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

Issue 2190033002: content: Add ContextProviderFactory to create a render ContextProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove display_ DCHECK. Created 4 years, 4 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 12 matching lines...) Expand all
23 #include "content/browser/gpu/compositor_util.h" 23 #include "content/browser/gpu/compositor_util.h"
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 32
33 #if defined(OS_ANDROID)
34 #include "content/browser/renderer_host/context_provider_factory_impl_android.h"
35 #endif
36
33 namespace content { 37 namespace content {
34 namespace { 38 namespace {
35 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { 39 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
36 public: 40 public:
37 MockRenderWidgetHostDelegate() {} 41 MockRenderWidgetHostDelegate() {}
38 ~MockRenderWidgetHostDelegate() override {} 42 ~MockRenderWidgetHostDelegate() override {}
39 private: 43 private:
40 void Cut() override {} 44 void Cut() override {}
41 void Copy() override {} 45 void Copy() override {}
42 void Paste() override {} 46 void Paste() override {}
(...skipping 30 matching lines...) Expand all
73 public: 77 public:
74 RenderWidgetHostViewChildFrameTest() {} 78 RenderWidgetHostViewChildFrameTest() {}
75 79
76 void SetUp() override { 80 void SetUp() override {
77 browser_context_.reset(new TestBrowserContext); 81 browser_context_.reset(new TestBrowserContext);
78 82
79 // ImageTransportFactory doesn't exist on Android. 83 // ImageTransportFactory doesn't exist on Android.
80 #if !defined(OS_ANDROID) 84 #if !defined(OS_ANDROID)
81 ImageTransportFactory::InitializeForUnitTests( 85 ImageTransportFactory::InitializeForUnitTests(
82 base::WrapUnique(new NoTransportImageTransportFactory)); 86 base::WrapUnique(new NoTransportImageTransportFactory));
87 #else
88 ui::ContextProviderFactory::SetInstance(
89 ContextProviderFactoryImpl::GetInstance());
83 #endif 90 #endif
84 91
85 MockRenderProcessHost* process_host = 92 MockRenderProcessHost* process_host =
86 new MockRenderProcessHost(browser_context_.get()); 93 new MockRenderProcessHost(browser_context_.get());
87 int32_t routing_id = process_host->GetNextRoutingID(); 94 int32_t routing_id = process_host->GetNextRoutingID();
88 widget_host_ = 95 widget_host_ =
89 new RenderWidgetHostImpl(&delegate_, process_host, routing_id, false); 96 new RenderWidgetHostImpl(&delegate_, process_host, routing_id, false);
90 view_ = new RenderWidgetHostViewChildFrame(widget_host_); 97 view_ = new RenderWidgetHostViewChildFrame(widget_host_);
91 98
92 test_frame_connector_ = new MockCrossProcessFrameConnector(); 99 test_frame_connector_ = new MockCrossProcessFrameConnector();
93 view_->SetCrossProcessFrameConnector(test_frame_connector_); 100 view_->SetCrossProcessFrameConnector(test_frame_connector_);
94 } 101 }
95 102
96 void TearDown() override { 103 void TearDown() override {
97 if (view_) 104 if (view_)
98 view_->Destroy(); 105 view_->Destroy();
99 delete widget_host_; 106 delete widget_host_;
100 delete test_frame_connector_; 107 delete test_frame_connector_;
101 108
102 browser_context_.reset(); 109 browser_context_.reset();
103 110
104 message_loop_.task_runner()->DeleteSoon(FROM_HERE, 111 message_loop_.task_runner()->DeleteSoon(FROM_HERE,
105 browser_context_.release()); 112 browser_context_.release());
106 base::RunLoop().RunUntilIdle(); 113 base::RunLoop().RunUntilIdle();
107 #if !defined(OS_ANDROID) 114 #if !defined(OS_ANDROID)
108 ImageTransportFactory::Terminate(); 115 ImageTransportFactory::Terminate();
116 #else
117 ui::ContextProviderFactory::SetInstance(nullptr);
109 #endif 118 #endif
110 } 119 }
111 120
112 cc::SurfaceId surface_id() { return view_->surface_id_; } 121 cc::SurfaceId surface_id() { return view_->surface_id_; }
113 122
114 protected: 123 protected:
115 base::MessageLoopForUI message_loop_; 124 base::MessageLoopForUI message_loop_;
116 std::unique_ptr<BrowserContext> browser_context_; 125 std::unique_ptr<BrowserContext> browser_context_;
117 MockRenderWidgetHostDelegate delegate_; 126 MockRenderWidgetHostDelegate delegate_;
118 127
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 183
175 // Surface ID should have been passed to CrossProcessFrameConnector to 184 // Surface ID should have been passed to CrossProcessFrameConnector to
176 // be sent to the embedding renderer. 185 // be sent to the embedding renderer.
177 EXPECT_EQ(id, test_frame_connector_->last_surface_id_received_); 186 EXPECT_EQ(id, test_frame_connector_->last_surface_id_received_);
178 EXPECT_EQ(view_size, test_frame_connector_->last_frame_size_received_); 187 EXPECT_EQ(view_size, test_frame_connector_->last_frame_size_received_);
179 EXPECT_EQ(scale_factor, test_frame_connector_->last_scale_factor_received_); 188 EXPECT_EQ(scale_factor, test_frame_connector_->last_scale_factor_received_);
180 } 189 }
181 } 190 }
182 191
183 } // namespace content 192 } // 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