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

Issue 313963007: ozone: Implement PlatformObject<T> for platform-specific objects (Closed)

Created:
6 years, 6 months ago by spang
Modified:
6 years, 6 months ago
CC:
chromium-reviews, rjkroege, kalyank, ozone-reviews_chromium.org
Visibility:
Public.

Description

ozone: Implement PlatformObject<T> for platform-specific objects This paves the way for having more than one platform-specific object, which is necessary for the componentization of ozone. The plumbing to build objects that depend on the platform is shared using the PlatformObject<T> template. Code that wants to build such an object need simply do scoped_ptr<MyPlatformSpecificType> my_platform_object = PlatformObject<MyPlatformSpecificType>::Create(); We have to generate a couple of source files to make this work: - a header file with an enumeration of platforms - a (per-component) source file with a static const list of constructors for each platform type This converts the previous object (OzonePlatform) instantiation to use PlatformObject<>. This should be functionally identical. BUG=380884 TEST=build aura_builder with "use_ozone=1 chromeos=1", ran egltest NOTRY=true Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=275460

Patch Set 1 #

Patch Set 2 : expand docs for PlatformObject<> #

Patch Set 3 : clang-format #

Total comments: 1

Patch Set 4 : fix namespacing #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+487 lines, -87 lines) Patch
A ui/ozone/generate_constructor_list.py View 1 2 3 1 chunk +169 lines, -0 lines 0 comments Download
M ui/ozone/generate_ozone_platform_list.py View 2 chunks +109 lines, -33 lines 0 comments Download
M ui/ozone/ozone.gyp View 1 2 3 3 chunks +41 lines, -4 lines 0 comments Download
M ui/ozone/ozone_platform.cc View 1 2 3 chunks +11 lines, -25 lines 0 comments Download
D ui/ozone/ozone_platform_list.h View 1 chunk +0 lines, -25 lines 0 comments Download
A ui/ozone/platform_constructor_list.h View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
A ui/ozone/platform_object.h View 1 1 chunk +34 lines, -0 lines 2 comments Download
A ui/ozone/platform_object_internal.h View 1 1 chunk +31 lines, -0 lines 0 comments Download
A ui/ozone/platform_selection.h View 1 chunk +21 lines, -0 lines 0 comments Download
A ui/ozone/platform_selection.cc View 1 chunk +50 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
spang
6 years, 6 months ago (2014-06-04 21:44:57 UTC) #1
rjkroege
lgtm
6 years, 6 months ago (2014-06-04 22:34:29 UTC) #2
vignatti (out of this project)
https://codereview.chromium.org/313963007/diff/30001/ui/ozone/platform_selection.h File ui/ozone/platform_selection.h (right): https://codereview.chromium.org/313963007/diff/30001/ui/ozone/platform_selection.h#newcode9 ui/ozone/platform_selection.h:9: #include "ui/ozone/platform_list.h" copy pasta mistake probably? This line has ...
6 years, 6 months ago (2014-06-05 17:28:50 UTC) #3
spang
The CQ bit was checked by spang@chromium.org
6 years, 6 months ago (2014-06-06 17:00:34 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/spang@chromium.org/313963007/50001
6 years, 6 months ago (2014-06-06 17:01:07 UTC) #5
commit-bot: I haz the power
Change committed as 275460
6 years, 6 months ago (2014-06-06 17:02:33 UTC) #6
vignatti (out of this project)
https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object.h File ui/ozone/platform_object.h (right): https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object.h#newcode30 ui/ozone/platform_object.h:30: }; just like I told you on IRC, PlatformObject ...
6 years, 6 months ago (2014-06-06 17:03:01 UTC) #7
spang
https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object.h File ui/ozone/platform_object.h (right): https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object.h#newcode30 ui/ozone/platform_object.h:30: }; On 2014/06/06 17:03:01, vignatti wrote: > just like ...
6 years, 6 months ago (2014-06-06 17:05:09 UTC) #8
vignatti (out of this project)
6 years, 6 months ago (2014-06-06 18:19:23 UTC) #9
Message was sent while issue was closed.
On 2014/06/06 17:05:09, spang wrote:
>
https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object.h
> File ui/ozone/platform_object.h (right):
> 
>
https://codereview.chromium.org/313963007/diff/50001/ui/ozone/platform_object...
> ui/ozone/platform_object.h:30: };
> On 2014/06/06 17:03:01, vignatti wrote:
> > just like I told you on IRC, PlatformObject being inside ui doesn't work for
> > objects in a different namespace. What's the plan here?
> 
> Your problem was just a bug in the script. Should be fixed in landed patch.

true. And I was trying in my system the old patchset, my bad. I've tested and
everything is working like a charm. Thank you.

Powered by Google App Engine
This is Rietveld 408576698