New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 754153 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Remove definitions from public/web/.

Project Member Reported by slangley@chromium.org, Aug 10 2017

Issue description

We'll publish a short design doc/plan soon, but essentially we'll will probably choose from:

a) Remove the type entirely if it just shims a type in modules/core.
b) Move the type entirely into modules/ or core/ if it makes sense to still have it.
c) Break types apart if they've become a grab bag of mixed functionality.

Also, we'll need to allow //content/renderer and //content/child DEPS ruls to see Source/modules, Source/core etc.
 
Cc: jam@chromium.org
Thanks Stuart!

> a) Remove the type entirely if it just shims a type in modules/core.
> b) Move the type entirely into modules/ or core/ if it makes sense to still have it.
> c) Break types apart if they've become a grab bag of mixed functionality.
>
> Also, we'll need to allow //content/renderer and //content/child DEPS ruls to see Source/modules, Source/core etc.

I support these ideas. I'm looking forward to seeing a design doc :)

- Removing unnecessary Web types from //content/renderer/ would be a good step forward to move the code into Blink (core/, modules/ or controller/).

- We should not make //components/xxx/renderer/ depend on core/ and modules/ since //components/xxx/renderer/ should move to WebAgents.


Comment 2 by jam@chromium.org, Aug 10 2017

@haraken: until the web agent infrastructure is up, what should be done about a component that uses WebFoo which just wraps a type in core or modules? I would have thought that we'd want to get rid of the Web* wrappers soon?
@jam: My current plan is that we prepare the WebAgent infrastructure first :)

In terms of removing WebFoo types, we just need to define WebAgent APIs  to access core/ and modules/. For now the APIs won't need to be auto-generated, so it should be easy.

I'm open for ideas :)


We're putting together a trix of all the types in public/web, we can highlight ones used in //components/*/renderer and see how many there are and if we need a different strategy.
Cc: dglazkov@chromium.org joelhockey@chromium.org
We've started putting together a trix of the types in public/web and how we should probably deal with them. DD to follow.

https://goo.gl/Egpbwr

Comment 7 by dcheng@chromium.org, Aug 11 2017

I'm guessing this will be on the doc (sorry I'm impatient), but I'm curious what the plan is for things like WebFrameClient that allow Blink to call out into //content.
I think we'll need to think about that in the scope of WebAgents work as //components/plugins and //components/printing also use WebFrameClient.

In the short term we may propose that anything that falls into the scope of WebAgents is covered separately, if possible. 
dcheng@: That's a good question.

As far as I look at the code base, there are a ton of Blink => content/ callbacks in WebFrameClient etc that are called at non-standardized (or random) timings. It will be a huge amount of work to replace the callbacks with standardized DOM events (or we will just end up with replacing the callbacks with CustomEvents -- which wouldn't be worth doing). We should have a plan for this but at the moment I'd like to focus on removing public APIs and Web types used for //content/ => Blink calls.

slangley@: Separating //components/ things (i.e., WebAgents things) from //content/ things sounds reasonable to me.





Design Doc (WIP): http://bit.ly/2uWCiYZ
Status: WontFix (was: Assigned)

Sign in to add a comment