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.
7 * Controller interface for full-screen mode.
12 /** @suppress {duplicate} */
13 var remoting = remoting || {};
16 remoting.Fullscreen = function() { };
19 * Enter or leave full-screen mode.
21 * @param {boolean} fullscreen True to enter full-screen mode; false to leave.
22 * @param {function():void=} opt_onDone Optional completion callback.
24 remoting.Fullscreen.prototype.activate = function(fullscreen, opt_onDone) { };
27 * @return {boolean} True if full-screen mode is active.
29 remoting.Fullscreen.prototype.isActive = function() { };
32 * Toggle full-screen mode.
35 remoting.Fullscreen.prototype.toggle = function() { };
38 * Add a listener for the full-screen-changed event.
40 * @param {function(boolean=):void} callback
42 remoting.Fullscreen.prototype.addListener = function(callback) { };
45 * Remove a listener for the full-screen-changed event.
47 * @param {function(boolean=):void} callback
49 remoting.Fullscreen.prototype.removeListener = function(callback) { };
51 /** @type {remoting.Fullscreen} */
52 remoting.fullscreen = null;
57 * @param {function(boolean=)} listener
58 * @implements {base.Disposable}
60 remoting.Fullscreen.EventHook = function(listener) {
62 this.src_ = remoting.fullscreen;
64 this.listener_ = listener;
66 this.src_.addListener(listener);
69 remoting.Fullscreen.EventHook.prototype.dispose = function() {
70 this.src_.removeListener(this.listener_);