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

Side by Side Diff: ui/ozone/platform/cast/surface_factory_cast.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ui/ozone/platform/cast/surface_factory_cast.h" 5 #include "ui/ozone/platform/cast/surface_factory_cast.h"
6 6
7 #include <EGL/egl.h>
7 #include <dlfcn.h> 8 #include <dlfcn.h>
8 #include <EGL/egl.h> 9
9 #include <utility> 10 #include <utility>
10 11
11 #include "base/callback_helpers.h" 12 #include "base/callback_helpers.h"
12 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ptr_util.h"
13 #include "chromecast/public/cast_egl_platform.h" 15 #include "chromecast/public/cast_egl_platform.h"
14 #include "chromecast/public/graphics_types.h" 16 #include "chromecast/public/graphics_types.h"
15 #include "third_party/skia/include/core/SkSurface.h" 17 #include "third_party/skia/include/core/SkSurface.h"
16 #include "ui/gfx/geometry/quad_f.h" 18 #include "ui/gfx/geometry/quad_f.h"
17 #include "ui/gfx/vsync_provider.h" 19 #include "ui/gfx/vsync_provider.h"
18 #include "ui/ozone/platform/cast/surface_ozone_egl_cast.h" 20 #include "ui/ozone/platform/cast/surface_ozone_egl_cast.h"
19 #include "ui/ozone/public/native_pixmap.h" 21 #include "ui/ozone/public/native_pixmap.h"
20 #include "ui/ozone/public/surface_ozone_canvas.h" 22 #include "ui/ozone/public/surface_ozone_canvas.h"
21 23
22 using chromecast::CastEglPlatform; 24 using chromecast::CastEglPlatform;
(...skipping 27 matching lines...) Expand all
50 // SurfaceOzoneCanvas implementation: 52 // SurfaceOzoneCanvas implementation:
51 sk_sp<SkSurface> GetSurface() override { return surface_; } 53 sk_sp<SkSurface> GetSurface() override { return surface_; }
52 54
53 void ResizeCanvas(const gfx::Size& viewport_size) override { 55 void ResizeCanvas(const gfx::Size& viewport_size) override {
54 surface_ = SkSurface::MakeRaster(SkImageInfo::MakeN32Premul( 56 surface_ = SkSurface::MakeRaster(SkImageInfo::MakeN32Premul(
55 viewport_size.width(), viewport_size.height())); 57 viewport_size.width(), viewport_size.height()));
56 } 58 }
57 59
58 void PresentCanvas(const gfx::Rect& damage) override {} 60 void PresentCanvas(const gfx::Rect& damage) override {}
59 61
60 scoped_ptr<gfx::VSyncProvider> CreateVSyncProvider() override { 62 std::unique_ptr<gfx::VSyncProvider> CreateVSyncProvider() override {
61 return nullptr; 63 return nullptr;
62 } 64 }
63 65
64 private: 66 private:
65 sk_sp<SkSurface> surface_; 67 sk_sp<SkSurface> surface_;
66 68
67 DISALLOW_COPY_AND_ASSIGN(DummySurface); 69 DISALLOW_COPY_AND_ASSIGN(DummySurface);
68 }; 70 };
69 71
70 } // namespace 72 } // namespace
71 73
72 SurfaceFactoryCast::SurfaceFactoryCast() : SurfaceFactoryCast(nullptr) {} 74 SurfaceFactoryCast::SurfaceFactoryCast() : SurfaceFactoryCast(nullptr) {}
73 75
74 SurfaceFactoryCast::SurfaceFactoryCast(scoped_ptr<CastEglPlatform> egl_platform) 76 SurfaceFactoryCast::SurfaceFactoryCast(
77 std::unique_ptr<CastEglPlatform> egl_platform)
75 : state_(kUninitialized), 78 : state_(kUninitialized),
76 display_type_(0), 79 display_type_(0),
77 have_display_type_(false), 80 have_display_type_(false),
78 window_(0), 81 window_(0),
79 display_size_(GetInitialDisplaySize()), 82 display_size_(GetInitialDisplaySize()),
80 new_display_size_(GetInitialDisplaySize()), 83 new_display_size_(GetInitialDisplaySize()),
81 egl_platform_(std::move(egl_platform)), 84 egl_platform_(std::move(egl_platform)),
82 overlay_count_(0), 85 overlay_count_(0),
83 previous_frame_overlay_count_(0) {} 86 previous_frame_overlay_count_(0) {}
84 87
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 previous_frame_overlay_count_ = overlay_count_; 151 previous_frame_overlay_count_ = overlay_count_;
149 previous_frame_overlay_bounds_ = overlay_bounds_; 152 previous_frame_overlay_bounds_ = overlay_bounds_;
150 overlay_count_ = 0; 153 overlay_count_ = 0;
151 } 154 }
152 155
153 void SurfaceFactoryCast::OnOverlayScheduled(const gfx::Rect& display_bounds) { 156 void SurfaceFactoryCast::OnOverlayScheduled(const gfx::Rect& display_bounds) {
154 ++overlay_count_; 157 ++overlay_count_;
155 overlay_bounds_ = display_bounds; 158 overlay_bounds_ = display_bounds;
156 } 159 }
157 160
158 scoped_ptr<SurfaceOzoneCanvas> SurfaceFactoryCast::CreateCanvasForWidget( 161 std::unique_ptr<SurfaceOzoneCanvas> SurfaceFactoryCast::CreateCanvasForWidget(
159 gfx::AcceleratedWidget widget) { 162 gfx::AcceleratedWidget widget) {
160 // Software canvas support only in headless mode 163 // Software canvas support only in headless mode
161 if (egl_platform_) 164 if (egl_platform_)
162 return nullptr; 165 return nullptr;
163 return make_scoped_ptr<SurfaceOzoneCanvas>(new DummySurface()); 166 return base::WrapUnique<SurfaceOzoneCanvas>(new DummySurface());
164 } 167 }
165 168
166 intptr_t SurfaceFactoryCast::GetNativeDisplay() { 169 intptr_t SurfaceFactoryCast::GetNativeDisplay() {
167 CreateDisplayTypeAndWindowIfNeeded(); 170 CreateDisplayTypeAndWindowIfNeeded();
168 return reinterpret_cast<intptr_t>(display_type_); 171 return reinterpret_cast<intptr_t>(display_type_);
169 } 172 }
170 173
171 void SurfaceFactoryCast::CreateDisplayTypeAndWindowIfNeeded() { 174 void SurfaceFactoryCast::CreateDisplayTypeAndWindowIfNeeded() {
172 if (state_ == kUninitialized) { 175 if (state_ == kUninitialized) {
173 InitializeHardware(); 176 InitializeHardware();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 221
219 void SurfaceFactoryCast::DestroyDisplayTypeAndWindow() { 222 void SurfaceFactoryCast::DestroyDisplayTypeAndWindow() {
220 DestroyWindow(); 223 DestroyWindow();
221 if (have_display_type_) { 224 if (have_display_type_) {
222 egl_platform_->DestroyDisplayType(display_type_); 225 egl_platform_->DestroyDisplayType(display_type_);
223 display_type_ = 0; 226 display_type_ = 0;
224 have_display_type_ = false; 227 have_display_type_ = false;
225 } 228 }
226 } 229 }
227 230
228 scoped_ptr<SurfaceOzoneEGL> SurfaceFactoryCast::CreateEGLSurfaceForWidget( 231 std::unique_ptr<SurfaceOzoneEGL> SurfaceFactoryCast::CreateEGLSurfaceForWidget(
229 gfx::AcceleratedWidget widget) { 232 gfx::AcceleratedWidget widget) {
230 new_display_size_ = gfx::Size(widget >> 16, widget & 0xFFFF); 233 new_display_size_ = gfx::Size(widget >> 16, widget & 0xFFFF);
231 new_display_size_.SetToMax(GetMinDisplaySize()); 234 new_display_size_.SetToMax(GetMinDisplaySize());
232 return make_scoped_ptr<SurfaceOzoneEGL>(new SurfaceOzoneEglCast(this)); 235 return base::WrapUnique<SurfaceOzoneEGL>(new SurfaceOzoneEglCast(this));
233 } 236 }
234 237
235 void SurfaceFactoryCast::ChildDestroyed() { 238 void SurfaceFactoryCast::ChildDestroyed() {
236 if (egl_platform_->MultipleSurfaceUnsupported()) 239 if (egl_platform_->MultipleSurfaceUnsupported())
237 DestroyWindow(); 240 DestroyWindow();
238 } 241 }
239 242
240 scoped_refptr<NativePixmap> SurfaceFactoryCast::CreateNativePixmap( 243 scoped_refptr<NativePixmap> SurfaceFactoryCast::CreateNativePixmap(
241 gfx::AcceleratedWidget widget, 244 gfx::AcceleratedWidget widget,
242 gfx::Size size, 245 gfx::Size size,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 return false; 301 return false;
299 } 302 }
300 303
301 set_gl_get_proc_address.Run(gl_proc); 304 set_gl_get_proc_address.Run(gl_proc);
302 add_gl_library.Run(lib_egl); 305 add_gl_library.Run(lib_egl);
303 add_gl_library.Run(lib_gles2); 306 add_gl_library.Run(lib_gles2);
304 return true; 307 return true;
305 } 308 }
306 309
307 } // namespace ui 310 } // namespace ui
OLDNEW
« no previous file with comments | « ui/ozone/platform/cast/surface_factory_cast.h ('k') | ui/ozone/platform/cast/surface_ozone_egl_cast.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698