Over Christmas I implemented some code to open a channel to my App Engine 
application in a Chrome extension using the channel API and it was working 
fine.

I recently returned to the code and find that it is broken, and the problem 
seems to lie in the URL to the talkgadget that the client code is trying to 
load into a frame.

I took a snapshot of the code returned by /_ah/channel/jsapi on December 21 
and I am comparing it to today's code.

When the older version tried to get 
talkgadget.google.com/talkgadget/d?token=[my-token] it was hardcoded to use 
http. Sensibly enough, the code was later changed to check the page's 
protocol in document.location and adapt to cases where https is used. The 
problem now is that when running in a chrome extension it grabs 
chrome-extension: as the protocol and naturally the channel fails to open in 
the extension.

Setting the base of the background page to my appspot URL does not change 
document.location, although I had some vague notion that it should. (Not 
sure what the standards say.)

Is there a workaround for this? One thought was to create my own iframe 
loaded from my site, but then it will nest the actual channel iframe, 
complicating things. 

I wonder if Moishe or someone else on the App Engine team could comment on 
this. It seems like the this is a bug and the code should take into chrome 
extensions either by testing for the protocol and searching for a base tag 
as an alternative, or provide some way to configure this through the 
javascript object.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to