You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by et...@apache.org on 2008/02/26 04:19:51 UTC
svn commit: r631075 - in /incubator/shindig/trunk: features/rpc/rpc.js
java/gadgets/pom.xml javascript/container/gadgets.js
Author: etnu
Date: Mon Feb 25 19:19:50 2008
New Revision: 631075
URL: http://svn.apache.org/viewvc?rev=631075&view=rev
Log:
Committing SHINDIG-93.
Fixing pom.xml to produce compressed javascript in the right location again.
Modified:
incubator/shindig/trunk/features/rpc/rpc.js
incubator/shindig/trunk/java/gadgets/pom.xml
incubator/shindig/trunk/javascript/container/gadgets.js
Modified: incubator/shindig/trunk/features/rpc/rpc.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/features/rpc/rpc.js?rev=631075&r1=631074&r2=631075&view=diff
==============================================================================
--- incubator/shindig/trunk/features/rpc/rpc.js (original)
+++ incubator/shindig/trunk/features/rpc/rpc.js Mon Feb 25 19:19:50 2008
@@ -33,9 +33,13 @@
var iframePool = [];
var relayUrl = {};
var useLegacyProtocol = {};
+ var authToken = {};
var callId = 0;
var callbacks = {};
- var parentUrl = gadgets.util.getUrlParameters().parent || '';
+
+ var params = gadgets.util.getUrlParameters();
+ var parentUrl = params.parent || '';
+ authToken['..'] = params.rpctoken || params.ifpctok || params.st;
// Pick the most efficient RPC relay mechanism
var relayChannel = typeof document.postMessage === 'function' ? 'dpm' :
@@ -85,6 +89,13 @@
function process(rpc) {
if (rpc && typeof rpc.s === 'string' && typeof rpc.f === 'string' &&
rpc.a instanceof Array) {
+ // Validate auth token.
+ if (authToken[rpc.f]) {
+ // We allow type coercion here because all the url params are strings.
+ if (authToken[rpc.f] != rpc.t) {
+ throw new Error("Invalid auth token.");
+ }
+ }
var result = (services[rpc.s] || services['']).apply(rpc, rpc.a);
if (rpc.c) {
gadgets.rpc.call(rpc.f, '__cb', null, rpc.c, result);
@@ -229,7 +240,8 @@
s: serviceName,
f: from,
c: callback ? callId : 0,
- a: Array.prototype.slice.call(arguments, 3)
+ a: Array.prototype.slice.call(arguments, 3),
+ t: authToken[targetId]
});
switch (relayChannel) {
@@ -277,11 +289,26 @@
* Sets the relay URL of a target frame.
* @param {String} targetId Name of the target frame.
* @param {String} relayUrl Full relay URL of the target frame.
+ * @param {Boolean} opt_useLegacy True if this relay needs the legacy IFPC
+ * wire format.
*
* @member gadgets.rpc
*/
- setRelayUrl: function(targetId, relayUrl) {
+ setRelayUrl: function(targetId, relayUrl, opt_useLegacy) {
relayUrl[targetId] = relayUrl;
+ useLegacyProtocol[targetId] = !!opt_useLegacy;
+ },
+
+ /**
+ * Sets the auth token of a target frame.
+ * @param {String} targetId Name of the target frame.
+ * @param {String} token The authentication token to use for all
+ * calls to or from this target id.
+ *
+ * @member gadgets.rpc
+ */
+ setAuthToken: function(targetId, token) {
+ authToken[targetId] = token;
},
/**
Modified: incubator/shindig/trunk/java/gadgets/pom.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/pom.xml?rev=631075&r1=631074&r2=631075&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/pom.xml (original)
+++ incubator/shindig/trunk/java/gadgets/pom.xml Mon Feb 25 19:19:50 2008
@@ -123,7 +123,7 @@
<!-- <artifactId>maven-javascript-plugin</artifactId> -->
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
- <version>0.6</version>
+ <version>0.6.2</version>
<executions>
<execution>
<goals>
Modified: incubator/shindig/trunk/javascript/container/gadgets.js
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/gadgets.js?rev=631075&r1=631074&r2=631075&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/container/gadgets.js (original)
+++ incubator/shindig/trunk/javascript/container/gadgets.js Mon Feb 25 19:19:50 2008
@@ -452,6 +452,8 @@
'gadgets-gadget-user-prefs-dialog-action-bar';
gadgets.IfrGadget.prototype.cssClassTitleButton = 'gadgets-gadget-title-button';
gadgets.IfrGadget.prototype.cssClassGadgetContent = 'gadgets-gadget-content';
+gadgets.IfrGadget.prototype.rpcToken = (0xFFFFFFFF * Math.random()) | 0;
+gadgets.IfrGadget.prototype.rpcRelay = 'files/rpc_relay.html';
gadgets.IfrGadget.prototype.getTitleBarContent = function(continuation) {
continuation('<div class="' + this.cssClassTitleBar + '"><span id="' +
@@ -480,6 +482,8 @@
gadgets.IfrGadget.prototype.getMainContent = function(continuation) {
var iframeId = this.getIframeId();
+ gadgets.rpc.setRelayUrl(iframeId, this.serverBase_ + this.rpcRelay);
+ gadgets.rpc.setAuthToken(iframeId, this.rpcToken);
continuation('<div class="' + this.cssClassGadgetContent + '"><iframe id="' +
iframeId + '" name="' + iframeId + '" class="' + this.cssClassGadget +
'" src="' + this.getIframeUrl() +
@@ -497,7 +501,7 @@
gadgets.IfrGadget.prototype.getIframeUrl = function() {
return this.serverBase_ + 'ifr?url=' +
encodeURIComponent(this.specUrl) + '&synd=' + this.SYND + '&mid=' +
- this.id + this.getUserPrefsParams();
+ this.id + "&rpctoken=" + this.rpcToken + this.getUserPrefsParams();
};
gadgets.IfrGadget.prototype.getUserPrefsParams = function() {
Re: svn commit: r631075 - in /incubator/shindig/trunk: features/rpc/rpc.js java/gadgets/pom.xml javascript/container/gadgets.js
Posted by Cassie <do...@apache.org>.
The easiest way to fix this crazy bug was to re-upgrade our compressor. I
committed a change to do that, so things are working again.
On Wed, Feb 27, 2008 at 2:44 PM, Cassie <do...@apache.org> wrote:
> More specifically it looks like the version 0.6.2 breaks things... moving
> back to 0.6 restores the js.
>
> - Cassie
>
>
>
> On Wed, Feb 27, 2008 at 2:40 PM, Cassie <do...@google.com> wrote:
>
> > This change is breaking the samplecontainer javascript, I think it
> > specifically has to do with the caja-compatible-jquery.js file.
> > I will try to debug but do you think you can take a look?
> >
> > - Cassie
> >
> >
> > On Mon, Feb 25, 2008 at 7:19 PM, <et...@apache.org> wrote:
> >
> > > Author: etnu
> > > Date: Mon Feb 25 19:19:50 2008
> > > New Revision: 631075
> > >
> > > URL: http://svn.apache.org/viewvc?rev=631075&view=rev
> > > Log:
> > > Committing SHINDIG-93.
> > > Fixing pom.xml to produce compressed javascript in the right location
> > > again.
> > >
> > > Modified:
> > > incubator/shindig/trunk/features/rpc/rpc.js
> > > incubator/shindig/trunk/java/gadgets/pom.xml
> > > incubator/shindig/trunk/javascript/container/gadgets.js
> > >
> > > Modified: incubator/shindig/trunk/features/rpc/rpc.js
> > > URL:
> > > http://svn.apache.org/viewvc/incubator/shindig/trunk/features/rpc/rpc.js?rev=631075&r1=631074&r2=631075&view=diff
> > >
> > > ==============================================================================
> > > --- incubator/shindig/trunk/features/rpc/rpc.js (original)
> > > +++ incubator/shindig/trunk/features/rpc/rpc.js Mon Feb 25 19:19:50
> > > 2008
> > > @@ -33,9 +33,13 @@
> > > var iframePool = [];
> > > var relayUrl = {};
> > > var useLegacyProtocol = {};
> > > + var authToken = {};
> > > var callId = 0;
> > > var callbacks = {};
> > > - var parentUrl = gadgets.util.getUrlParameters().parent || '';
> > > +
> > > + var params = gadgets.util.getUrlParameters();
> > > + var parentUrl = params.parent || '';
> > > + authToken['..'] = params.rpctoken || params.ifpctok || params.st;
> > >
> > > // Pick the most efficient RPC relay mechanism
> > > var relayChannel = typeof document.postMessage === 'function' ?
> > > 'dpm' :
> > > @@ -85,6 +89,13 @@
> > > function process(rpc) {
> > > if (rpc && typeof rpc.s === 'string' && typeof rpc.f === 'string'
> > > &&
> > > rpc.a instanceof Array) {
> > > + // Validate auth token.
> > > + if (authToken[rpc.f]) {
> > > + // We allow type coercion here because all the url params are
> > > strings.
> > > + if (authToken[rpc.f] != rpc.t) {
> > > + throw new Error("Invalid auth token.");
> > > + }
> > > + }
> > > var result = (services[rpc.s] || services['']).apply(rpc,
> > > rpc.a);
> > > if (rpc.c) {
> > > gadgets.rpc.call(rpc.f, '__cb', null, rpc.c, result);
> > > @@ -229,7 +240,8 @@
> > > s: serviceName,
> > > f: from,
> > > c: callback ? callId : 0,
> > > - a: Array.prototype.slice.call(arguments, 3)
> > > + a: Array.prototype.slice.call(arguments, 3),
> > > + t: authToken[targetId]
> > > });
> > >
> > > switch (relayChannel) {
> > > @@ -277,11 +289,26 @@
> > > * Sets the relay URL of a target frame.
> > > * @param {String} targetId Name of the target frame.
> > > * @param {String} relayUrl Full relay URL of the target frame.
> > > + * @param {Boolean} opt_useLegacy True if this relay needs the
> > > legacy IFPC
> > > + * wire format.
> > > *
> > > * @member gadgets.rpc
> > > */
> > > - setRelayUrl: function(targetId, relayUrl) {
> > > + setRelayUrl: function(targetId, relayUrl, opt_useLegacy) {
> > > relayUrl[targetId] = relayUrl;
> > > + useLegacyProtocol[targetId] = !!opt_useLegacy;
> > > + },
> > > +
> > > + /**
> > > + * Sets the auth token of a target frame.
> > > + * @param {String} targetId Name of the target frame.
> > > + * @param {String} token The authentication token to use for all
> > > + * calls to or from this target id.
> > > + *
> > > + * @member gadgets.rpc
> > > + */
> > > + setAuthToken: function(targetId, token) {
> > > + authToken[targetId] = token;
> > > },
> > >
> > > /**
> > >
> > > Modified: incubator/shindig/trunk/java/gadgets/pom.xml
> > > URL:
> > > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/pom.xml?rev=631075&r1=631074&r2=631075&view=diff
> > >
> > > ==============================================================================
> > > --- incubator/shindig/trunk/java/gadgets/pom.xml (original)
> > > +++ incubator/shindig/trunk/java/gadgets/pom.xml Mon Feb 25 19:19:50
> > > 2008
> > > @@ -123,7 +123,7 @@
> > > <!-- <artifactId>maven-javascript-plugin</artifactId> -->
> > > <groupId>net.sf.alchim</groupId>
> > > <artifactId>yuicompressor-maven-plugin</artifactId>
> > > - <version>0.6</version>
> > > + <version>0.6.2</version>
> > > <executions>
> > > <execution>
> > > <goals>
> > >
> > > Modified: incubator/shindig/trunk/javascript/container/gadgets.js
> > > URL:
> > > http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/gadgets.js?rev=631075&r1=631074&r2=631075&view=diff
> > >
> > > ==============================================================================
> > > --- incubator/shindig/trunk/javascript/container/gadgets.js (original)
> > > +++ incubator/shindig/trunk/javascript/container/gadgets.js Mon Feb 25
> > > 19:19:50 2008
> > > @@ -452,6 +452,8 @@
> > > 'gadgets-gadget-user-prefs-dialog-action-bar';
> > > gadgets.IfrGadget.prototype.cssClassTitleButton =
> > > 'gadgets-gadget-title-button';
> > > gadgets.IfrGadget.prototype.cssClassGadgetContent =
> > > 'gadgets-gadget-content';
> > > +gadgets.IfrGadget.prototype.rpcToken = (0xFFFFFFFF * Math.random()) |
> > > 0;
> > > +gadgets.IfrGadget.prototype.rpcRelay = 'files/rpc_relay.html';
> > >
> > > gadgets.IfrGadget.prototype.getTitleBarContent =
> > > function(continuation) {
> > > continuation('<div class="' + this.cssClassTitleBar + '"><span id="'
> > > +
> > > @@ -480,6 +482,8 @@
> > >
> > > gadgets.IfrGadget.prototype.getMainContent = function(continuation) {
> > > var iframeId = this.getIframeId();
> > > + gadgets.rpc.setRelayUrl(iframeId, this.serverBase_ +
> > > this.rpcRelay);
> > > + gadgets.rpc.setAuthToken(iframeId, this.rpcToken);
> > > continuation('<div class="' + this.cssClassGadgetContent +
> > > '"><iframe id="' +
> > > iframeId + '" name="' + iframeId + '" class="' +
> > > this.cssClassGadget +
> > > '" src="' + this.getIframeUrl() +
> > > @@ -497,7 +501,7 @@
> > > gadgets.IfrGadget.prototype.getIframeUrl = function() {
> > > return this.serverBase_ + 'ifr?url=' +
> > > encodeURIComponent(this.specUrl) + '&synd=' + this.SYND +
> > > '&mid=' +
> > > - this.id + this.getUserPrefsParams();
> > > + this.id + "&rpctoken=" + this.rpcToken +
> > > this.getUserPrefsParams();
> > > };
> > >
> > > gadgets.IfrGadget.prototype.getUserPrefsParams = function() {
> > >
> > >
> > >
> >
>
Re: svn commit: r631075 - in /incubator/shindig/trunk: features/rpc/rpc.js java/gadgets/pom.xml javascript/container/gadgets.js
Posted by Cassie <do...@apache.org>.
More specifically it looks like the version 0.6.2 breaks things... moving
back to 0.6 restores the js.
- Cassie
On Wed, Feb 27, 2008 at 2:40 PM, Cassie <do...@google.com> wrote:
> This change is breaking the samplecontainer javascript, I think it
> specifically has to do with the caja-compatible-jquery.js file.
> I will try to debug but do you think you can take a look?
>
> - Cassie
>
>
> On Mon, Feb 25, 2008 at 7:19 PM, <et...@apache.org> wrote:
>
> > Author: etnu
> > Date: Mon Feb 25 19:19:50 2008
> > New Revision: 631075
> >
> > URL: http://svn.apache.org/viewvc?rev=631075&view=rev
> > Log:
> > Committing SHINDIG-93.
> > Fixing pom.xml to produce compressed javascript in the right location
> > again.
> >
> > Modified:
> > incubator/shindig/trunk/features/rpc/rpc.js
> > incubator/shindig/trunk/java/gadgets/pom.xml
> > incubator/shindig/trunk/javascript/container/gadgets.js
> >
> > Modified: incubator/shindig/trunk/features/rpc/rpc.js
> > URL:
> > http://svn.apache.org/viewvc/incubator/shindig/trunk/features/rpc/rpc.js?rev=631075&r1=631074&r2=631075&view=diff
> >
> > ==============================================================================
> > --- incubator/shindig/trunk/features/rpc/rpc.js (original)
> > +++ incubator/shindig/trunk/features/rpc/rpc.js Mon Feb 25 19:19:50 2008
> > @@ -33,9 +33,13 @@
> > var iframePool = [];
> > var relayUrl = {};
> > var useLegacyProtocol = {};
> > + var authToken = {};
> > var callId = 0;
> > var callbacks = {};
> > - var parentUrl = gadgets.util.getUrlParameters().parent || '';
> > +
> > + var params = gadgets.util.getUrlParameters();
> > + var parentUrl = params.parent || '';
> > + authToken['..'] = params.rpctoken || params.ifpctok || params.st;
> >
> > // Pick the most efficient RPC relay mechanism
> > var relayChannel = typeof document.postMessage === 'function' ? 'dpm'
> > :
> > @@ -85,6 +89,13 @@
> > function process(rpc) {
> > if (rpc && typeof rpc.s === 'string' && typeof rpc.f === 'string' &&
> > rpc.a instanceof Array) {
> > + // Validate auth token.
> > + if (authToken[rpc.f]) {
> > + // We allow type coercion here because all the url params are
> > strings.
> > + if (authToken[rpc.f] != rpc.t) {
> > + throw new Error("Invalid auth token.");
> > + }
> > + }
> > var result = (services[rpc.s] || services['']).apply(rpc, rpc.a);
> > if (rpc.c) {
> > gadgets.rpc.call(rpc.f, '__cb', null, rpc.c, result);
> > @@ -229,7 +240,8 @@
> > s: serviceName,
> > f: from,
> > c: callback ? callId : 0,
> > - a: Array.prototype.slice.call(arguments, 3)
> > + a: Array.prototype.slice.call(arguments, 3),
> > + t: authToken[targetId]
> > });
> >
> > switch (relayChannel) {
> > @@ -277,11 +289,26 @@
> > * Sets the relay URL of a target frame.
> > * @param {String} targetId Name of the target frame.
> > * @param {String} relayUrl Full relay URL of the target frame.
> > + * @param {Boolean} opt_useLegacy True if this relay needs the
> > legacy IFPC
> > + * wire format.
> > *
> > * @member gadgets.rpc
> > */
> > - setRelayUrl: function(targetId, relayUrl) {
> > + setRelayUrl: function(targetId, relayUrl, opt_useLegacy) {
> > relayUrl[targetId] = relayUrl;
> > + useLegacyProtocol[targetId] = !!opt_useLegacy;
> > + },
> > +
> > + /**
> > + * Sets the auth token of a target frame.
> > + * @param {String} targetId Name of the target frame.
> > + * @param {String} token The authentication token to use for all
> > + * calls to or from this target id.
> > + *
> > + * @member gadgets.rpc
> > + */
> > + setAuthToken: function(targetId, token) {
> > + authToken[targetId] = token;
> > },
> >
> > /**
> >
> > Modified: incubator/shindig/trunk/java/gadgets/pom.xml
> > URL:
> > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/pom.xml?rev=631075&r1=631074&r2=631075&view=diff
> >
> > ==============================================================================
> > --- incubator/shindig/trunk/java/gadgets/pom.xml (original)
> > +++ incubator/shindig/trunk/java/gadgets/pom.xml Mon Feb 25 19:19:50
> > 2008
> > @@ -123,7 +123,7 @@
> > <!-- <artifactId>maven-javascript-plugin</artifactId> -->
> > <groupId>net.sf.alchim</groupId>
> > <artifactId>yuicompressor-maven-plugin</artifactId>
> > - <version>0.6</version>
> > + <version>0.6.2</version>
> > <executions>
> > <execution>
> > <goals>
> >
> > Modified: incubator/shindig/trunk/javascript/container/gadgets.js
> > URL:
> > http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/gadgets.js?rev=631075&r1=631074&r2=631075&view=diff
> >
> > ==============================================================================
> > --- incubator/shindig/trunk/javascript/container/gadgets.js (original)
> > +++ incubator/shindig/trunk/javascript/container/gadgets.js Mon Feb 25
> > 19:19:50 2008
> > @@ -452,6 +452,8 @@
> > 'gadgets-gadget-user-prefs-dialog-action-bar';
> > gadgets.IfrGadget.prototype.cssClassTitleButton =
> > 'gadgets-gadget-title-button';
> > gadgets.IfrGadget.prototype.cssClassGadgetContent =
> > 'gadgets-gadget-content';
> > +gadgets.IfrGadget.prototype.rpcToken = (0xFFFFFFFF * Math.random()) |
> > 0;
> > +gadgets.IfrGadget.prototype.rpcRelay = 'files/rpc_relay.html';
> >
> > gadgets.IfrGadget.prototype.getTitleBarContent = function(continuation)
> > {
> > continuation('<div class="' + this.cssClassTitleBar + '"><span id="' +
> > @@ -480,6 +482,8 @@
> >
> > gadgets.IfrGadget.prototype.getMainContent = function(continuation) {
> > var iframeId = this.getIframeId();
> > + gadgets.rpc.setRelayUrl(iframeId, this.serverBase_ + this.rpcRelay);
> > + gadgets.rpc.setAuthToken(iframeId, this.rpcToken);
> > continuation('<div class="' + this.cssClassGadgetContent + '"><iframe
> > id="' +
> > iframeId + '" name="' + iframeId + '" class="' +
> > this.cssClassGadget +
> > '" src="' + this.getIframeUrl() +
> > @@ -497,7 +501,7 @@
> > gadgets.IfrGadget.prototype.getIframeUrl = function() {
> > return this.serverBase_ + 'ifr?url=' +
> > encodeURIComponent(this.specUrl) + '&synd=' + this.SYND + '&mid='
> > +
> > - this.id + this.getUserPrefsParams();
> > + this.id + "&rpctoken=" + this.rpcToken +
> > this.getUserPrefsParams();
> > };
> >
> > gadgets.IfrGadget.prototype.getUserPrefsParams = function() {
> >
> >
> >
>
Re: svn commit: r631075 - in /incubator/shindig/trunk: features/rpc/rpc.js java/gadgets/pom.xml javascript/container/gadgets.js
Posted by Cassie <do...@google.com>.
This change is breaking the samplecontainer javascript, I think it
specifically has to do with the caja-compatible-jquery.js file.
I will try to debug but do you think you can take a look?
- Cassie
On Mon, Feb 25, 2008 at 7:19 PM, <et...@apache.org> wrote:
> Author: etnu
> Date: Mon Feb 25 19:19:50 2008
> New Revision: 631075
>
> URL: http://svn.apache.org/viewvc?rev=631075&view=rev
> Log:
> Committing SHINDIG-93.
> Fixing pom.xml to produce compressed javascript in the right location
> again.
>
> Modified:
> incubator/shindig/trunk/features/rpc/rpc.js
> incubator/shindig/trunk/java/gadgets/pom.xml
> incubator/shindig/trunk/javascript/container/gadgets.js
>
> Modified: incubator/shindig/trunk/features/rpc/rpc.js
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/rpc/rpc.js?rev=631075&r1=631074&r2=631075&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/features/rpc/rpc.js (original)
> +++ incubator/shindig/trunk/features/rpc/rpc.js Mon Feb 25 19:19:50 2008
> @@ -33,9 +33,13 @@
> var iframePool = [];
> var relayUrl = {};
> var useLegacyProtocol = {};
> + var authToken = {};
> var callId = 0;
> var callbacks = {};
> - var parentUrl = gadgets.util.getUrlParameters().parent || '';
> +
> + var params = gadgets.util.getUrlParameters();
> + var parentUrl = params.parent || '';
> + authToken['..'] = params.rpctoken || params.ifpctok || params.st;
>
> // Pick the most efficient RPC relay mechanism
> var relayChannel = typeof document.postMessage === 'function' ? 'dpm' :
> @@ -85,6 +89,13 @@
> function process(rpc) {
> if (rpc && typeof rpc.s === 'string' && typeof rpc.f === 'string' &&
> rpc.a instanceof Array) {
> + // Validate auth token.
> + if (authToken[rpc.f]) {
> + // We allow type coercion here because all the url params are
> strings.
> + if (authToken[rpc.f] != rpc.t) {
> + throw new Error("Invalid auth token.");
> + }
> + }
> var result = (services[rpc.s] || services['']).apply(rpc, rpc.a);
> if (rpc.c) {
> gadgets.rpc.call(rpc.f, '__cb', null, rpc.c, result);
> @@ -229,7 +240,8 @@
> s: serviceName,
> f: from,
> c: callback ? callId : 0,
> - a: Array.prototype.slice.call(arguments, 3)
> + a: Array.prototype.slice.call(arguments, 3),
> + t: authToken[targetId]
> });
>
> switch (relayChannel) {
> @@ -277,11 +289,26 @@
> * Sets the relay URL of a target frame.
> * @param {String} targetId Name of the target frame.
> * @param {String} relayUrl Full relay URL of the target frame.
> + * @param {Boolean} opt_useLegacy True if this relay needs the legacy
> IFPC
> + * wire format.
> *
> * @member gadgets.rpc
> */
> - setRelayUrl: function(targetId, relayUrl) {
> + setRelayUrl: function(targetId, relayUrl, opt_useLegacy) {
> relayUrl[targetId] = relayUrl;
> + useLegacyProtocol[targetId] = !!opt_useLegacy;
> + },
> +
> + /**
> + * Sets the auth token of a target frame.
> + * @param {String} targetId Name of the target frame.
> + * @param {String} token The authentication token to use for all
> + * calls to or from this target id.
> + *
> + * @member gadgets.rpc
> + */
> + setAuthToken: function(targetId, token) {
> + authToken[targetId] = token;
> },
>
> /**
>
> Modified: incubator/shindig/trunk/java/gadgets/pom.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/pom.xml?rev=631075&r1=631074&r2=631075&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/java/gadgets/pom.xml (original)
> +++ incubator/shindig/trunk/java/gadgets/pom.xml Mon Feb 25 19:19:50 2008
> @@ -123,7 +123,7 @@
> <!-- <artifactId>maven-javascript-plugin</artifactId> -->
> <groupId>net.sf.alchim</groupId>
> <artifactId>yuicompressor-maven-plugin</artifactId>
> - <version>0.6</version>
> + <version>0.6.2</version>
> <executions>
> <execution>
> <goals>
>
> Modified: incubator/shindig/trunk/javascript/container/gadgets.js
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/container/gadgets.js?rev=631075&r1=631074&r2=631075&view=diff
>
> ==============================================================================
> --- incubator/shindig/trunk/javascript/container/gadgets.js (original)
> +++ incubator/shindig/trunk/javascript/container/gadgets.js Mon Feb 25
> 19:19:50 2008
> @@ -452,6 +452,8 @@
> 'gadgets-gadget-user-prefs-dialog-action-bar';
> gadgets.IfrGadget.prototype.cssClassTitleButton =
> 'gadgets-gadget-title-button';
> gadgets.IfrGadget.prototype.cssClassGadgetContent =
> 'gadgets-gadget-content';
> +gadgets.IfrGadget.prototype.rpcToken = (0xFFFFFFFF * Math.random()) | 0;
> +gadgets.IfrGadget.prototype.rpcRelay = 'files/rpc_relay.html';
>
> gadgets.IfrGadget.prototype.getTitleBarContent = function(continuation) {
> continuation('<div class="' + this.cssClassTitleBar + '"><span id="' +
> @@ -480,6 +482,8 @@
>
> gadgets.IfrGadget.prototype.getMainContent = function(continuation) {
> var iframeId = this.getIframeId();
> + gadgets.rpc.setRelayUrl(iframeId, this.serverBase_ + this.rpcRelay);
> + gadgets.rpc.setAuthToken(iframeId, this.rpcToken);
> continuation('<div class="' + this.cssClassGadgetContent + '"><iframe
> id="' +
> iframeId + '" name="' + iframeId + '" class="' + this.cssClassGadget
> +
> '" src="' + this.getIframeUrl() +
> @@ -497,7 +501,7 @@
> gadgets.IfrGadget.prototype.getIframeUrl = function() {
> return this.serverBase_ + 'ifr?url=' +
> encodeURIComponent(this.specUrl) + '&synd=' + this.SYND + '&mid=' +
> - this.id + this.getUserPrefsParams();
> + this.id + "&rpctoken=" + this.rpcToken + this.getUserPrefsParams();
> };
>
> gadgets.IfrGadget.prototype.getUserPrefsParams = function() {
>
>
>