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

Side by Side Diff: remoting/webapp/crd/js/client_plugin.js

Issue 1133913002: [Chromoting] Move shared webapp JS files from crd/js -> base/js (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * @fileoverview
7 * Interface abstracting the ClientPlugin functionality.
8 */
9
10 'use strict';
11
12 /** @suppress {duplicate} */
13 var remoting = remoting || {};
14
15 /**
16 * @interface
17 * @extends {base.Disposable}
18 */
19 remoting.ClientPlugin = function() {};
20
21 /**
22 * @return {remoting.HostDesktop}
23 */
24 remoting.ClientPlugin.prototype.hostDesktop = function() {};
25
26 /**
27 * @return {remoting.ProtocolExtensionManager}
28 */
29 remoting.ClientPlugin.prototype.extensions = function() {};
30
31 /**
32 * @return {HTMLElement} The DOM element representing the remote session.
33 */
34 remoting.ClientPlugin.prototype.element = function() {};
35
36 /**
37 * @param {function(boolean):void} onDone Completion callback.
38 */
39 remoting.ClientPlugin.prototype.initialize = function(onDone) {};
40
41 /**
42 * @param {remoting.Host} host The host to connect to.
43 * @param {string} localJid Local jid.
44 * @param {remoting.CredentialsProvider} credentialsProvider
45 */
46 remoting.ClientPlugin.prototype.connect =
47 function(host, localJid, credentialsProvider) {};
48
49 /**
50 * @param {number} key The keycode to inject.
51 * @param {boolean} down True for press; false for a release.
52 */
53 remoting.ClientPlugin.prototype.injectKeyEvent =
54 function(key, down) {};
55
56 /**
57 * Sends a key combination to the host, by sending down events for
58 * the given keys, followed by up events in reverse order.
59 *
60 * @param {Array<number>} keys Key codes to be sent.
61 * @return {void} Nothing.
62 */
63 remoting.ClientPlugin.prototype.injectKeyCombination = function(keys) {};
64
65 /**
66 * Sets and stores the key remapping setting for the current host.
67 *
68 * @param {string} remappings Comma separated list of key remappings.
69 */
70 remoting.ClientPlugin.prototype.setRemapKeys = function(remappings) {};
71
72 /**
73 * @param {number} from
74 * @param {number} to
75 */
76 remoting.ClientPlugin.prototype.remapKey = function(from, to) {};
77
78 /**
79 * Release all keys currently being pressed.
80 */
81 remoting.ClientPlugin.prototype.releaseAllKeys = function() {};
82
83 /**
84 * @param {string} iq
85 */
86 remoting.ClientPlugin.prototype.onIncomingIq = function(iq) {};
87
88 /**
89 * @return {boolean} True if the web-app and plugin are compatible.
90 */
91 remoting.ClientPlugin.prototype.isSupportedVersion = function() {};
92
93 /**
94 * @param {remoting.ClientPlugin.Feature} feature
95 * @return {boolean} True if the plugin supports the specified feature.
96 */
97 remoting.ClientPlugin.prototype.hasFeature = function(feature) {};
98
99
100 /**
101 * @param {remoting.ClientSession.Capability} capability
102 * @return {boolean} True if the capability has been negotiated between
103 * the client and host.
104 */
105 remoting.ClientPlugin.prototype.hasCapability = function(capability) {};
106
107 /**
108 * Sends a clipboard item to the host.
109 *
110 * @param {string} mimeType The MIME type of the clipboard item.
111 * @param {string} item The clipboard item.
112 */
113 remoting.ClientPlugin.prototype.sendClipboardItem =
114 function(mimeType, item) {};
115
116 /**
117 * Request that this client be paired with the current host.
118 *
119 * @param {string} clientName The human-readable name of the client.
120 * @param {function(string, string):void} onDone Callback to receive the
121 * client id and shared secret when they are available.
122 */
123 remoting.ClientPlugin.prototype.requestPairing =
124 function(clientName, onDone) {};
125
126 /**
127 * Allows automatic mouse-lock.
128 */
129 remoting.ClientPlugin.prototype.allowMouseLock = function() {};
130
131 /**
132 * @param {boolean} pause True to pause the audio stream; false to resume it.
133 */
134 remoting.ClientPlugin.prototype.pauseAudio = function(pause) {};
135
136 /**
137 * @param {boolean} pause True to pause the video stream; false to resume it.
138 */
139 remoting.ClientPlugin.prototype.pauseVideo = function(pause) {};
140
141 /**
142 * @return {remoting.ClientSession.PerfStats} A summary of the connection
143 * performance.
144 */
145 remoting.ClientPlugin.prototype.getPerfStats = function() {};
146
147 /**
148 * @param {remoting.ClientPlugin.ConnectionEventHandler} handler
149 */
150 remoting.ClientPlugin.prototype.setConnectionEventHandler =
151 function(handler) {};
152
153 /**
154 * @param {function(string, number, number):void} handler Callback for
155 * processing large mouse cursor images. The first parameter is a data:
156 * URL encoding the mouse cursor; the second and third parameters are
157 * the cursor hotspot's x- and y-coordinates, respectively.
158 */
159 remoting.ClientPlugin.prototype.setMouseCursorHandler = function(handler) {};
160
161 /**
162 * @param {function(string, string):void} handler Callback for processing
163 * clipboard data injected from the host. The first parameter is the mime
164 * type and the second parameter is the actual data.
165 */
166 remoting.ClientPlugin.prototype.setClipboardHandler = function(handler) {};
167
168 /**
169 * @param {function({rects:Array<Array<number>>}):void|null} handler Callback
170 * to receive dirty region information for each video frame, for debugging.
171 */
172 remoting.ClientPlugin.prototype.setDebugDirtyRegionHandler =
173 function(handler) {};
174
175
176 /**
177 * Set of features for which hasFeature() can be used to test.
178 *
179 * @enum {string}
180 */
181 remoting.ClientPlugin.Feature = {
182 INJECT_KEY_EVENT: 'injectKeyEvent',
183 NOTIFY_CLIENT_RESOLUTION: 'notifyClientResolution',
184 ASYNC_PIN: 'asyncPin',
185 PAUSE_VIDEO: 'pauseVideo',
186 PAUSE_AUDIO: 'pauseAudio',
187 REMAP_KEY: 'remapKey',
188 SEND_CLIPBOARD_ITEM: 'sendClipboardItem',
189 THIRD_PARTY_AUTH: 'thirdPartyAuth',
190 TRAP_KEY: 'trapKey',
191 PINLESS_AUTH: 'pinlessAuth',
192 ALLOW_MOUSE_LOCK: 'allowMouseLock',
193 EXTENSION_MESSAGE: 'extensionMessage',
194 VIDEO_CONTROL: 'videoControl'
195 };
196
197
198 /**
199 * @interface
200 */
201 remoting.ClientPlugin.ConnectionEventHandler = function() {};
202
203 /**
204 * @param {string} iq
205 */
206 remoting.ClientPlugin.ConnectionEventHandler.prototype.onOutgoingIq =
207 function(iq) {};
208
209 /**
210 * @param {string} msg
211 */
212 remoting.ClientPlugin.ConnectionEventHandler.prototype.onDebugMessage =
213 function(msg) {};
214
215 /**
216 * @param {remoting.ClientSession.State} status The plugin's status.
217 * @param {remoting.ClientSession.ConnectionError} error The plugin's error
218 * state, if any.
219 */
220 remoting.ClientPlugin.ConnectionEventHandler.prototype.
221 onConnectionStatusUpdate = function(status, error) {};
222
223 /**
224 * @param {string} channel The channel name.
225 * @param {string} connectionType The new connection type.
226 */
227 remoting.ClientPlugin.ConnectionEventHandler.prototype.onRouteChanged =
228 function(channel, connectionType) {};
229
230 /**
231 * @param {boolean} ready True if the connection is ready.
232 */
233 remoting.ClientPlugin.ConnectionEventHandler.prototype.onConnectionReady =
234 function(ready) {};
235
236 /** Called when the first video frame is received */
237 remoting.ClientPlugin.ConnectionEventHandler.prototype.onFirstFrameReceived =
238 function() {};
239
240 /**
241 * @interface
242 */
243 remoting.ClientPluginFactory = function() {};
244
245 /**
246 * @param {Element} container The container for the embed element.
247 * @param {Array<string>} requiredCapabilities
248 * @return {remoting.ClientPlugin} A new client plugin instance.
249 */
250 remoting.ClientPluginFactory.prototype.createPlugin =
251 function(container, requiredCapabilities) {};
252
253 /**
254 * Preload the plugin to make instantiation faster when the user tries
255 * to connect.
256 */
257 remoting.ClientPluginFactory.prototype.preloadPlugin = function() {};
258
259 /**
260 * @type {remoting.ClientPluginFactory}
261 */
262 remoting.ClientPlugin.factory = null;
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/activity.js ('k') | remoting/webapp/crd/js/client_plugin_host_desktop_impl.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698