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

Issue 2194973002: Fix linker warning in broadcast_channel.mojom-blink.obj. (Closed)

Created:
4 years, 4 months ago by jam
Modified:
4 years, 4 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, darin (slow to review), dglazkov+blink, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix linker warning in broadcast_channel.mojom-blink.obj. The problem is that r406852 introduced a dependency from //third_party/WebKit/public:mojo_bindings to //url/mojo:url_mojom_origin which the typemap translated to webkit's SecurityOrigin. This means that mojo_bindings needs to set BLINK_PLATFORM_IMPLEMENTATION and have that propagate to the generated target. Otherwise SecurityOrigin is imported by mojo_bindings to blink_platform.dll, which defines it. The fix is to split weborigin into a separate build target. Since it depends on runtime enabled features, these also have to be split out into a separate target. The WebPublicSuffixList interface is removed since platform can now call out to net/base directly. BUG=632082

Patch Set 1 #

Patch Set 2 : add gn component for weborigin and runtime_enabled_features #

Patch Set 3 : #

Patch Set 4 : improve #

Patch Set 5 : tighten deps #

Unified diffs Side-by-side diffs Delta from patch set Stats (+173 lines, -263 lines) Patch
M content/content_renderer.gypi View 1 1 chunk +0 lines, -2 lines 0 comments Download
M content/renderer/renderer_blink_platform_impl.h View 1 3 chunks +0 lines, -4 lines 0 comments Download
M content/renderer/renderer_blink_platform_impl.cc View 1 2 chunks +0 lines, -7 lines 0 comments Download
D content/renderer/webpublicsuffixlist_impl.h View 1 1 chunk +0 lines, -24 lines 0 comments Download
D content/renderer/webpublicsuffixlist_impl.cc View 1 1 chunk +0 lines, -23 lines 0 comments Download
M third_party/WebKit/Source/build/scripts/templates/RuntimeEnabledFeatures.h.tmpl View 1 2 chunks +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 5 chunks +36 lines, -4 lines 0 comments Download
A + third_party/WebKit/Source/platform/RuntimeEnabledFeaturesExport.h View 1 2 chunks +11 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/platform/blink_platform.gypi View 1 1 chunk +0 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/platform/mojo/KURL.typemap View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/mojo/SecurityOrigin.typemap View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
A third_party/WebKit/Source/platform/weborigin/BUILD.gn View 1 2 3 1 chunk +54 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/DEPS View 1 2 3 4 1 chunk +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/KURL.h View 1 4 chunks +18 lines, -18 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/KnownPorts.h View 1 2 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/OriginAccessEntry.h View 1 3 chunks +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/OriginAccessEntry.cpp View 1 2 3 4 2 chunks +8 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/OriginAccessEntryTest.cpp View 1 2 3 4 7 chunks +0 lines, -56 lines 0 comments Download
A + third_party/WebKit/Source/platform/weborigin/OriginExport.h View 1 2 chunks +11 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/SchemeRegistry.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/SecurityOrigin.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/SecurityPolicy.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/weborigin/Suborigin.h View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/public/blink_headers.gypi View 1 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/public/platform/Platform.h View 1 2 chunks +0 lines, -7 lines 0 comments Download
D third_party/WebKit/public/platform/WebPublicSuffixList.h View 1 1 chunk +0 lines, -49 lines 0 comments Download

Messages

Total messages: 38 (23 generated)
jam
4 years, 4 months ago (2016-08-01 15:40:43 UTC) #17
jochen (gone - plz use gerrit)
+esprehn so you get faster feedback. Is it possible to restrict the DEPS file for ...
4 years, 4 months ago (2016-08-01 15:47:19 UTC) #19
jam
On 2016/08/01 15:47:19, jochen wrote: > +esprehn so you get faster feedback. > > Is ...
4 years, 4 months ago (2016-08-01 16:34:46 UTC) #22
esprehn
I'm not sure this is true that it should be a component below platform. Why ...
4 years, 4 months ago (2016-08-01 18:17:12 UTC) #25
jam
On 2016/08/01 18:17:12, esprehn wrote: > I'm not sure this is true that it should ...
4 years, 4 months ago (2016-08-01 19:15:45 UTC) #28
jochen (gone - plz use gerrit)
historically, web origin was a separate component that we intended to be able to link ...
4 years, 4 months ago (2016-08-02 15:26:55 UTC) #29
jam
ping
4 years, 4 months ago (2016-08-02 19:02:37 UTC) #30
esprehn
I'm not really a fan of having a separate component for RuntimeEnabledFeatures. Making something go ...
4 years, 4 months ago (2016-08-02 19:56:54 UTC) #31
jam
On 2016/08/02 19:56:54, esprehn wrote: > I'm not really a fan of having a separate ...
4 years, 4 months ago (2016-08-02 20:10:44 UTC) #32
esprehn
On 2016/08/02 at 20:10:44, jam wrote: > On 2016/08/02 19:56:54, esprehn wrote: > > I'm ...
4 years, 4 months ago (2016-08-02 20:42:11 UTC) #33
jam
On 2016/08/02 20:42:11, esprehn wrote: > On 2016/08/02 at 20:10:44, jam wrote: > > On ...
4 years, 4 months ago (2016-08-02 20:58:40 UTC) #34
jochen (gone - plz use gerrit)
Sorry that this takes so long. After thinking a bit about this, I wonder what ...
4 years, 4 months ago (2016-08-03 07:22:52 UTC) #35
esprehn
Indeed jam@ and I had that discussion and I came to the same conclusion today. ...
4 years, 4 months ago (2016-08-03 09:36:21 UTC) #36
jam
Regarding public types: -I don't think this would work for two reasons. The primary is ...
4 years, 4 months ago (2016-08-03 17:27:32 UTC) #37
jam
4 years, 4 months ago (2016-08-03 23:13:48 UTC) #38
On 2016/08/03 17:27:32, jam wrote:
> Regarding public types:
> -I don't think this would work for two reasons. The primary is that
> WebSecurityOrigin depends on SecurityOrigin in its implementation. The
secondary
> is that afaik with content/renderer code moving into blink, there's no more
need
> for these web wrapper types.
> 
> 
> Regarding compiling the mojo bindings as part of platform:
> -GN has a way to get the list of output files for a target
(get_target_outputs).
> However that only works for targets in the same build file. The mojom_bindings
> target is  in src/third_party/WebKit/public/BUILD.gn, which makes sense since
> the mojoms specified there are in that directory and in subdirectories. I
don't
> think we want to move that build target to be in
> src/third_party/WebKit/platform/BUILD.gn as that would break the GN convention
> of build files being located beside the code, right? And also that browser
code
> includes the non-blink variants of these mojoms; we only want them to include
> build targets from WebKit/public right?

btw here's a version of this: https://codereview.chromium.org/2209883002/ to
compare.

> 
> 
> On 2016/08/03 07:22:52, jochen wrote:
> > Sorry that this takes so long. After thinking a bit about this, I wonder
what
> > you think about the following two solutions:
> > 
> > a) if mojo bindings have to access internal types of some other component,
> > shouldn't they conceptually be part of that component instead of having the
> > component export some of its internal types?
> > 
> > or b) if mojo bindings are supposed to be separate from the component,
> shouldn't
> > the typemaps be in terms of public types of that component, e.g., here,
> > WebSecurityOrigin instead of SecurityOrigin?
> 
> On 2016/08/03 09:36:21, esprehn wrote:
> > Indeed jam@ and I had that discussion and I came to the same conclusion
today.
> I
> > think we want to make the Mojo bindings be generated into the component that
> > defines the types it's mapping. Having it be separate means the component
> can't
> > use it's own bindings which seems kind of strange. John didn't think gn had
a
> > way to do this yet, but don't we generate a bunch of code in blink using
> python
> > that we compile directly in (ex. The style builder)? Can mojo do whatever
that
> > does?
> > 
> > Using the public types also seems reasonable for this case, but does that
fix
> > the build cycle?
> > 
> > (Sorry this thread didn't get updated from our private discussion)

Powered by Google App Engine
This is Rietveld 408576698