aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js292
1 files changed, 0 insertions, 292 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js b/contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js
deleted file mode 100644
index be1b62e..0000000
--- a/contexts/data/lib/closure-library/closure/goog/net/xpc/xpc.js
+++ /dev/null
@@ -1,292 +0,0 @@
-// Copyright 2007 The Closure Library Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS-IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-/**
- * @fileoverview Provides the namesspace for client-side communication
- * between pages originating from different domains (it works also
- * with pages from the same domain, but doing that is kinda
- * pointless).
- *
- * The only publicly visible class is goog.net.xpc.CrossPageChannel.
- *
- * Note: The preferred name for the main class would have been
- * CrossDomainChannel. But as there already is a class named like
- * that (which serves a different purpose) in the maps codebase,
- * CrossPageChannel was chosen to avoid confusion.
- *
- * CrossPageChannel abstracts the underlying transport mechanism to
- * provide a common interface in all browsers.
- *
- */
-
-/*
-TODO(user)
-- resolve fastback issues in Safari (IframeRelayTransport)
- */
-
-
-/**
- * Namespace for CrossPageChannel
- */
-goog.provide('goog.net.xpc');
-goog.provide('goog.net.xpc.CfgFields');
-goog.provide('goog.net.xpc.ChannelStates');
-goog.provide('goog.net.xpc.TransportNames');
-goog.provide('goog.net.xpc.TransportTypes');
-goog.provide('goog.net.xpc.UriCfgFields');
-
-goog.require('goog.debug.Logger');
-
-
-/**
- * Enum used to identify transport types.
- * @enum {number}
- */
-goog.net.xpc.TransportTypes = {
- NATIVE_MESSAGING: 1,
- FRAME_ELEMENT_METHOD: 2,
- IFRAME_RELAY: 3,
- IFRAME_POLLING: 4,
- FLASH: 5,
- NIX: 6
-};
-
-
-/**
- * Enum containing transport names. These need to correspond to the
- * transport class names for createTransport_() to work.
- * @type {Object}
- */
-goog.net.xpc.TransportNames = {
- '1': 'NativeMessagingTransport',
- '2': 'FrameElementMethodTransport',
- '3': 'IframeRelayTransport',
- '4': 'IframePollingTransport',
- '5': 'FlashTransport',
- '6': 'NixTransport'
-};
-
-
-// TODO(user): Add auth token support to other methods.
-
-
-/**
- * Field names used on configuration object.
- * @type {Object}
- */
-goog.net.xpc.CfgFields = {
- /**
- * Channel name identifier.
- * Both peers have to be initialized with
- * the same channel name. If not present, a channel name is
- * generated (which then has to transferred to the peer somehow).
- */
- CHANNEL_NAME: 'cn',
- /**
- * Authorization token. If set, NIX will use this authorization token
- * to validate the setup.
- */
- AUTH_TOKEN: 'at',
- /**
- * Remote party's authorization token. If set, NIX will validate this
- * authorization token against that sent by the other party.
- */
- REMOTE_AUTH_TOKEN: 'rat',
- /**
- * The URI of the peer page.
- */
- PEER_URI: 'pu',
- /**
- * Ifame-ID identifier.
- * The id of the iframe element the peer-document lives in.
- */
- IFRAME_ID: 'ifrid',
- /**
- * Transport type identifier.
- * The transport type to use. Possible values are entries from
- * goog.net.xpc.TransportTypes. If not present, the transport is
- * determined automatically based on the useragent's capabilities.
- */
- TRANSPORT: 'tp',
- /**
- * Local relay URI identifier (IframeRelayTransport-specific).
- * The URI (can't contain a fragment identifier) used by the peer to
- * relay data through.
- */
- LOCAL_RELAY_URI: 'lru',
- /**
- * Peer relay URI identifier (IframeRelayTransport-specific).
- * The URI (can't contain a fragment identifier) used to relay data
- * to the peer.
- */
- PEER_RELAY_URI: 'pru',
- /**
- * Local poll URI identifier (IframePollingTransport-specific).
- * The URI (can't contain a fragment identifier)which is polled
- * to receive data from the peer.
- */
- LOCAL_POLL_URI: 'lpu',
- /**
- * Local poll URI identifier (IframePollingTransport-specific).
- * The URI (can't contain a fragment identifier) used to send data
- * to the peer.
- */
- PEER_POLL_URI: 'ppu',
- /**
- * The hostname of the peer window, including protocol, domain, and port
- * (if specified). Used for security sensitive applications that make
- * use of NativeMessagingTransport (i.e. most applications).
- */
- PEER_HOSTNAME: 'ph',
- /**
- * Usually both frames using a connection initially send a SETUP message to
- * each other, and each responds with a SETUP_ACK. A frame marks itself
- * connected when it receives that SETUP_ACK. If this parameter is true
- * however, the channel it is passed to will not send a SETUP, but rather will
- * wait for one from its peer and mark itself connected when that arrives.
- * Peer iframes created using such a channel will send SETUP however, and will
- * wait for SETUP_ACK before marking themselves connected. The goal is to
- * cope with a situation where the availability of the URL for the peer frame
- * cannot be relied on, eg when the application is offline. Without this
- * setting, the primary frame will attempt to send its SETUP message every
- * 100ms, forever. This floods the javascript console with uncatchable
- * security warnings, and fruitlessly burns CPU. There is one scenario this
- * mode will not support, and that is reconnection by the outer frame, ie the
- * creation of a new channel object to connect to a peer iframe which was
- * already communicating with a previous channel object of the same name. If
- * that behavior is needed, this mode should not be used. Reconnection by
- * inner frames is supported in this mode however.
- */
- ONE_SIDED_HANDSHAKE: 'osh',
- /**
- * The frame role (inner or outer). Used to explicitly indicate the role for
- * each peer whenever the role cannot be reliably determined (e.g. the two
- * peer windows are not parent/child frames). If unspecified, the role will
- * be dynamically determined, assuming a parent/child frame setup.
- */
- ROLE: 'role',
- /**
- * Which version of the native transport startup protocol should be used, the
- * default being '2'. Version 1 had various timing vulnerabilities, which
- * had to be compensated for by introducing delays, and is deprecated. V1
- * and V2 are broadly compatible, although the more robust timing and lack
- * of delays is not gained unless both sides are using V2. The only
- * unsupported case of cross-protocol interoperation is where a connection
- * starts out with V2 at both ends, and one of the ends reconnects as a V1.
- * All other initial startup and reconnection scenarios are supported.
- */
- NATIVE_TRANSPORT_PROTOCOL_VERSION: 'nativeProtocolVersion'
-};
-
-
-/**
- * Config properties that need to be URL sanitized.
- * @type {Array}.<string>
- */
-goog.net.xpc.UriCfgFields = [
- goog.net.xpc.CfgFields.PEER_URI,
- goog.net.xpc.CfgFields.LOCAL_RELAY_URI,
- goog.net.xpc.CfgFields.PEER_RELAY_URI,
- goog.net.xpc.CfgFields.LOCAL_POLL_URI,
- goog.net.xpc.CfgFields.PEER_POLL_URI
-];
-
-
-/**
- * @enum {number}
- */
-goog.net.xpc.ChannelStates = {
- NOT_CONNECTED: 1,
- CONNECTED: 2,
- CLOSED: 3
-};
-
-
-/**
- * The name of the transport service (used for internal signalling).
- * @type {string}
- * @suppress {underscore}
- */
-goog.net.xpc.TRANSPORT_SERVICE_ = 'tp';
-
-
-/**
- * Transport signaling message: setup.
- * @type {string}
- */
-goog.net.xpc.SETUP = 'SETUP';
-
-
-/**
- * Transport signaling message: setup for native transport protocol v2.
- * @type {string}
- */
-goog.net.xpc.SETUP_NTPV2 = 'SETUP_NTPV2';
-
-
-/**
- * Transport signaling message: setup acknowledgement.
- * @type {string}
- * @suppress {underscore}
- */
-goog.net.xpc.SETUP_ACK_ = 'SETUP_ACK';
-
-
-/**
- * Transport signaling message: setup acknowledgement.
- * @type {string}
- */
-goog.net.xpc.SETUP_ACK_NTPV2 = 'SETUP_ACK_NTPV2';
-
-
-/**
- * Object holding active channels.
- * Package private. Do not call from outside goog.net.xpc.
- *
- * @type {Object.<string, goog.net.xpc.CrossPageChannel>}
- */
-goog.net.xpc.channels = {};
-
-
-/**
- * Returns a random string.
- * @param {number} length How many characters the string shall contain.
- * @param {string=} opt_characters The characters used.
- * @return {string} The random string.
- */
-goog.net.xpc.getRandomString = function(length, opt_characters) {
- var chars = opt_characters || goog.net.xpc.randomStringCharacters_;
- var charsLength = chars.length;
- var s = '';
- while (length-- > 0) {
- s += chars.charAt(Math.floor(Math.random() * charsLength));
- }
- return s;
-};
-
-
-/**
- * The default characters used for random string generation.
- * @type {string}
- * @private
- */
-goog.net.xpc.randomStringCharacters_ =
- 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
-
-
-/**
- * The logger.
- * @type {goog.debug.Logger}
- */
-goog.net.xpc.logger = goog.debug.Logger.getLogger('goog.net.xpc');