r1858 - in trunk/src/main: java/cc/kune/core/public java/com/google/wave/splash/text webapp webapp/others/splash/js
Author: vjrj_ Date: 2012-04-19 15:12:45 +0200 (Thu, 19 Apr 2012) New Revision: 1858 Added: trunk/src/main/webapp/others/splash/js/wave-rpc.js Modified: trunk/src/main/java/cc/kune/core/public/ws.css trunk/src/main/java/com/google/wave/splash/text/ContentRenderer.java trunk/src/main/webapp/others/splash/js/permalink_client.js trunk/src/main/webapp/ws.html Log: NEW - # 210: The rendering of waves should be the same logged and not logged http://kune.ourproject.org/issues/ticket/210 Modified: trunk/src/main/java/cc/kune/core/public/ws.css =================================================================== --- trunk/src/main/java/cc/kune/core/public/ws.css 2012-04-19 04:37:12 UTC (rev 1857) +++ trunk/src/main/java/cc/kune/core/public/ws.css 2012-04-19 13:12:45 UTC (rev 1858) @@ -1,4 +1,4 @@ -GCHARSET "UTF-8 "; +GCHARSET "UTF-8 "; body { background-color: transparent; color: black; @@ -975,8 +975,8 @@ color: gray !important; border-color: #CCCCCC !important; background: inherits !important; - kfilter: alpha(opacity = - 50) !important; + kfilter: alpha(opacity = + 50) !important; -moz-opacity: 0.50 !important; -khtml-opacity: 0.50 !important; opacity: 0.50 !important; @@ -1268,8 +1268,8 @@ -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px; border-bottom-left-radius: 5px; - kfilter: alpha(opacity = - 90); + kfilter: alpha(opacity = + 90); -moz-opacity: 0.90; -khtml-opacity: 0.90; opacity: 0.90; @@ -1613,4 +1613,11 @@ div.docEditorContainer div.thread div.time { color: #A05A2C; -} \ No newline at end of file +} + +.k-gadget-signin { + border: #CCC dashed 1px; + padding: 10px; + font-style: italic; + color: #A05A2C; +} Modified: trunk/src/main/java/com/google/wave/splash/text/ContentRenderer.java =================================================================== --- trunk/src/main/java/com/google/wave/splash/text/ContentRenderer.java 2012-04-19 04:37:12 UTC (rev 1857) +++ trunk/src/main/java/com/google/wave/splash/text/ContentRenderer.java 2012-04-19 13:12:45 UTC (rev 1858) @@ -35,7 +35,6 @@ import com.google.wave.api.Attachment; import com.google.wave.api.Element; import com.google.wave.api.ElementType; -import com.google.wave.api.Gadget; import com.google.wave.api.Line; import com.google.wave.splash.web.template.WaveRenderer; @@ -242,11 +241,12 @@ } break; case GADGET: - gadgetRenderer.render((Gadget) element, contributors, builder); + // kune patch: disabled because breaks the inline replies + builder.append("<div class=\"k-gadget-signin\">Sign-in and participate to see this content.</div>"); + // gadgetRenderer.render((Gadget) element, contributors, builder); break; case INLINE_BLIP: waveRenderer.renderInlineReply(element, index, builder); - break; default: // Ignore all others. Modified: trunk/src/main/webapp/others/splash/js/permalink_client.js =================================================================== --- trunk/src/main/webapp/others/splash/js/permalink_client.js 2012-04-19 04:37:12 UTC (rev 1857) +++ trunk/src/main/webapp/others/splash/js/permalink_client.js 2012-04-19 13:12:45 UTC (rev 1858) @@ -29,7 +29,6 @@ * Application entry point. */ $(document).ready(function() { - /* var path = window.location.pathname; // adjust the height of the content frame to fill the iframe height @@ -96,13 +95,14 @@ var rpc = window.wave.Rpc.getInstance(); - */ - initGadgetSystem(); -// rpc.rpcOpenWave(); + // kune patch: No getting the wave async or init gadget + // + //initGadgetSystem(); + //rpc.rpcOpenWave(); //setInterval(function() { // This is needed to specify the scope of the function. - // window.wave.Rpc.getInstance().rpcAsyncUpdate(); - //}, RPC_UPDATE_INTERVAL_MS); + //window.wave.Rpc.getInstance().rpcAsyncUpdate(); + //}, RPC_UPDATE_INTERVAL_MS); }); Added: trunk/src/main/webapp/others/splash/js/wave-rpc.js =================================================================== --- trunk/src/main/webapp/others/splash/js/wave-rpc.js (rev 0) +++ trunk/src/main/webapp/others/splash/js/wave-rpc.js 2012-04-19 13:12:45 UTC (rev 1858) @@ -0,0 +1,1149 @@ +window['___jsl'] = window['___jsl'] || {};(window['___jsl']['ci'] = (window['___jsl']['ci'] || [])).push({"rpc":{"commSwf":"//xpc.googleusercontent.com/gadgets/xpc.swf","passReferrer":"p2c:query","parentRelayUrl":"/rpc_relay.html"},"core.io":{"jsonProxyUrl":"//%host%/gadgets/makeRequest","proxyUrl":"//www.gmodules.com/gadgets/proxy/refresh=%refresh%&container=%container%%rewriteMime%&gadget=%gadget%/%rawurl%"}});window['___jsl'] = window['___jsl'] || {};window['___jsl']['ms'] = 'https://apis.google.com';(window['___jsl']['ci'] = (window['___jsl']['ci'] || [])).push({"rpc":{"commSwf":"//xpc.googleusercontent.com/gadgets/xpc.swf","passReferrer":"p2c:query","parentRelayUrl":"/rpc_relay.html"},"core.io":{"jsonProxyUrl":"//%host%/gadgets/makeRequest","proxyUrl":"//www.gmodules.com/gadgets/proxy/refresh=%refresh%&container=%container%%rewriteMime%&gadget=%gadget%/%rawurl%"}}); +/* [start] feature=gapi-globals */ +var gapi=window.gapi||{};gapi.client=window.gapi&&window.gapi.client||{}; +; +; + +/* [end] feature=gapi-globals */ + +/* [start] feature=globals */ +var gadgets=window.gadgets||{},shindig=window.shindig||{},osapi=window.osapi=window.osapi||{},google=window.google||{}; +; +; + +/* [end] feature=globals */ + +/* [start] feature=taming */ +var safeJSON=window.safeJSON; +var tamings___=window.tamings___||[]; +var bridge___; +var caja___=window.caja___; +var ___=window.___;; + +/* [end] feature=taming */ + +/* [start] feature=core.config.base */ +window['___cfg'] = window['___cfg'] || window['___gcfg'];; +if(!window.gadgets["config"]){gadgets.config=function(){var f; +var h={}; +var b={}; +function c(j,l){for(var k in l){if(!l.hasOwnProperty(k)){continue +}if(typeof j[k]==="object"&&typeof l[k]==="object"){c(j[k],l[k]) +}else{j[k]=l[k] +}}}function i(){var j=document.scripts||document.getElementsByTagName("script"); +if(!j||j.length==0){return null +}var m; +if(f.u){for(var k=0; +!m&&k<j.length; +++k){var l=j[k]; +if(l.src&&l.src.indexOf(f.u)==0){m=l +}}}if(!m){m=j[j.length-1] +}if(!m.src){return null +}return m +}function a(j){var k=""; +if(j.nodeType==3||j.nodeType==4){k=j.nodeValue +}else{if(j.innerText){k=j.innerText +}else{if(j.innerHTML){k=j.innerHTML +}else{if(j.firstChild){var l=[]; +for(var m=j.firstChild; +m; +m=m.nextSibling){l.push(a(m)) +}k=l.join("") +}}}}return k +}function e(k){if(!k){return{} +}var j; +while(k.charCodeAt(k.length-1)==0){k=k.substring(0,k.length-1) +}try{j=(new Function("return ("+k+"\n)"))() +}catch(l){}if(typeof j==="object"){return j +}try{j=(new Function("return ({"+k+"\n})"))() +}catch(l){}return typeof j==="object"?j:{} +}function g(n){var p=window.___cfg; +if(p){c(n,p) +}var o=i(); +if(!o){return +}var k=a(o); +var j=e(k); +if(f.f&&f.f.length==1){var m=f.f[0]; +if(!j[m]){var l={}; +l[f.f[0]]=j; +j=l +}}c(n,j) +}function d(o){for(var l in h){if(h.hasOwnProperty(l)){var n=h[l]; +for(var m=0,k=n.length; +m<k; +++m){o(l,n[m]) +}}}}return{register:function(l,k,j,m){var n=h[l]; +if(!n){n=[]; +h[l]=n +}n.push({validators:k||{},callback:j,callOnUpdate:m}) +},get:function(j){if(j){return b[j]||{} +}return b +},init:function(k,j){f=window.___jsl||{}; +c(b,k); +g(b); +var l=window.___config||{}; +c(b,l); +d(function(q,p){var o=b[q]; +if(o&&!j){var m=p.validators; +for(var n in m){if(m.hasOwnProperty(n)){if(!m[n](o[n])){throw new Error('Invalid config value "'+o[n]+'" for parameter "'+n+'" in component "'+q+'"') +}}}}if(p.callback){p.callback(b) +}}) +},update:function(k,p){var o=(window.gapi&&window.gapi["config"]&&window.gapi["config"]["update"]); +if(!p&&o){o(k) +}var n=[]; +d(function(q,j){if(k.hasOwnProperty(q)||(p&&b&&b[q])){if(j.callback&&j.callOnUpdate){n.push(j.callback) +}}}); +b=p?{}:b||{}; +c(b,k); +for(var m=0,l=n.length; +m<l; +++m){n[m](b) +}}} +}() +}else{gadgets.config=window.gadgets["config"]; +gadgets.config.register=gadgets.config.register; +gadgets.config.get=gadgets.config.get; +gadgets.config.init=gadgets.config.init; +gadgets.config.update=gadgets.config.update +};; + +/* [end] feature=core.config.base */ + +/* [start] feature=core.log */ +gadgets.log=(function(){var e=1; +var a=2; +var f=3; +var c=4; +var d=function(i){b(e,i) +}; +gadgets.warn=function(i){b(a,i) +}; +gadgets.error=function(i){b(f,i) +}; +gadgets.setLogLevel=function(i){h=i +}; +function b(k,i){if(k<h||!g){return +}if(k===a&&g.warn){g.warn(i) +}else{if(k===f&&g.error){try{g.error(i) +}catch(j){}}else{if(g.log){g.log(i) +}}}}d.INFO=e; +d.WARNING=a; +d.NONE=c; +var h=e; +var g=window.console?window.console:window.opera?window.opera.postError:undefined; +return d +})();; +; + +/* [end] feature=core.log */ + +/* [start] feature=core.config */ +(function(){gadgets.config.EnumValidator=function(d){var c=[]; +if(arguments.length>1){for(var b=0,a; +(a=arguments[b]); +++b){c.push(a) +}}else{c=d +}return function(f){for(var e=0,g; +(g=c[e]); +++e){if(f===c[e]){return true +}}return false +} +}; +gadgets.config.RegExValidator=function(a){return function(b){return a.test(b) +} +}; +gadgets.config.ExistsValidator=function(a){return typeof a!=="undefined" +}; +gadgets.config.NonEmptyStringValidator=function(a){return typeof a==="string"&&a.length>0 +}; +gadgets.config.BooleanValidator=function(a){return typeof a==="boolean" +}; +gadgets.config.LikeValidator=function(a){return function(c){for(var d in a){if(a.hasOwnProperty(d)){var b=a[d]; +if(!b(c[d])){return false +}}}return true +} +} +})();; + +/* [end] feature=core.config */ + +/* [start] feature=core.util.base */ +gadgets.util=gadgets.util||{}; +(function(){gadgets.util.makeClosure=function(d,f,e){var c=[]; +for(var b=2,a=arguments.length; +b<a; +++b){c.push(arguments[b]) +}return function(){var g=c.slice(); +for(var k=0,h=arguments.length; +k<h; +++k){g.push(arguments[k]) +}return f.apply(d,g) +} +}; +gadgets.util.makeEnum=function(b){var c,a,d={}; +for(c=0; +(a=b[c]); +++c){d[a]=a +}return d +} +})();; + +/* [end] feature=core.util.base */ + +/* [start] feature=core.util.dom */ +gadgets.util=gadgets.util||{}; +(function(){var c="http://www.w3.org/1999/xhtml"; +function b(f,e){var h=e||{}; +for(var g in h){if(h.hasOwnProperty(g)){f[g]=h[g] +}}}function d(g,f){var e=["<",g]; +var i=f||{}; +for(var h in i){if(i.hasOwnProperty(h)){e.push(" "); +e.push(h); +e.push('="'); +e.push(gadgets.util.escapeString(i[h])); +e.push('"') +}}e.push("></"); +e.push(g); +e.push(">"); +return e.join("") +}function a(f){var g=""; +if(f.nodeType==3||f.nodeType==4){g=f.nodeValue +}else{if(f.innerText){g=f.innerText +}else{if(f.innerHTML){g=f.innerHTML +}else{if(f.firstChild){var e=[]; +for(var h=f.firstChild; +h; +h=h.nextSibling){e.push(a(h)) +}g=e.join("") +}}}}return g +}gadgets.util.createElement=function(f){var e; +if((!document.body)||document.body.namespaceURI){try{e=document.createElementNS(c,f) +}catch(g){}}return e||document.createElement(f) +}; +gadgets.util.createIframeElement=function(g){var i=gadgets.util.createElement("iframe"); +try{var e=d("iframe",g); +var f=gadgets.util.createElement(e); +if(f&&((!i)||((f.tagName==i.tagName)&&(f.namespaceURI==i.namespaceURI)))){i=f +}}catch(h){}b(i,g); +return i +}; +gadgets.util.getBodyElement=function(){if(document.body){return document.body +}try{var f=document.getElementsByTagNameNS(c,"body"); +if(f&&(f.length==1)){return f[0] +}}catch(e){}return document.documentElement||document +}; +gadgets.util.getInnerText=function(e){return a(e) +} +})();; + +/* [end] feature=core.util.dom */ + +/* [start] feature=core.util.event */ +gadgets.util=gadgets.util||{}; +(function(){gadgets.util.attachBrowserEvent=function(c,b,d,a){if(typeof c.addEventListener!="undefined"){c.addEventListener(b,d,a) +}else{if(typeof c.attachEvent!="undefined"){c.attachEvent("on"+b,d) +}else{gadgets.warn("cannot attachBrowserEvent: "+b) +}}}; +gadgets.util.removeBrowserEvent=function(c,b,d,a){if(c.removeEventListener){c.removeEventListener(b,d,a) +}else{if(c.detachEvent){c.detachEvent("on"+b,d) +}else{gadgets.warn("cannot removeBrowserEvent: "+b) +}}} +})();; + +/* [end] feature=core.util.event */ + +/* [start] feature=core.util.onload */ +gadgets.util=gadgets.util||{}; +(function(){var a=[]; +gadgets.util.registerOnLoadHandler=function(b){a.push(b) +}; +gadgets.util.runOnLoadHandlers=function(){for(var c=0,b=a.length; +c<b; +++c){a[c]() +}} +})();; + +/* [end] feature=core.util.onload */ + +/* [start] feature=core.util.string */ +gadgets.util=gadgets.util||{}; +(function(){var a={0:false,10:true,13:true,34:true,39:true,60:true,62:true,92:true,8232:true,8233:true,65282:true,65287:true,65308:true,65310:true,65340:true}; +function b(c,d){return String.fromCharCode(d) +}gadgets.util.escape=function(c,g){if(!c){return c +}else{if(typeof c==="string"){return gadgets.util.escapeString(c) +}else{if(typeof c==="array"){for(var f=0,d=c.length; +f<d; +++f){c[f]=gadgets.util.escape(c[f]) +}}else{if(typeof c==="object"&&g){var e={}; +for(var h in c){if(c.hasOwnProperty(h)){e[gadgets.util.escapeString(h)]=gadgets.util.escape(c[h],true) +}}return e +}}}}return c +}; +gadgets.util.escapeString=function(g){if(!g){return g +}var d=[],f,h; +for(var e=0,c=g.length; +e<c; +++e){f=g.charCodeAt(e); +h=a[f]; +if(h===true){d.push("",f,";") +}else{if(h!==false){d.push(g.charAt(e)) +}}}return d.join("") +}; +gadgets.util.unescapeString=function(c){if(!c){return c +}return c.replace(/([0-9]+);/g,b) +} +})();; + +/* [end] feature=core.util.string */ + +/* [start] feature=core.util.urlparams */ +gadgets.util=gadgets.util||{}; +(function(){var a=null; +function b(e){var f; +var c=e.indexOf("?"); +var d=e.indexOf("#"); +if(d===-1){f=e.substr(c+1) +}else{f=[e.substr(c+1,d-c-1),"&",e.substr(d+1)].join("") +}return f.split("&") +}gadgets.util.getUrlParameters=function(p){var d=typeof p==="undefined"; +if(a!==null&&d){return a +}var l={}; +var f=b(p||document.location.href); +var n=window.decodeURIComponent?decodeURIComponent:unescape; +for(var h=0,g=f.length; +h<g; +++h){var m=f[h].indexOf("="); +if(m===-1){continue +}var c=f[h].substring(0,m); +var o=f[h].substring(m+1); +o=o.replace(/\+/g," "); +try{l[c]=n(o) +}catch(k){}}if(d){a=l +}return l +}; +gadgets.util.getUrlParameters() +})();; + +/* [end] feature=core.util.urlparams */ + +/* [start] feature=core.util */ +gadgets.util=gadgets.util||{}; +(function(){var b={}; +var a={}; +function c(d){b=d["core.util"]||{} +}if(gadgets.config){gadgets.config.register("core.util",null,c) +}gadgets.util.getFeatureParameters=function(d){return typeof b[d]==="undefined"?null:b[d] +}; +gadgets.util.hasFeature=function(d){return typeof b[d]!=="undefined" +}; +gadgets.util.getServices=function(){return a +} +})();; + +/* [end] feature=core.util */ + +/* [start] feature=shindig.auth */ +shindig.Auth=function(){var authToken=null; +var trusted=null; +function addParamsToToken(urlParams){var args=authToken.split("&"); +for(var i=0; +i<args.length; +i++){var nameAndValue=args[i].split("="); +if(nameAndValue.length===2){var name=nameAndValue[0]; +var value=nameAndValue[1]; +if(value==="$"){value=encodeURIComponent(urlParams[name]); +args[i]=name+"="+value +}}}authToken=args.join("&") +}function init(configuration){var urlParams=gadgets.util.getUrlParameters(); +var config=configuration["shindig.auth"]||{}; +if(config.authToken){authToken=config.authToken +}else{if(urlParams.st){authToken=urlParams.st +}}if(authToken!==null){addParamsToToken(urlParams) +}if(config.trustedJson){trusted=(eval("("+config.trustedJson+")")) +}}gadgets.config.register("shindig.auth",null,init); +return{getSecurityToken:function(){return authToken +},updateSecurityToken:function(newToken){authToken=newToken +},getTrustedData:function(){return trusted +}} +};; +shindig.auth=new shindig.Auth();; + +/* [end] feature=shindig.auth */ + +/* [start] feature=core.json */ +if(window.JSON&&window.JSON.parse&&window.JSON.stringify){gadgets.json=(function(){var a=/___$/; +function b(d,e){var c=this[d]; +return c +}return{parse:function(d){try{return window.JSON.parse(d) +}catch(c){return false +}},stringify:function(d){var h=window.JSON.stringify; +function f(e){return h.call(this,e,b) +}var g=(Array.prototype.toJSON&&h([{x:1}])==='"[{\\"x\\": 1}]"')?f:h; +try{return g(d,function(i,e){return !a.test(i)?e:void 0 +}) +}catch(c){return null +}}} +})() +};; +; +if(!(window.JSON&&window.JSON.parse&&window.JSON.stringify)){gadgets.json=function(){function f(n){return n<10?"0"+n:n +}Date.prototype.toJSON=function(){return[this.getUTCFullYear(),"-",f(this.getUTCMonth()+1),"-",f(this.getUTCDate()),"T",f(this.getUTCHours()),":",f(this.getUTCMinutes()),":",f(this.getUTCSeconds()),"Z"].join("") +}; +var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}; +function stringify(value){var a,i,k,l,r=/[\"\\\x00-\x1f\x7f-\x9f]/g,v; +switch(typeof value){case"string":return r.test(value)?'"'+value.replace(r,function(a){var c=m[a]; +if(c){return c +}c=a.charCodeAt(); +return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16) +})+'"':'"'+value+'"'; +case"number":return isFinite(value)?String(value):"null"; +case"boolean":case"null":return String(value); +case"object":if(!value){return"null" +}a=[]; +if(typeof value.length==="number"&&!value.propertyIsEnumerable("length")){l=value.length; +for(i=0; +i<l; +i+=1){a.push(stringify(value[i])||"null") +}return"["+a.join(",")+"]" +}for(k in value){if(/___$/.test(k)){continue +}if(value.hasOwnProperty(k)){if(typeof k==="string"){v=stringify(value[k]); +if(v){a.push(stringify(k)+":"+v) +}}}}return"{"+a.join(",")+"}" +}return"" +}return{stringify:stringify,parse:function(text){if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){return eval("("+text+")") +}return false +}} +}() +};; +gadgets.json.flatten=function(c){var d={}; +if(c===null||c===undefined){return d +}for(var a in c){if(c.hasOwnProperty(a)){var b=c[a]; +if(null===b||undefined===b){continue +}d[a]=(typeof b==="string")?b:gadgets.json.stringify(b) +}}return d +};; + +/* [end] feature=core.json */ + +/* [start] feature=core.io */ +gadgets.io=function(){var config={}; +var oauthState; +function makeXhr(){var x; +var wrapperXhr=window.shindig&&window.shindig["xhrwrapper"]&&window.shindig["xhrwrapper"]["createXHR"]; +if(wrapperXhr){return wrapperXhr() +}else{if(typeof ActiveXObject!="undefined"){x=new ActiveXObject("Msxml2.XMLHTTP"); +if(!x){x=new ActiveXObject("Microsoft.XMLHTTP") +}return x +}else{if(typeof XMLHttpRequest!="undefined"||window.XMLHttpRequest){return new window.XMLHttpRequest() +}else{throw ("no xhr available") +}}}}function hadError(xobj,callback){if(xobj.readyState!==4){return true +}try{if(xobj.status!==200){var error=(""+xobj.status); +if(xobj.responseText){error=error+" "+xobj.responseText +}callback({errors:[error],rc:xobj.status,text:xobj.responseText}); +return true +}}catch(e){callback({errors:[e.number+" Error not specified"],rc:e.number,text:e.description}); +return true +}return false +}function processNonProxiedResponse(url,callback,params,xobj){if(hadError(xobj,callback)){return +}var data={body:xobj.responseText}; +callback(transformResponseData(params,data)) +}var UNPARSEABLE_CRUFT="throw 1; < don't be evil' >"; +function processResponse(url,callback,params,xobj){if(hadError(xobj,callback)){return +}var txt=xobj.responseText; +var offset=txt.indexOf(UNPARSEABLE_CRUFT)+UNPARSEABLE_CRUFT.length; +if(offset<UNPARSEABLE_CRUFT.length){return +}txt=txt.substr(offset); +var data=eval("("+txt+")"); +data=data[url]; +if(data.oauthState){oauthState=data.oauthState +}if(data.st){shindig.auth.updateSecurityToken(data.st) +}callback(transformResponseData(params,data)) +}function transformResponseData(params,data){var resp={text:data.body,rc:data.rc||200,headers:data.headers,oauthApprovalUrl:data.oauthApprovalUrl,oauthError:data.oauthError,oauthErrorText:data.oauthErrorText,errors:[]}; +if(resp.rc<200||resp.rc>=400){resp.errors=[resp.rc+" Error"] +}else{if(resp.text){if(resp.rc>=300&&resp.rc<400){params.CONTENT_TYPE="TEXT" +}switch(params.CONTENT_TYPE){case"JSON":case"FEED":resp.data=gadgets.json.parse(resp.text); +if(!resp.data){resp.errors.push("500 Failed to parse JSON"); +resp.rc=500; +resp.data=null +}break; +case"DOM":var dom; +if(typeof ActiveXObject!="undefined"){dom=new ActiveXObject("Microsoft.XMLDOM"); +dom.async=false; +dom.validateOnParse=false; +dom.resolveExternals=false; +if(!dom.loadXML(resp.text)){resp.errors.push("500 Failed to parse XML"); +resp.rc=500 +}else{resp.data=dom +}}else{var parser=new DOMParser(); +dom=parser.parseFromString(resp.text,"text/xml"); +if("parsererror"===dom.documentElement.nodeName){resp.errors.push("500 Failed to parse XML"); +resp.rc=500 +}else{resp.data=dom +}}break; +default:resp.data=resp.text; +break +}}}return resp +}function makeXhrRequest(realUrl,proxyUrl,callback,paramData,method,params,processResponseFunction,opt_headers){var xhr=makeXhr(); +if(proxyUrl.indexOf("//")==0){proxyUrl=document.location.protocol+proxyUrl +}xhr.open(method,proxyUrl,true); +if(callback){xhr.onreadystatechange=gadgets.util.makeClosure(null,processResponseFunction,realUrl,callback,params,xhr) +}if(paramData!==null){var contentTypeHeader="Content-Type"; +var contentType="application/x-www-form-urlencoded"; +if(typeof opt_headers==="string"){contentType=opt_headers; +opt_headers={} +}var headers=opt_headers||{}; +if(!headers[contentTypeHeader]){headers[contentTypeHeader]=contentType +}for(var headerName in headers){xhr.setRequestHeader(headerName,headers[headerName]) +}}xhr.send(paramData) +}function respondWithPreload(postData,params,callback){if(gadgets.io.preloaded_&&postData.httpMethod==="GET"){for(var i=0; +i<gadgets.io.preloaded_.length; +i++){var preload=gadgets.io.preloaded_[i]; +if(preload&&(preload.id===postData.url)){delete gadgets.io.preloaded_[i]; +if(preload.rc!==200){callback({rc:preload.rc,errors:[preload.rc+" Error"]}) +}else{if(preload.oauthState){oauthState=preload.oauthState +}var resp={body:preload.body,rc:preload.rc,headers:preload.headers,oauthApprovalUrl:preload.oauthApprovalUrl,oauthError:preload.oauthError,oauthErrorText:preload.oauthErrorText,errors:[]}; +callback(transformResponseData(params,resp)) +}return true +}}}return false +}function init(configuration){config=configuration["core.io"]||{} +}gadgets.config.register("core.io",null,init); +return{makeRequest:function(url,callback,opt_params){var params=opt_params||{}; +var httpMethod=params.METHOD||"GET"; +var refreshInterval=params.REFRESH_INTERVAL; +var auth,st; +if(params.AUTHORIZATION&¶ms.AUTHORIZATION!=="NONE"){auth=params.AUTHORIZATION.toLowerCase(); +st=shindig.auth.getSecurityToken() +}else{if(httpMethod==="GET"&&refreshInterval===undefined){refreshInterval=3600 +}}var signOwner=true; +if(typeof params.OWNER_SIGNED!=="undefined"){signOwner=params.OWNER_SIGNED +}var signViewer=true; +if(typeof params.VIEWER_SIGNED!=="undefined"){signViewer=params.VIEWER_SIGNED +}var headers=params.HEADERS||{}; +if(httpMethod==="POST"&&!headers["Content-Type"]){headers["Content-Type"]="application/x-www-form-urlencoded" +}var urlParams=gadgets.util.getUrlParameters(); +var paramData={url:url,httpMethod:httpMethod,headers:gadgets.io.encodeValues(headers,false),postData:params.POST_DATA||"",authz:auth||"",st:st||"",contentType:params.CONTENT_TYPE||"TEXT",numEntries:params.NUM_ENTRIES||"3",getSummaries:!!params.GET_SUMMARIES,signOwner:signOwner,signViewer:signViewer,gadget:urlParams.url,container:urlParams.container||urlParams.synd||"default",bypassSpecCache:gadgets.util.getUrlParameters()["nocache"]||"",getFullHeaders:!!params.GET_FULL_HEADERS}; +if(auth==="oauth"||auth==="signed"){if(gadgets.io.oauthReceivedCallbackUrl_){paramData.OAUTH_RECEIVED_CALLBACK=gadgets.io.oauthReceivedCallbackUrl_; +gadgets.io.oauthReceivedCallbackUrl_=null +}paramData.oauthState=oauthState||""; +for(var opt in params){if(params.hasOwnProperty(opt)){if(opt.indexOf("OAUTH_")===0){paramData[opt]=params[opt] +}}}}var proxyUrl=config.jsonProxyUrl.replace("%host%",document.location.host); +if(!respondWithPreload(paramData,params,callback)){if(httpMethod==="GET"&&refreshInterval>0){var extraparams="?refresh="+refreshInterval+"&"+gadgets.io.encodeValues(paramData); +makeXhrRequest(url,proxyUrl+extraparams,callback,null,"GET",params,processResponse) +}else{makeXhrRequest(url,proxyUrl,callback,gadgets.io.encodeValues(paramData),"POST",params,processResponse) +}}},makeNonProxiedRequest:function(relativeUrl,callback,opt_params,opt_headers){var params=opt_params||{}; +makeXhrRequest(relativeUrl,relativeUrl,callback,params.POST_DATA,params.METHOD,params,processNonProxiedResponse,opt_headers) +},clearOAuthState:function(){oauthState=undefined +},encodeValues:function(fields,opt_noEscaping){var escape=!opt_noEscaping; +var buf=[]; +var first=false; +for(var i in fields){if(fields.hasOwnProperty(i)&&!/___$/.test(i)){if(!first){first=true +}else{buf.push("&") +}buf.push(escape?encodeURIComponent(String(i)):i); +buf.push("="); +buf.push(escape?encodeURIComponent(String(fields[i])):fields[i]) +}}return buf.join("") +},getProxyUrl:function(url,opt_params){var params=opt_params||{}; +var refresh=params.REFRESH_INTERVAL; +if(refresh===undefined){refresh="3600" +}var urlParams=gadgets.util.getUrlParameters(); +var rewriteMimeParam=params.rewriteMime?"&rewriteMime="+encodeURIComponent(String(params.rewriteMime)):""; +var ret=config.proxyUrl.replace("%url%",encodeURIComponent(url)).replace("%host%",document.location.host).replace("%rawurl%",url).replace("%refresh%",encodeURIComponent(String(refresh))).replace("%gadget%",encodeURIComponent(urlParams.url)).replace("%container%",encodeURIComponent(urlParams.container||urlParams.synd||"default")).replace("%rewriteMime%",rewriteMimeParam); +if(ret.indexOf("//")==0){ret=window.location.protocol+ret +}return ret +}} +}(); +gadgets.io.RequestParameters=gadgets.util.makeEnum(["METHOD","CONTENT_TYPE","POST_DATA","HEADERS","AUTHORIZATION","NUM_ENTRIES","GET_SUMMARIES","GET_FULL_HEADERS","REFRESH_INTERVAL","OAUTH_SERVICE_NAME","OAUTH_USE_TOKEN","OAUTH_TOKEN_NAME","OAUTH_REQUEST_TOKEN","OAUTH_REQUEST_TOKEN_SECRET","OAUTH_RECEIVED_CALLBACK"]); +gadgets.io.MethodType=gadgets.util.makeEnum(["GET","POST","PUT","DELETE","HEAD"]); +gadgets.io.ContentType=gadgets.util.makeEnum(["TEXT","DOM","JSON","FEED"]); +gadgets.io.AuthorizationType=gadgets.util.makeEnum(["NONE","SIGNED","OAUTH"]);; + +/* [end] feature=core.io */ + +/* [start] feature=gapi.util-globals */ +gapi.util=window.gapi&&window.gapi.util||{}; +; + +/* [end] feature=gapi.util-globals */ + +/* [start] feature=gapi.util.getOrigin */ +gapi.util.getOrigin=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);0>a.indexOf("://")&&(a=window.location.protocol+"//"+a);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));var a=a.substring(0,a.indexOf("://")),c="",d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1),b=b.substring(0,d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}; +; + +/* [end] feature=gapi.util.getOrigin */ + +/* [start] feature=rpc */ +gadgets.rpctx=gadgets.rpctx||{}; +if(!gadgets.rpctx.wpm){gadgets.rpctx.wpm=function(){var e,d; +var c=true; +function b(h,i,g){if(typeof window.addEventListener!="undefined"){window.addEventListener(h,i,g) +}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("on"+h,i) +}}}function a(h,i,g){if(window.removeEventListener){window.removeEventListener(h,i,g) +}else{if(window.detachEvent){window.detachEvent("on"+h,i) +}}}function f(h){var i=gadgets.json.parse(h.data); +if(!i||!i.f){return +}var g=gadgets.rpc.getTargetOrigin(i.f); +if(c&&(typeof h.origin!=="undefined"?h.origin!==g:h.domain!==/^.+:\/\/([^:]+).*/.exec(g)[1])){return +}e(i,h.origin) +}return{getCode:function(){return"wpm" +},isParentVerifiable:function(){return true +},init:function(h,i){function g(k){var j=k&&k.rpc||{}; +if(String(j.disableForceSecure)==="true"){c=false +}}gadgets.config.register("rpc",null,g); +e=h; +d=i; +b("message",f,false); +d("..",true); +return true +},setup:function(h,g){d(h,true); +return true +},call:function(h,k,j){var g=gadgets.rpc.getTargetOrigin(h); +var i=gadgets.rpc._getTargetWin(h); +if(g){window.setTimeout(function(){i.postMessage(gadgets.json.stringify(j),g) +},0) +}else{gadgets.error("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message") +}return true +}} +}() +};; +; +gadgets.rpctx=gadgets.rpctx||{}; +if(!gadgets.rpctx.frameElement){gadgets.rpctx.frameElement=function(){var e="__g2c_rpc"; +var b="__c2g_rpc"; +var d; +var c; +function a(g,k,j){try{if(k!==".."){var f=window.frameElement; +if(typeof f[e]==="function"){if(typeof f[e][b]!=="function"){f[e][b]=function(l){d(gadgets.json.parse(l)) +} +}f[e](gadgets.json.stringify(j)); +return true +}}else{var i=document.getElementById(g); +if(typeof i[e]==="function"&&typeof i[e][b]==="function"){i[e][b](gadgets.json.stringify(j)); +return true +}}}catch(h){}return false +}return{getCode:function(){return"fe" +},isParentVerifiable:function(){return false +},init:function(f,g){d=f; +c=g; +return true +},setup:function(j,f){if(j!==".."){try{var i=document.getElementById(j); +i[e]=function(k){d(gadgets.json.parse(k)) +} +}catch(h){return false +}}if(j===".."){c("..",true); +var g=function(){window.setTimeout(function(){gadgets.rpc.call(j,gadgets.rpc.ACK) +},500) +}; +gadgets.util.registerOnLoadHandler(g) +}return true +},call:function(f,h,g){return a(f,h,g) +}} +}() +};; +; +; +; +gadgets.rpctx=gadgets.rpctx||{}; +if(!gadgets.rpctx.nix){gadgets.rpctx.nix=function(){var c="GRPC____NIXVBS_wrapper"; +var d="GRPC____NIXVBS_get_wrapper"; +var f="GRPC____NIXVBS_handle_message"; +var b="GRPC____NIXVBS_create_channel"; +var a=10; +var j=500; +var i={}; +var h; +var g=0; +function e(){var l=i[".."]; +if(l){return +}if(++g>a){gadgets.warn("Nix transport setup failed, falling back..."); +h("..",false); +return +}if(!l&&window.opener&&"GetAuthToken" in window.opener){l=window.opener; +if(l.GetAuthToken()==gadgets.rpc.getAuthToken("..")){var k=gadgets.rpc.getAuthToken(".."); +l.CreateChannel(window[d]("..",k),k); +i[".."]=l; +window.opener=null; +h("..",true); +return +}}window.setTimeout(function(){e() +},j) +}return{getCode:function(){return"nix" +},isParentVerifiable:function(){return false +},init:function(l,m){h=m; +if(typeof window[d]!=="unknown"){window[f]=function(o){window.setTimeout(function(){l(gadgets.json.parse(o)) +},0) +}; +window[b]=function(o,q,p){if(gadgets.rpc.getAuthToken(o)===p){i[o]=q; +h(o,true) +}}; +var k="Class "+c+"\n Private m_Intended\nPrivate m_Auth\nPublic Sub SetIntendedName(name)\n If isEmpty(m_Intended) Then\nm_Intended = name\nEnd If\nEnd Sub\nPublic Sub SetAuth(auth)\n If isEmpty(m_Auth) Then\nm_Auth = auth\nEnd If\nEnd Sub\nPublic Sub SendMessage(data)\n "+f+"(data)\nEnd Sub\nPublic Function GetAuthToken()\n GetAuthToken = m_Auth\nEnd Function\nPublic Sub CreateChannel(channel, auth)\n Call "+b+"(m_Intended, channel, auth)\nEnd Sub\nEnd Class\nFunction "+d+"(name, auth)\nDim wrap\nSet wrap = New "+c+"\nwrap.SetIntendedName name\nwrap.SetAuth auth\nSet "+d+" = wrap\nEnd Function"; +try{window.execScript(k,"vbscript") +}catch(n){return false +}}return true +},setup:function(o,k){if(o===".."){e(); +return true +}try{var m=document.getElementById(o); +var n=window[d](o,k); +m.contentWindow.opener=n +}catch(l){return false +}return true +},call:function(k,n,m){try{if(i[k]){i[k].SendMessage(gadgets.json.stringify(m)) +}}catch(l){return false +}return true +}} +}() +};; +; +gadgets.rpctx=gadgets.rpctx||{}; +if(!gadgets.rpctx.rmr){gadgets.rpctx.rmr=function(){var h=500; +var f=10; +var i={}; +var a=gadgets.util.getUrlParameters()["parent"]; +var c; +var j; +function l(q,o,p,n){var r=function(){document.body.appendChild(q); +q.src="about:blank"; +if(n){q.onload=function(){m(n) +} +}q.src=o+"#"+p +}; +if(document.body){r() +}else{gadgets.util.registerOnLoadHandler(function(){r() +}) +}}function d(q){if(typeof i[q]==="object"){return +}var r=document.createElement("iframe"); +var o=r.style; +o.position="absolute"; +o.top="0px"; +o.border="0"; +o.opacity="0"; +o.width="10px"; +o.height="1px"; +r.id="rmrtransport-"+q; +r.name=r.id; +var p=gadgets.rpc.getRelayUrl(q); +var n=gadgets.rpc.getOrigin(a); +if(!p){p=n+"/robots.txt" +}i[q]={frame:r,receiveWindow:null,relayUri:p,relayOrigin:n,searchCounter:0,width:10,waiting:true,queue:[],sendId:0,recvId:0,verifySendToken:String(Math.random()),verifyRecvToken:null,originVerified:false}; +if(q!==".."){l(r,p,b(q)) +}e(q) +}function e(p){var r=null; +i[p].searchCounter++; +try{var o=gadgets.rpc._getTargetWin(p); +if(p===".."){r=o.frames["rmrtransport-"+gadgets.rpc.RPC_ID] +}else{r=o.frames["rmrtransport-.."] +}}catch(q){}var n=false; +if(r){n=g(p,r) +}if(!n){if(i[p].searchCounter>f){return +}window.setTimeout(function(){e(p) +},h) +}}function k(o,q,u,t){var p=null; +if(u!==".."){p=i[".."] +}else{p=i[o] +}if(p){if(q!==gadgets.rpc.ACK){p.queue.push(t) +}if(p.waiting||(p.queue.length===0&&!(q===gadgets.rpc.ACK&&t&&t.ackAlone===true))){return true +}if(p.queue.length>0){p.waiting=true +}var n=p.relayUri+"#"+b(o); +try{p.frame.contentWindow.location=n; +var r=p.width==10?20:10; +p.frame.style.width=r+"px"; +p.width=r +}catch(s){return false +}}return true +}function b(o){var p=i[o]; +var n={id:p.sendId}; +if(p){n.d=Array.prototype.slice.call(p.queue,0); +var q={s:gadgets.rpc.ACK,id:p.recvId}; +if(!p.originVerified){q.sendToken=p.verifySendToken +}if(p.verifyRecvToken){q.recvToken=p.verifyRecvToken +}n.d.push(q) +}return gadgets.json.stringify(n) +}function m(y){var v=i[y]; +var r=v.receiveWindow.location.hash.substring(1); +var z=gadgets.json.parse(decodeURIComponent(r))||{}; +var o=z.d||[]; +var p=false; +var u=false; +var w=0; +var n=(v.recvId-z.id); +for(var q=0; +q<o.length; +++q){var t=o[q]; +if(t.s===gadgets.rpc.ACK){j(y,true); +v.verifyRecvToken=t.sendToken; +if(!v.originVerified&&t.recvToken&&String(t.recvToken)==String(v.verifySendToken)){v.originVerified=true +}if(v.waiting){u=true +}v.waiting=false; +var s=Math.max(0,t.id-v.sendId); +v.queue.splice(0,s); +v.sendId=Math.max(v.sendId,t.id||0); +continue +}p=true; +if(++w<=n){continue +}++v.recvId; +c(t,v.originVerified?v.relayOrigin:undefined) +}if(p||(u&&v.queue.length>0)){var x=(y==="..")?gadgets.rpc.RPC_ID:".."; +k(y,gadgets.rpc.ACK,x,{ackAlone:p}) +}}function g(q,t){var p=i[q]; +try{var o=false; +o="document" in t; +if(!o){return false +}o=typeof t.document=="object"; +if(!o){return false +}var s=t.location.href; +if(s==="about:blank"){return false +}}catch(n){return false +}p.receiveWindow=t; +function r(){m(q) +}if(typeof t.attachEvent==="undefined"){t.onresize=r +}else{t.attachEvent("onresize",r) +}if(q===".."){l(p.frame,p.relayUri,b(q),q) +}else{m(q) +}return true +}return{getCode:function(){return"rmr" +},isParentVerifiable:function(){return true +},init:function(n,o){c=n; +j=o; +return true +},setup:function(p,n){try{d(p) +}catch(o){gadgets.warn("Caught exception setting up RMR: "+o); +return false +}return true +},call:function(n,p,o){return k(n,o.s,p,o) +}} +}() +};; +; +gadgets.rpctx=gadgets.rpctx||{}; +if(!gadgets.rpctx.ifpc){gadgets.rpctx.ifpc=function(){var h=[]; +var e=0; +var d; +var a=2000; +var g={}; +function c(m){var k=[]; +for(var n=0,l=m.length; +n<l; +++n){k.push(encodeURIComponent(gadgets.json.stringify(m[n]))) +}return k.join("&") +}function b(m){var k; +for(var j=h.length-1; +j>=0; +--j){var n=h[j]; +try{if(n&&(n.recyclable||n.readyState==="complete")){n.parentNode.removeChild(n); +if(window.ActiveXObject){h[j]=n=null; +h.splice(j,1) +}else{n.recyclable=false; +k=n; +break +}}}catch(l){}}if(!k){k=document.createElement("iframe"); +k.style.border=k.style.width=k.style.height="0px"; +k.style.visibility="hidden"; +k.style.position="absolute"; +k.onload=function(){this.recyclable=true +}; +h.push(k) +}k.src=m; +window.setTimeout(function(){document.body.appendChild(k) +},0) +}function f(j,l){for(var k=l-1; +k>=0; +--k){if(typeof j[k]==="undefined"){return false +}}return true +}return{getCode:function(){return"ifpc" +},isParentVerifiable:function(){return true +},init:function(i,j){d=j; +d("..",true); +return true +},setup:function(j,i){d(j,true); +return true +},call:function(s,r,q){var l=gadgets.rpc.getRelayUrl(s); +++e; +if(!l){gadgets.warn("No relay file assigned for IFPC"); +return false +}var i=null,j=[]; +if(q.l){var o=q.a; +i=[l,"#",c([r,e,1,0,c([r,q.s,"","",r].concat(o))])].join(""); +j.push(i) +}else{i=[l,"#",s,"&",r,"@",e,"&"].join(""); +var t=encodeURIComponent(gadgets.json.stringify(q)),n=a-i.length,p=Math.ceil(t.length/n),m=0,k; +while(t.length>0){k=t.substring(0,n); +t=t.substring(n); +j.push([i,p,"&",m,"&",k].join("")); +m+=1 +}}do{b(j.shift()) +}while(j.length>0); +return true +},_receiveMessage:function(i,n){var o=i[1],m=parseInt(i[2],10),k=parseInt(i[3],10),l=i[i.length-1],j=m===1; +if(m>1){if(!g[o]){g[o]=[] +}g[o][k]=l; +if(f(g[o],m)){l=g[o].join(""); +delete g[o]; +j=true +}}if(j){n(gadgets.json.parse(decodeURIComponent(l))) +}}} +}() +};; +if(!window.gadgets||!window.gadgets["rpc"]){gadgets.rpc=function(){var M="__cb"; +var S=""; +var T="__ack"; +var f=500; +var G=10; +var b="|"; +var u="callback"; +var g="origin"; +var r="referer"; +var s="legacy__"; +var q={}; +var W={}; +var D={}; +var B={}; +var z=0; +var l={}; +var m={}; +var d={}; +var n={}; +var E={}; +var e=null; +var p=null; +var A=(window.top!==window.self); +var v=window.name; +var J=function(){}; +var P=0; +var Y=1; +var a=2; +var x=window.console; +var V=x&&x.log&&function(ae){x.log(ae) +}||function(){}; +var R=(function(){function ae(af){return function(){V(af+": call ignored") +} +}return{getCode:function(){return"noop" +},isParentVerifiable:function(){return true +},init:ae("init"),setup:ae("setup"),call:ae("call")} +})(); +if(gadgets.util){d=gadgets.util.getUrlParameters() +}function K(){if(d.rpctx=="flash"){return gadgets.rpctx.flash +}if(d.rpctx=="rmr"){return gadgets.rpctx.rmr +}return typeof window.postMessage==="function"?gadgets.rpctx.wpm:typeof window.postMessage==="object"?gadgets.rpctx.wpm:window.ActiveXObject?(gadgets.rpctx.flash?gadgets.rpctx.flash:(gadgets.rpctx.nix?gadgets.rpctx.nix:gadgets.rpctx.ifpc)):navigator.userAgent.indexOf("WebKit")>0?gadgets.rpctx.rmr:navigator.product==="Gecko"?gadgets.rpctx.frameElement:gadgets.rpctx.ifpc +}function k(aj,ah){if(n[aj]){return +}var af=H; +if(!ah){af=R +}n[aj]=af; +var ae=E[aj]||[]; +for(var ag=0; +ag<ae.length; +++ag){var ai=ae[ag]; +ai.t=F(aj); +af.call(aj,ai.f,ai) +}E[aj]=[] +}var I=false,U=false; +function N(){if(U){return +}function ae(){I=true +}if(typeof window.addEventListener!="undefined"){window.addEventListener("unload",ae,false) +}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onunload",ae) +}}U=true +}function j(ae,ai,af,ah,ag){if(!B[ai]||B[ai]!==af){gadgets.error("Invalid auth token. "+B[ai]+" vs "+af); +J(ai,a) +}ag.onunload=function(){if(m[ai]&&!I){J(ai,Y); +gadgets.rpc.removeReceiver(ai) +}}; +N(); +ah=gadgets.json.parse(decodeURIComponent(ah)) +}function Z(ai,af){if(ai&&typeof ai.s==="string"&&typeof ai.f==="string"&&ai.a instanceof Array){if(B[ai.f]){if(B[ai.f]!==ai.t){gadgets.error("Invalid auth token. "+B[ai.f]+" vs "+ai.t); +J(ai.f,a) +}}if(ai.s===T){window.setTimeout(function(){k(ai.f,true) +},0); +return +}if(ai.c){ai[u]=function(aj){var ak=ai.g?s:""; +gadgets.rpc.call(ai.f,ak+M,null,ai.c,aj) +} +}if(af){var ag=t(af); +ai[g]=af; +var ah=ai.r; +if(!ah||t(ah)!=ag){ah=af +}ai[r]=ah +}var ae=(q[ai.s]||q[S]).apply(ai,ai.a); +if(ai.c&&typeof ae!=="undefined"){gadgets.rpc.call(ai.f,M,null,ai.c,ae) +}}}function t(ag){if(!ag){return"" +}ag=((ag.split("#"))[0].split("?"))[0]; +ag=ag.toLowerCase(); +if(ag.indexOf("//")==0){ag=window.location.protocol+ag +}if(ag.indexOf("://")==-1){ag=window.location.protocol+"//"+ag +}var ah=ag.substring(ag.indexOf("://")+3); +var ae=ah.indexOf("/"); +if(ae!=-1){ah=ah.substring(0,ae) +}var aj=ag.substring(0,ag.indexOf("://")); +var ai=""; +var ak=ah.indexOf(":"); +if(ak!=-1){var af=ah.substring(ak+1); +ah=ah.substring(0,ak); +if((aj==="http"&&af!=="80")||(aj==="https"&&af!=="443")){ai=":"+af +}}return aj+"://"+ah+ai +}function C(af,ae){return"/"+af+(ae?b+ae:"") +}function y(ah){if(ah.charAt(0)=="/"){var af=ah.indexOf(b); +var ag=af>0?ah.substring(1,af):ah.substring(1); +var ae=af>0?ah.substring(af+1):null; +return{id:ag,origin:ae} +}else{return null +}}function ad(ag){if(typeof ag==="undefined"||ag===".."){return window.parent +}var af=y(ag); +if(af){return window.top.frames[af.id] +}ag=String(ag); +var ae=window.frames[ag]; +if(ae){return ae +}ae=document.getElementById(ag); +if(ae&&ae.contentWindow){return ae.contentWindow +}return null +}function L(ah){var ag=null; +var ae=O(ah); +if(ae){ag=ae +}else{var af=y(ah); +if(af){ag=af.origin +}else{if(ah==".."){ag=d.parent +}else{ag=document.getElementById(ah).src +}}}return t(ag) +}var H=K(); +q[S]=function(){V("Unknown RPC service: "+this.s) +}; +q[M]=function(af,ae){var ag=l[af]; +if(ag){delete l[af]; +ag.call(this,ae) +}}; +function X(ag,ae){if(m[ag]===true){return +}if(typeof m[ag]==="undefined"){m[ag]=0 +}var af=ad(ag); +if(ag===".."||af!=null){if(H.setup(ag,ae)===true){m[ag]=true; +return +}}if(m[ag]!==true&&m[ag]++<G){window.setTimeout(function(){X(ag,ae) +},f) +}else{n[ag]=R; +m[ag]=true +}}function O(af){var ae=W[af]; +if(ae&&ae.substring(0,1)==="/"){if(ae.substring(1,2)==="/"){ae=document.location.protocol+ae +}else{ae=document.location.protocol+"//"+document.location.host+ae +}}return ae +}function ac(af,ae,ag){if(ae&&!/http(s)?:\/\/.+/.test(ae)){if(ae.indexOf("//")==0){ae=window.location.protocol+ae +}else{if(ae.charAt(0)=="/"){ae=window.location.protocol+"//"+window.location.host+ae +}else{if(ae.indexOf("://")==-1){ae=window.location.protocol+"//"+ae +}}}}W[af]=ae; +if(typeof ag!=="undefined"){D[af]=!!ag +}}function F(ae){return B[ae] +}function c(ae,af){af=af||""; +B[ae]=String(af); +X(ae,af) +}function ab(af){var ae=af.passReferrer||""; +var ag=ae.split(":",2); +e=ag[0]||"none"; +p=ag[1]||"origin" +}function aa(ae){if(Q(ae)){H=gadgets.rpctx.ifpc; +H.init(Z,k) +}}function Q(ae){return String(ae.useLegacyProtocol)==="true" +}function h(af,ae){function ag(aj){var ai=aj&&aj.rpc||{}; +ab(ai); +var ah=ai.parentRelayUrl||""; +ah=t(d.parent||ae)+ah; +ac("..",ah,Q(ai)); +aa(ai); +c("..",af) +}if(!d.parent&&ae){ag({}); +return +}gadgets.config.register("rpc",null,ag) +}function o(af,aj,al){var ai=null; +if(af.charAt(0)!="/"){if(!gadgets.util){return +}ai=document.getElementById(af); +if(!ai){throw new Error("Cannot set up gadgets.rpc receiver with ID: "+af+", element not found.") +}}var ae=ai&&ai.src; +var ag=aj||gadgets.rpc.getOrigin(ae); +ac(af,ag); +var ak=gadgets.util.getUrlParameters(ae); +var ah=al||ak.rpctoken; +c(af,ah) +}function i(ae,ag,ah){if(ae===".."){var af=ah||d.rpctoken||d.ifpctok||""; +h(af,ag) +}else{o(ae,ag,ah) +}}function w(ag){if(e==="bidir"||(e==="c2p"&&ag==="..")||(e==="p2c"&&ag!=="..")){var af=window.location.href; +var ah="?"; +if(p==="query"){ah="#" +}else{if(p==="hash"){return af +}}var ae=af.lastIndexOf(ah); +ae=ae===-1?af.length:ae; +return af.substring(0,ae) +}return null +}return{config:function(ae){if(typeof ae.securityCallback==="function"){J=ae.securityCallback +}},register:function(af,ae){if(af===M||af===T){throw new Error("Cannot overwrite callback/ack service") +}if(af===S){throw new Error("Cannot overwrite default service: use registerDefault") +}q[af]=ae +},unregister:function(ae){if(ae===M||ae===T){throw new Error("Cannot delete callback/ack service") +}if(ae===S){throw new Error("Cannot delete default service: use unregisterDefault") +}delete q[ae] +},registerDefault:function(ae){q[S]=ae +},unregisterDefault:function(){delete q[S] +},forceParentVerifiable:function(){if(!H.isParentVerifiable()){H=gadgets.rpctx.ifpc +}},call:function(ae,ag,al,aj){ae=ae||".."; +var ak=".."; +if(ae===".."){ak=v +}else{if(ae.charAt(0)=="/"){ak=C(v,gadgets.rpc.getOrigin(window.location.href)) +}}++z; +if(al){l[z]=al +}var ai={s:ag,f:ak,c:al?z:0,a:Array.prototype.slice.call(arguments,3),t:B[ae],l:!!D[ae]}; +var af=w(ae); +if(af){ai.r=af +}if(ae!==".."&&y(ae)==null&&!document.getElementById(ae)){return +}var ah=n[ae]; +if(!ah&&y(ae)!==null){ah=H +}if(ag.indexOf(s)===0){ah=H; +ai.s=ag.substring(s.length); +ai.c=ai.c?ai.c:z +}ai.g=true; +ai.r=ak; +if(!ah){if(!E[ae]){E[ae]=[ai] +}else{E[ae].push(ai) +}return +}if(D[ae]){ah=gadgets.rpctx.ifpc +}if(ah.call(ae,ak,ai)===false){n[ae]=R; +H.call(ae,ak,ai) +}},getRelayUrl:O,setRelayUrl:ac,setAuthToken:c,setupReceiver:i,getAuthToken:F,removeReceiver:function(ae){delete W[ae]; +delete D[ae]; +delete B[ae]; +delete m[ae]; +delete n[ae] +},getRelayChannel:function(){return H.getCode() +},receive:function(af,ae){if(af.length>4){H._receiveMessage(af,Z) +}else{j.apply(null,af.concat(ae)) +}},receiveSameDomain:function(ae){ae.a=Array.prototype.slice.call(ae.a); +window.setTimeout(function(){Z(ae) +},0) +},getOrigin:t,getTargetOrigin:L,init:function(){if(H.init(Z,k)===false){H=R +}if(A){i("..") +}else{gadgets.config.register("rpc",null,function(af){var ae=af.rpc||{}; +ab(ae); +aa(ae) +}) +}},_getTargetWin:ad,_parseSiblingId:y,ACK:T,RPC_ID:v||"..",SEC_ERROR_LOAD_TIMEOUT:P,SEC_ERROR_FRAME_PHISH:Y,SEC_ERROR_FORGED_MSG:a} +}(); +gadgets.rpc.init() +}else{if(typeof gadgets.rpc=="undefined"||!gadgets.rpc){gadgets.rpc=window.gadgets["rpc"]; +gadgets.rpc.config=gadgets.rpc.config; +gadgets.rpc.register=gadgets.rpc.register; +gadgets.rpc.unregister=gadgets.rpc.unregister; +gadgets.rpc.registerDefault=gadgets.rpc.registerDefault; +gadgets.rpc.unregisterDefault=gadgets.rpc.unregisterDefault; +gadgets.rpc.forceParentVerifiable=gadgets.rpc.forceParentVerifiable; +gadgets.rpc.call=gadgets.rpc.call; +gadgets.rpc.getRelayUrl=gadgets.rpc.getRelayUrl; +gadgets.rpc.setRelayUrl=gadgets.rpc.setRelayUrl; +gadgets.rpc.setAuthToken=gadgets.rpc.setAuthToken; +gadgets.rpc.setupReceiver=gadgets.rpc.setupReceiver; +gadgets.rpc.getAuthToken=gadgets.rpc.getAuthToken; +gadgets.rpc.removeReceiver=gadgets.rpc.removeReceiver; +gadgets.rpc.getRelayChannel=gadgets.rpc.getRelayChannel; +gadgets.rpc.receive=gadgets.rpc.receive; +gadgets.rpc.receiveSameDomain=gadgets.rpc.receiveSameDomain; +gadgets.rpc.getOrigin=gadgets.rpc.getOrigin; +gadgets.rpc.getTargetOrigin=gadgets.rpc.getTargetOrigin; +gadgets.rpc._getTargetWin=gadgets.rpc._getTargetWin; +gadgets.rpc._parseSiblingId=gadgets.rpc._parseSiblingId +}};; +; + +/* [end] feature=rpc */ +gadgets.config.init({"rpc":{"commSwf":"//xpc.googleusercontent.com/gadgets/xpc.swf","passReferrer":"p2c:query","parentRelayUrl":"/rpc_relay.html"},"core.io":{"jsonProxyUrl":"//%host%/gadgets/makeRequest","proxyUrl":"//www.gmodules.com/gadgets/proxy/refresh=%refresh%&container=%container%%rewriteMime%&gadget=%gadget%/%rawurl%"}}); +(function(){var j=window['___jsl'];if(j['c']){j['c']();delete j['c'];}})(); \ No newline at end of file Modified: trunk/src/main/webapp/ws.html =================================================================== --- trunk/src/main/webapp/ws.html 2012-04-19 04:37:12 UTC (rev 1857) +++ trunk/src/main/webapp/ws.html 2012-04-19 13:12:45 UTC (rev 1858) @@ -71,13 +71,14 @@ <link type="text/css" rel="stylesheet" href="others/splash/style/main.css"> <link type="text/css" rel="stylesheet" href="ws/ws.css"> +<script type="text/javascript" src="others/splash/js/wave-rpc.js"></script> <script type="text/javascript" src="others/splash/js/gadget.js"></script> <script type="text/javascript" src="others/splash/js/rpc.js"></script> <script type="text/javascript" src="others/splash/js/common_client.js"></script> <script type="text/javascript" src="others/splash/js/permalink_client.js"></script> -<script type="text/javascript" - src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script> +<!-- Moved this to local wave-rpc.js <script type="text/javascript" --> +<!-- src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script> --> <style type="text/css">
participants (1)
-
Vicente J. Ruiz Jurado