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

Issue 621085 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
mus

Blocked on:
issue 621078



Sign in to add a comment

Introduce API for embedders to dispatch events to embedded client

Project Member Reported by sadrul@chromium.org, Jun 17 2016

Issue description

 issue 621078  tracks allowing an embedder to receive events targeted to an embedded client. However, the embedder (e.g. chrome-browser) may want to then dispatch the events to the embedded client (chrome-renderer). mus should provide a mechanism for doing this.
 

Comment 1 by sadrul@chromium.org, Jun 17 2016

One approach for doing this: mus sends a request for an EventHandler to the renderer (or any embedded client whose embedder requested to intercept events), and send the other end of it to the browser (i.e. the embedder). The browser can then use it to send events to the renderer. Something like:

  interface InputEventHandler {
    OnWindowInputEvent(window_id, event) => (bool handled);
  };

  interface WindowTreeClient {
    ...
    RequestInputEventHandler(InputEventHandler& handler);
  };

  interface WindowTree {
    ...
    Embed(window_id, WindowTreeClient, flags) => (bool success,
InputEventHandler? handler);
  };

Comment 2 by sadrul@chromium.org, Jun 23 2016

Some in-progress work for this at https://codereview.chromium.org/2089183003

One interesting issue that has come up is that the embedder does not know the window-id for the embedded client. So an event targeted at the embed-root that goes to the embedder, and then is dispatched to the embedded client, cannot be dispatched correctly in the embedded client, since the window-id it doesn't have a window with the id it received from the embedder.
Components: Internals>MUS
Labels: Proj-Mustash
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS
Labels: -Pri-2 -Proj-Mustash Proj-Mash OS-Chrome Pri-3
I believe we will want this, but we don't need it anytime soon.

Sign in to add a comment