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

Side by Side Diff: device/vr/vr_service.mojom

Issue 2729523002: Re-land^2 WebVR compositor bypass via BrowserMain context + mailbox (Closed)
Patch Set: Rebase to 11e28fd6b9380b77273db51ef0b6ccc7ea341944 Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « device/vr/vr_display_impl_unittest.cc ('k') | gpu/ipc/common/mailbox_holder.typemap » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module device.mojom; 5 module device.mojom;
6 6
7 import "mojo/common/time.mojom"; 7 import "mojo/common/time.mojom";
8 import "gpu/ipc/common/mailbox_holder.mojom";
9 import "gpu/ipc/common/sync_token.mojom";
8 10
9 // A field of view, given by 4 degrees describing the view from a center point. 11 // A field of view, given by 4 degrees describing the view from a center point.
10 struct VRFieldOfView { 12 struct VRFieldOfView {
11 float upDegrees; 13 float upDegrees;
12 float downDegrees; 14 float downDegrees;
13 float leftDegrees; 15 float leftDegrees;
14 float rightDegrees; 16 float rightDegrees;
15 }; 17 };
16 18
17 // A display's position, orientation, velocity, and acceleration state at the 19 // A display's position, orientation, velocity, and acceleration state at the
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices); 79 SetClient(VRServiceClient client) => (uint32 numberOfConnectedDevices);
78 // Inform the service that the page is listening for vrdisplayactivate events. 80 // Inform the service that the page is listening for vrdisplayactivate events.
79 SetListeningForActivate(bool listening); 81 SetListeningForActivate(bool listening);
80 }; 82 };
81 83
82 interface VRServiceClient { 84 interface VRServiceClient {
83 OnDisplayConnected(VRDisplay display, VRDisplayClient& request, 85 OnDisplayConnected(VRDisplay display, VRDisplayClient& request,
84 VRDisplayInfo displayInfo); 86 VRDisplayInfo displayInfo);
85 }; 87 };
86 88
89 interface VRSubmitFrameClient {
90 OnSubmitFrameTransferred();
91 OnSubmitFrameRendered();
92 };
93
87 interface VRDisplay { 94 interface VRDisplay {
88 ResetPose(); 95 ResetPose();
89 96
90 RequestPresent(bool secureOrigin) => (bool success); 97 RequestPresent(bool secureOrigin, VRSubmitFrameClient client) => (bool success );
91 ExitPresent(); 98 ExitPresent();
92 SubmitFrame(VRPose? pose); 99 SubmitFrame(int16 frameId, gpu.mojom.MailboxHolder mailboxHolder);
93 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds, 100 UpdateLayerBounds(int16 frameId, VRLayerBounds leftBounds,
94 VRLayerBounds rightBounds); 101 VRLayerBounds rightBounds, int16 sourceWidth,
102 int16 sourceHeight);
95 GetVRVSyncProvider(VRVSyncProvider& request); 103 GetVRVSyncProvider(VRVSyncProvider& request);
96 }; 104 };
97 105
98 interface VRVSyncProvider { 106 interface VRVSyncProvider {
99 enum Status { SUCCESS, RETRY }; 107 enum Status { SUCCESS, CLOSING };
100 108
101 // The frameId maps a VSync to a frame arriving from the compositor. IDs will 109 // The frameId maps a VSync to a frame arriving from the compositor. IDs will
102 // be reused after the frame arrives from the compositor. Negative IDs imply 110 // be reused after the frame arrives from the compositor. Negative IDs imply
103 // no mapping. 111 // no mapping.
104 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId, 112 GetVSync() => (VRPose? pose, mojo.common.mojom.TimeDelta time, int16 frameId,
105 Status status); 113 Status status);
106 }; 114 };
107 115
108 interface VRDisplayClient { 116 interface VRDisplayClient {
109 OnChanged(VRDisplayInfo display); 117 OnChanged(VRDisplayInfo display);
110 OnExitPresent(); 118 OnExitPresent();
111 OnBlur(); 119 OnBlur();
112 OnFocus(); 120 OnFocus();
113 OnActivate(VRDisplayEventReason reason); 121 OnActivate(VRDisplayEventReason reason);
114 OnDeactivate(VRDisplayEventReason reason); 122 OnDeactivate(VRDisplayEventReason reason);
115 }; 123 };
OLDNEW
« no previous file with comments | « device/vr/vr_display_impl_unittest.cc ('k') | gpu/ipc/common/mailbox_holder.typemap » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698