Onion Soup 2.0

294 views
Skip to first unread message

Kentaro Hara

unread,
May 22, 2017, 10:26:47 PM5/22/17
to platform-architecture-dev
Hi

Since we started Onion Soup in 2015 November, we have made a ton of progress and massively simplified the renderer architecture. Now it's time to think about the next steps -- Onion Soup 2.0 :D

I wrote a plan for the next couple of quarters with a lot of inputs from Dimitri and Jam.

Comments are appreciated!

--
Kentaro Hara, Tokyo, Japan

Yutaka Hirano

unread,
Jun 1, 2017, 7:42:50 AM6/1/17
to Kentaro Hara, platform-architecture-dev
Hi,

We are planning to move loading classes in content/child to blink, and we have one problem.

When loading, we ask the browser process to load the request. Currently ResourceDispatcher holds all pending requests and it dispatches incoming IPC messages to clients. RequestPeer is the interface class for representing a client (from ResourceDispatcher POV), and some chrome/renderer classes (SecurityFilter and ExtensionLocalizedPeer) implement the interface to intercept / filter responses.

Our plan is to have mojom files in services/network/public/interfaces (see the thread) and have the renderer side implementation in blink. The problem is the RequestPeer implementations currently living in chrome/render. How can we add such filters to the loading pipeline completely implemented in blink?

Technically it seems possible to have an interface for registering such filtering classes as a WebAgent, but I'm not sure it's the right thing to do, as "Web Agents is a building block to implement high-level features on top of the web platform".

Comments will be appreciated.


--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/platform-architecture-dev/CABg10jz8zu65e6yHuPh5BJr18koRO9NQNQquj6P5RF38HLgdzQ%40mail.gmail.com.

John Abd-El-Malek

unread,
Jun 1, 2017, 9:43:05 AM6/1/17
to Yutaka Hirano, Kentaro Hara, platform-architecture-dev
As you say, web agents is for high level features. Per the doc, not everything fits in that mold. For those, we can have callbacks from blink to chrome. This code in chrome is what Kentaro termed "controller".

On Thu, Jun 1, 2017 at 4:42 AM, Yutaka Hirano <yhi...@chromium.org> wrote:
Hi,

We are planning to move loading classes in content/child to blink, and we have one problem.

When loading, we ask the browser process to load the request. Currently ResourceDispatcher holds all pending requests and it dispatches incoming IPC messages to clients. RequestPeer is the interface class for representing a client (from ResourceDispatcher POV), and some chrome/renderer classes (SecurityFilter and ExtensionLocalizedPeer) implement the interface to intercept / filter responses.

Our plan is to have mojom files in services/network/public/interfaces (see the thread) and have the renderer side implementation in blink. The problem is the RequestPeer implementations currently living in chrome/render. How can we add such filters to the loading pipeline completely implemented in blink?

Technically it seems possible to have an interface for registering such filtering classes as a WebAgent, but I'm not sure it's the right thing to do, as "Web Agents is a building block to implement high-level features on top of the web platform".

Comments will be appreciated.

On Tue, May 23, 2017 at 11:26 AM, Kentaro Hara <har...@chromium.org> wrote:
Hi

Since we started Onion Soup in 2015 November, we have made a ton of progress and massively simplified the renderer architecture. Now it's time to think about the next steps -- Onion Soup 2.0 :D

I wrote a plan for the next couple of quarters with a lot of inputs from Dimitri and Jam.

Comments are appreciated!

--
Kentaro Hara, Tokyo, Japan

--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsubsc...@chromium.org.

--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.

Kentaro Hara

unread,
Jun 1, 2017, 11:22:05 AM6/1/17
to John Abd-El-Malek, Yutaka Hirano, platform-architecture-dev
As you say, web agents is for high level features. Per the doc, not everything fits in that mold. For those, we can have callbacks from blink to chrome. This code in chrome is what Kentaro termed "controller".

Right.

Since the "controller" directory doesn't yet exist, add the code to //content/ at the moment. We intentionally don't yet add the "controller" directory to prevent people from adding random stuff there. We want to move as many things to Blink and Web Agents as possible and then see what remains in //content/. Then we carefully move the remaining stuff to "controller".



--
You received this message because you are subscribed to the Google Groups "platform-architecture-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to platform-architecture-dev+unsub...@chromium.org.
To post to this group, send email to platform-architecture-dev@chromium.org.

Yutaka Hirano

unread,
Jun 1, 2017, 7:47:26 PM6/1/17
to Kentaro Hara, John Abd-El-Malek, platform-architecture-dev
Reply all
Reply to author
Forward
0 new messages