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

Issue 205433002: ozone: Add OzoneSurface object that is owned by compositor, GLSurface (Closed)

Created:
6 years, 9 months ago by spang
Modified:
6 years, 8 months ago
Reviewers:
rjkroege, sadrul, piman
CC:
chromium-reviews, rjkroege, joi+watch-content_chromium.org, ben+aura_chromium.org, ozone-reviews_chromium.org, jam, sadrul, sievers+watch_chromium.org, jbauman+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org
Visibility:
Public.

Description

ozone: Add OzoneSurface object that is owned by compositor, GLSurface There is currently no way to clean up any objects created by ozone platforms during surface initialization (i.e., RealizeAcceleratedWidget). Therefore, it is not possible to implement a platform that does nontrivial initialization in RealizeAcceleratedWidget without leaking resources. This adds an object representing the surface that is owned by the GL surface or software output device. Any platform objects that need to be destroyed at that time should be owned by this object. There's no RealizeAcceleratedWidget any longer; this is replaced by creation of the SurfaceOzone object. TEST=ui_unittests, content_shell --ozone-platform={file,dri} BUG=353788 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260580

Patch Set 1 #

Patch Set 2 : add missing InitializeCanvas to FileSurface #

Total comments: 20

Patch Set 3 : grammar, clarify creation of surface by gpu #

Patch Set 4 : update canvas API #

Patch Set 5 : rebase & update some comments #

Total comments: 10

Patch Set 6 : s/SwapCanvas/PresentCanvas #

Total comments: 9

Patch Set 7 : remove extra not reached comments #

Patch Set 8 : purify SurfaceOzone, add impure SurfaceOzoneBase #

Patch Set 9 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+319 lines, -137 lines) Patch
M content/browser/compositor/software_output_device_ozone.h View 2 chunks +5 lines, -1 line 0 comments Download
M content/browser/compositor/software_output_device_ozone.cc View 1 2 3 4 5 3 chunks +12 lines, -14 lines 0 comments Download
M ui/aura/window_tree_host_ozone.cc View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M ui/gfx/gfx.gyp View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gfx/ozone/dri/dri_surface_factory.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -8 lines 0 comments Download
M ui/gfx/ozone/dri/dri_surface_factory.cc View 1 2 3 4 5 6 7 8 8 chunks +39 lines, -12 lines 0 comments Download
M ui/gfx/ozone/dri/dri_surface_factory_unittest.cc View 1 2 3 4 6 chunks +10 lines, -6 lines 0 comments Download
M ui/gfx/ozone/impl/file_surface_factory.h View 2 chunks +1 line, -10 lines 0 comments Download
M ui/gfx/ozone/impl/file_surface_factory.cc View 1 2 3 4 5 6 7 8 4 chunks +41 lines, -37 lines 0 comments Download
M ui/gfx/ozone/surface_factory_ozone.h View 1 2 3 chunks +8 lines, -30 lines 0 comments Download
M ui/gfx/ozone/surface_factory_ozone.cc View 2 chunks +5 lines, -7 lines 0 comments Download
A ui/gfx/ozone/surface_ozone.h View 1 2 3 4 5 6 7 1 chunk +70 lines, -0 lines 0 comments Download
A ui/gfx/ozone/surface_ozone_base.h View 1 2 3 4 5 6 7 1 chunk +41 lines, -0 lines 0 comments Download
A ui/gfx/ozone/surface_ozone_base.cc View 1 2 3 4 5 6 7 1 chunk +45 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_ozone.cc View 1 2 3 4 5 6 7 8 3 chunks +32 lines, -10 lines 0 comments Download

Messages

Total messages: 34 (0 generated)
spang
6 years, 9 months ago (2014-03-20 00:39:19 UTC) #1
spang
OzoneSurface or SurfaceOzone?
6 years, 9 months ago (2014-03-20 00:41:44 UTC) #2
spang
This depends on https://codereview.chromium.org/196403008/
6 years, 9 months ago (2014-03-20 17:22:42 UTC) #3
rjkroege
https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc File ui/aura/window_tree_host_ozone.cc (left): https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc#oldcode29 ui/aura/window_tree_host_ozone.cc:29: surface_factory->AttemptToResizeAcceleratedWidget(widget_, bounds_); I see that this change is necessary ...
6 years, 9 months ago (2014-03-24 16:07:03 UTC) #4
spang
https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc File ui/aura/window_tree_host_ozone.cc (left): https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc#oldcode29 ui/aura/window_tree_host_ozone.cc:29: surface_factory->AttemptToResizeAcceleratedWidget(widget_, bounds_); On 2014/03/24 16:07:04, rjkroege wrote: > I ...
6 years, 9 months ago (2014-03-24 16:42:10 UTC) #5
rjkroege
https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc File ui/aura/window_tree_host_ozone.cc (left): https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc#oldcode29 ui/aura/window_tree_host_ozone.cc:29: surface_factory->AttemptToResizeAcceleratedWidget(widget_, bounds_); On 2014/03/24 16:42:11, spang wrote: > On ...
6 years, 9 months ago (2014-03-24 20:23:14 UTC) #6
spang
https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc File ui/aura/window_tree_host_ozone.cc (left): https://codereview.chromium.org/205433002/diff/20001/ui/aura/window_tree_host_ozone.cc#oldcode29 ui/aura/window_tree_host_ozone.cc:29: surface_factory->AttemptToResizeAcceleratedWidget(widget_, bounds_); On 2014/03/24 20:23:15, rjkroege wrote: > On ...
6 years, 9 months ago (2014-03-24 21:58:28 UTC) #7
spang
https://codereview.chromium.org/205433002/diff/20001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/20001/ui/gfx/ozone/surface_ozone.h#newcode49 ui/gfx/ozone/surface_ozone.h:49: // Returns a SkCanvas for the backing buffers. Drawing ...
6 years, 9 months ago (2014-03-26 19:02:10 UTC) #8
rjkroege
https://codereview.chromium.org/205433002/diff/80001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/80001/ui/gfx/ozone/surface_ozone.h#newcode30 ui/gfx/ozone/surface_ozone.h:30: // platform doesn't support, as the base class will ...
6 years, 9 months ago (2014-03-26 19:59:02 UTC) #9
spang
https://codereview.chromium.org/205433002/diff/80001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/80001/ui/gfx/ozone/surface_ozone.h#newcode30 ui/gfx/ozone/surface_ozone.h:30: // platform doesn't support, as the base class will ...
6 years, 9 months ago (2014-03-26 22:21:27 UTC) #10
rjkroege
lgtm https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h#newcode50 ui/gfx/ozone/surface_ozone.h:50: virtual skia::RefPtr<SkCanvas> GetCanvas(); if I call GetCanvas twice ...
6 years, 9 months ago (2014-03-27 19:24:11 UTC) #11
spang
https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h#newcode50 ui/gfx/ozone/surface_ozone.h:50: virtual skia::RefPtr<SkCanvas> GetCanvas(); On 2014/03/27 19:24:12, rjkroege wrote: > ...
6 years, 9 months ago (2014-03-27 19:43:46 UTC) #12
spang
+piman for ui/gl + content/browser/compositor +sadrul for ui/aura
6 years, 9 months ago (2014-03-27 19:52:49 UTC) #13
sadrul
aura lgtm
6 years, 9 months ago (2014-03-27 19:53:33 UTC) #14
piman
https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.cc File ui/gfx/ozone/surface_ozone.cc (right): https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.cc#newcode22 ui/gfx/ozone/surface_ozone.cc:22: return 0; // not reached nit: comment is superfluous ...
6 years, 9 months ago (2014-03-27 21:20:56 UTC) #15
spang
https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.cc File ui/gfx/ozone/surface_ozone.cc (right): https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.cc#newcode22 ui/gfx/ozone/surface_ozone.cc:22: return 0; // not reached On 2014/03/27 21:20:56, piman ...
6 years, 9 months ago (2014-03-28 16:09:13 UTC) #16
piman
On Fri, Mar 28, 2014 at 9:09 AM, <spang@chromium.org> wrote: > > https://codereview.chromium.org/205433002/diff/100001/ui/ > gfx/ozone/surface_ozone.cc ...
6 years, 9 months ago (2014-03-28 17:41:24 UTC) #17
spang
On 2014/03/28 17:41:24, piman wrote: > On Fri, Mar 28, 2014 at 9:09 AM, <mailto:spang@chromium.org> ...
6 years, 9 months ago (2014-03-28 18:14:00 UTC) #18
spang
On 2014/03/28 18:14:00, spang wrote: > On 2014/03/28 17:41:24, piman wrote: > > On Fri, ...
6 years, 9 months ago (2014-03-28 18:41:20 UTC) #19
spang
https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h File ui/gfx/ozone/surface_ozone.h (right): https://codereview.chromium.org/205433002/diff/100001/ui/gfx/ozone/surface_ozone.h#newcode31 ui/gfx/ozone/surface_ozone.h:31: class GFX_EXPORT SurfaceOzone { On 2014/03/27 21:20:56, piman wrote: ...
6 years, 9 months ago (2014-03-28 19:08:25 UTC) #20
piman
lgtm
6 years, 9 months ago (2014-03-28 20:08:28 UTC) #21
spang
The CQ bit was checked by spang@chromium.org
6 years, 9 months ago (2014-03-28 20:48:20 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/spang@chromium.org/205433002/150001
6 years, 9 months ago (2014-03-28 20:51:08 UTC) #23
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-28 23:45:19 UTC) #24
commit-bot: I haz the power
Commit queue rejected this change because the description was changed between the time the change ...
6 years, 9 months ago (2014-03-28 23:45:19 UTC) #25
spang
The CQ bit was checked by spang@chromium.org
6 years, 8 months ago (2014-03-31 14:06:08 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/spang@chromium.org/205433002/150001
6 years, 8 months ago (2014-03-31 14:06:14 UTC) #27
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-03-31 15:38:24 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_chromeos_rel
6 years, 8 months ago (2014-03-31 15:38:25 UTC) #29
spang
The CQ bit was checked by spang@chromium.org
6 years, 8 months ago (2014-03-31 15:43:30 UTC) #30
spang
The CQ bit was unchecked by spang@chromium.org
6 years, 8 months ago (2014-03-31 15:43:36 UTC) #31
spang
The CQ bit was checked by spang@chromium.org
6 years, 8 months ago (2014-03-31 15:43:38 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/spang@chromium.org/205433002/150001
6 years, 8 months ago (2014-03-31 15:45:59 UTC) #33
commit-bot: I haz the power
6 years, 8 months ago (2014-03-31 17:16:44 UTC) #34
Message was sent while issue was closed.
Change committed as 260580

Powered by Google App Engine
This is Rietveld 408576698