blob: edccd6c4c39e1d7b4467ffa168c4d1b216893eeb [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[DartPackage="mojo_services"]
module mojo;
import "geometry/public/interfaces/geometry.mojom";
import "input_events/public/interfaces/input_events.mojom";
// WindowManagerInternal is an interface provided by the WindowManager
// exclusively to the ViewManager.
interface WindowManagerInternal {
// Creates a connection to the WindowManager specifically for a connection to
// the ViewManager. |connection_id| is the id of the connection to the
// ViewManager. See view_manager.mojom for details on the id.
CreateWindowManagerForViewManagerClient(
uint16 connection_id,
handle<message_pipe> window_manager_pipe);
SetViewManagerClient(handle<message_pipe> view_manager_client_request);
};
// WindowManagerInternalClient is an interface provide by the ViewManager
// exclusively to the WindowManager. It provides functionality only available
// to the WindowManager.
interface WindowManagerInternalClient {
// Dispatches the specified input event to the specified view.
DispatchInputEventToView(uint32 view_id, mojo.Event event);
// Sets the native viewport size.
SetViewportSize(mojo.Size size);
// Clones the tree rooted at |view_id|. When the animation completes the clone
// is destroyed.
// TODO(sky): add actual animation.
// TODO(sky): I think this only makes sense when destroying (view is
// already visible), should it be named to indicate this?
CloneAndAnimate(uint32 view_id);
};