diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/net/xpc/relay.js')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/net/xpc/relay.js | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/net/xpc/relay.js b/contexts/data/lib/closure-library/closure/goog/net/xpc/relay.js deleted file mode 100644 index a79e7a5..0000000 --- a/contexts/data/lib/closure-library/closure/goog/net/xpc/relay.js +++ /dev/null @@ -1,72 +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 Standalone script to be included in the relay-document - * used by goog.net.xpc.IframeRelayTransport. This script will decode the - * fragment identifier, determine the target window object and deliver - * the data to it. - * - */ - -goog.provide('goog.net.xpc.relay'); - -(function() { - // Decode the fragement identifier. - // location.href is expected to be structured as follows: - // <url>#<channel_name>[,<iframe_id>]|<data> - - // Get the fragment identifier. - var raw = window.location.hash; - if (!raw) { - return; - } - if (raw.charAt(0) == '#') { - raw = raw.substring(1); - } - var pos = raw.indexOf('|'); - var head = raw.substring(0, pos).split(','); - var channelName = head[0]; - var iframeId = head.length == 2 ? head[1] : null; - var frame = raw.substring(pos + 1); - - // Find the window object of the peer. - // - // The general structure of the frames looks like this: - // - peer1 - // - relay2 - // - peer2 - // - relay1 - // - // We are either relay1 or relay2. - - var win; - if (iframeId) { - // We are relay2 and need to deliver the data to peer2. - win = window.parent.frames[iframeId]; - } else { - // We are relay1 and need to deliver the data to peer1. - win = window.parent.parent; - } - - // Deliver the data. - try { - win['xpcRelay'](channelName, frame); - } catch (e) { - // Nothing useful can be done here. - // It would be great to inform the sender the delivery of this message - // failed, but this is not possible because we are already in the receiver's - // domain at this point. - } -})(); |