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

Issue 44933002: Implement OzonePlatform (Closed)

Created:
7 years, 1 month ago by spang
Modified:
7 years, 1 month ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, dnicoara, sadrul, ozone-dev_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Implement OzonePlatform This provides a way to select an ozone implementation to use at build time. It replaces the previous ad-hoc requirement to inject implementations of ozone interfaces somewhere during initialization, such as by overriding ContentMainDelegate::PreSandboxStartup(). That requirement made it difficult for external ozone implementations to build internal targets such as content_shell because those targets do not initialize the external ozone implementation without additional patching. Enabling external ports of chromium is one of the main goals of ozone. The OzonePlatform code is located at ui/ozone and depends on code in ui/gfx and ui/events because it must inject implementations into those components. The ozone platform is initialized from ui/aura or ui/gl, as those components need the interfaces provided by ozone in order to function. There are two in-tree platforms currently: test (image dump) and dri (libdrm-based direct rendering). The platform is selected by the setting ozone_platform gyp variable and defaults to "test". Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232170

Patch Set 1 #

Total comments: 6

Patch Set 2 : move to ui/base/ozone, add comments to OzonePlatform #

Patch Set 3 : add external_ozone_platform_files, external_ozone_platform_deps #

Total comments: 7

Patch Set 4 : document OzonePlatformDri & OzonePlatformTest #

Patch Set 5 : fix include guards #

Patch Set 6 : move back to ui/ozone, depend ui/gl and ui/aura on ozone, move init to gl & aura #

Total comments: 4

Patch Set 7 : revert ui/ui.gyp, fix EventFactoryOzone construction in RootWindowHostOzone #

Patch Set 8 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+339 lines, -19 lines) Patch
M WATCHLISTS View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M build/common.gypi View 1 2 3 4 5 6 7 1 chunk +4 lines, -0 lines 0 comments Download
M ui/aura/DEPS View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M ui/aura/aura.gyp View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M ui/aura/root_window_host_ozone.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -4 lines 0 comments Download
M ui/gfx/ozone/surface_factory_ozone.cc View 1 2 3 4 5 1 chunk +1 line, -14 lines 0 comments Download
M ui/gl/DEPS View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl.gyp View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M ui/gl/gl_implementation_ozone.cc View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
A + ui/ozone/DEPS View 2 3 4 5 0 chunks +-1 lines, --1 lines 0 comments Download
A + ui/ozone/OWNERS View 2 3 4 5 0 chunks +-1 lines, --1 lines 0 comments Download
A ui/ozone/ozone.gyp View 1 2 3 4 5 1 chunk +50 lines, -0 lines 0 comments Download
A ui/ozone/ozone_export.h View 2 3 4 5 1 chunk +29 lines, -0 lines 0 comments Download
A ui/ozone/ozone_platform.h View 1 2 3 4 5 1 chunk +55 lines, -0 lines 0 comments Download
A ui/ozone/ozone_platform.cc View 1 2 3 4 5 6 1 chunk +33 lines, -0 lines 0 comments Download
A ui/ozone/ozone_switches.h View 2 3 4 5 1 chunk +17 lines, -0 lines 0 comments Download
A + ui/ozone/ozone_switches.cc View 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
A ui/ozone/platform/dri/ozone_platform_dri.h View 1 2 3 4 5 1 chunk +35 lines, -0 lines 0 comments Download
A ui/ozone/platform/dri/ozone_platform_dri.cc View 2 3 4 5 1 chunk +25 lines, -0 lines 0 comments Download
A ui/ozone/platform/test/ozone_platform_test.h View 1 2 3 4 5 1 chunk +35 lines, -0 lines 0 comments Download
A ui/ozone/platform/test/ozone_platform_test.cc View 2 3 4 5 1 chunk +35 lines, -0 lines 0 comments Download

Messages

Total messages: 38 (0 generated)
spang
This is the single-platform version. Multi-platform is a followup CL.
7 years, 1 month ago (2013-10-25 18:00:10 UTC) #1
spang
CC dnicoara, sadrul, ozone-wayland
7 years, 1 month ago (2013-10-25 18:01:50 UTC) #2
rjkroege
On 2013/10/25 18:01:50, spang wrote: > CC dnicoara, sadrul, ozone-wayland I think it should be ...
7 years, 1 month ago (2013-10-25 18:18:15 UTC) #3
rjkroege
https://codereview.chromium.org/44933002/diff/1/ui/ozone/ozone_platform.cc File ui/ozone/ozone_platform.cc (right): https://codereview.chromium.org/44933002/diff/1/ui/ozone/ozone_platform.cc#newcode14 ui/ozone/ozone_platform.cc:14: gfx::SurfaceFactoryOzone::SetInstance(NULL); I will be curious if this ever results ...
7 years, 1 month ago (2013-10-25 18:24:02 UTC) #4
kalyank
Note: I am still getting familiar with gyp :) In ozone.gyp, we include platform specific ...
7 years, 1 month ago (2013-10-25 18:57:15 UTC) #5
spang
On 2013/10/25 18:57:15, kalyank wrote: > Note: I am still getting familiar with gyp :) ...
7 years, 1 month ago (2013-10-25 19:02:54 UTC) #6
kalyank
On 2013/10/25 19:02:54, spang wrote: > > kalyank, don't worry, there is a way to ...
7 years, 1 month ago (2013-10-25 19:08:26 UTC) #7
spang
On 2013/10/25 18:24:02, rjkroege wrote: > https://codereview.chromium.org/44933002/diff/1/ui/ozone/ozone_platform.cc > File ui/ozone/ozone_platform.cc (right): > > https://codereview.chromium.org/44933002/diff/1/ui/ozone/ozone_platform.cc#newcode14 > ...
7 years, 1 month ago (2013-10-25 19:14:27 UTC) #8
spang
On 2013/10/25 19:08:26, kalyank wrote: > On 2013/10/25 19:02:54, spang wrote: > > > > ...
7 years, 1 month ago (2013-10-25 19:24:25 UTC) #9
kalyank
On 2013/10/25 19:14:27, spang wrote: > > > https://codereview.chromium.org/44933002/diff/1/ui/ozone/ozone_platform.h#newcode15 > > ui/ozone/ozone_platform.h:15: class OZONE_EXPORT OzonePlatform ...
7 years, 1 month ago (2013-10-25 19:34:24 UTC) #10
spang
On 2013/10/25 19:34:24, kalyank wrote: > On 2013/10/25 19:14:27, spang wrote: > > > > ...
7 years, 1 month ago (2013-10-25 19:44:58 UTC) #11
kalyank
Tested ozone-wayland by removing all ozone related initializations during PreSandboxStartup() phase and doing it as ...
7 years, 1 month ago (2013-10-25 22:15:45 UTC) #12
vignatti (out of this project)
I'm very happy with this work overall. I've added my comments inline. Thanks for carrying ...
7 years, 1 month ago (2013-10-28 15:26:43 UTC) #13
spang
https://codereview.chromium.org/44933002/diff/1/content/app/content_main_runner.cc File content/app/content_main_runner.cc (right): https://codereview.chromium.org/44933002/diff/1/content/app/content_main_runner.cc#newcode730 content/app/content_main_runner.cc:730: On 2013/10/28 15:26:44, vignatti wrote: > have you thought ...
7 years, 1 month ago (2013-10-28 15:42:30 UTC) #14
rjkroege
lgtm https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone.gyp File ui/base/ozone/ozone.gyp (right): https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone.gyp#newcode38 ui/base/ozone/ozone.gyp:38: ['exclude', '^platform/dri/'], you will explain to me in ...
7 years, 1 month ago (2013-10-28 15:48:19 UTC) #15
spang
https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone.gyp File ui/base/ozone/ozone.gyp (right): https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone.gyp#newcode38 ui/base/ozone/ozone.gyp:38: ['exclude', '^platform/dri/'], On 2013/10/28 15:48:19, rjkroege wrote: > you ...
7 years, 1 month ago (2013-10-28 16:01:41 UTC) #16
vignatti (out of this project)
https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone_platform.cc File ui/base/ozone/ozone_platform.cc (right): https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone_platform.cc#newcode24 ui/base/ozone/ozone_platform.cc:24: On 2013/10/28 15:42:30, spang wrote: > On 2013/10/28 15:26:44, ...
7 years, 1 month ago (2013-10-28 16:08:49 UTC) #17
spang
On 2013/10/28 16:08:49, vignatti wrote: > https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone_platform.cc > File ui/base/ozone/ozone_platform.cc (right): > > https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone_platform.cc#newcode24 > ...
7 years, 1 month ago (2013-10-28 16:16:47 UTC) #18
vignatti (out of this project)
On 2013/10/28 16:16:47, spang wrote: > On 2013/10/28 16:08:49, vignatti wrote: > > > https://codereview.chromium.org/44933002/diff/150001/ui/base/ozone/ozone_platform.cc ...
7 years, 1 month ago (2013-10-28 16:22:04 UTC) #19
kalyank
> > I think that calling DFO::SetInstance() from our SurfaceFactoryOzone > implementation works then. Let's ...
7 years, 1 month ago (2013-10-28 16:25:39 UTC) #20
spang
+beng to see if we can add ui/base/ozone
7 years, 1 month ago (2013-10-28 16:41:39 UTC) #21
spang
7 years, 1 month ago (2013-10-29 17:43:37 UTC) #22
Ben Goodger (Google)
Note: ui/base is now not as low level as the name implies. We spent some ...
7 years, 1 month ago (2013-10-30 17:45:08 UTC) #23
rjkroege
On 2013/10/30 17:45:08, Ben Goodger (Google) wrote: > Note: > > ui/base is now not ...
7 years, 1 month ago (2013-10-30 17:52:19 UTC) #24
spang
On 2013/10/30 17:45:08, Ben Goodger (Google) wrote: > Note: > > ui/base is now not ...
7 years, 1 month ago (2013-10-30 17:53:33 UTC) #25
rjkroege
On 2013/10/30 17:52:19, rjkroege wrote: > On 2013/10/30 17:45:08, Ben Goodger (Google) wrote: > > ...
7 years, 1 month ago (2013-10-30 17:55:42 UTC) #26
Ben Goodger (Google)
Since it's a standalone component (according to your gyp file), I'm also fine with ui/ozone... ...
7 years, 1 month ago (2013-10-30 17:57:53 UTC) #27
spang
Ok, renamed to ui/ozone. I've rethought initialization a bit and removed the change in ContentMainRunnerImpl. ...
7 years, 1 month ago (2013-10-30 23:02:36 UTC) #28
kalyank
On 2013/10/30 23:02:36, spang wrote: > Ok, renamed to ui/ozone. > > I've rethought initialization ...
7 years, 1 month ago (2013-10-30 23:21:01 UTC) #29
kalyank
https://codereview.chromium.org/44933002/diff/470001/ui/aura/root_window_host_ozone.cc File ui/aura/root_window_host_ozone.cc (right): https://codereview.chromium.org/44933002/diff/470001/ui/aura/root_window_host_ozone.cc#newcode17 ui/aura/root_window_host_ozone.cc:17: factory_(ui::EventFactoryOzone::GetInstance()) { We try to retrieve eventfactory instance before ...
7 years, 1 month ago (2013-10-30 23:21:14 UTC) #30
Ben Goodger (Google)
https://codereview.chromium.org/44933002/diff/470001/ui/ui.gyp File ui/ui.gyp (right): https://codereview.chromium.org/44933002/diff/470001/ui/ui.gyp#newcode583 ui/ui.gyp:583: 'ozone/ozone.gyp:ozone', is this still needed?
7 years, 1 month ago (2013-10-30 23:56:08 UTC) #31
spang
https://codereview.chromium.org/44933002/diff/470001/ui/aura/root_window_host_ozone.cc File ui/aura/root_window_host_ozone.cc (right): https://codereview.chromium.org/44933002/diff/470001/ui/aura/root_window_host_ozone.cc#newcode17 ui/aura/root_window_host_ozone.cc:17: factory_(ui::EventFactoryOzone::GetInstance()) { On 2013/10/30 23:21:15, kalyank wrote: > We ...
7 years, 1 month ago (2013-10-31 00:38:23 UTC) #32
spang
On 2013/10/30 23:21:01, kalyank wrote: > On 2013/10/30 23:02:36, spang wrote: > > Ok, renamed ...
7 years, 1 month ago (2013-10-31 00:50:51 UTC) #33
Ben Goodger (Google)
lgtm
7 years, 1 month ago (2013-10-31 01:20:50 UTC) #34
vignatti (out of this project)
On 2013/10/31 00:50:51, spang wrote: > On 2013/10/30 23:21:01, kalyank wrote: > > On 2013/10/30 ...
7 years, 1 month ago (2013-10-31 08:43:09 UTC) #35
spang
On 2013/10/31 08:43:09, vignatti wrote: > On 2013/10/31 00:50:51, spang wrote: > > On 2013/10/30 ...
7 years, 1 month ago (2013-10-31 14:51:11 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/spang@chromium.org/44933002/680001
7 years, 1 month ago (2013-10-31 15:52:16 UTC) #37
commit-bot: I haz the power
7 years, 1 month ago (2013-10-31 18:22:45 UTC) #38
Message was sent while issue was closed.
Change committed as 232170

Powered by Google App Engine
This is Rietveld 408576698