The onModuleLoad is within an iframe, that's probably the cause. I think i can find a way around this. For example, i can add the following method to the GData module: GData.transferTokenOrSomething();
This function would check the top frame for a token and append it to the IFrame's location. I'll play around with this. Bobby On Aug 13, 9:29 pm, Bobby <[email protected]> wrote: > Another possible cause could be for example if, in the compiled GWT > app, the google.load call happens inside an IFrame. > > Currently, with google.load being called from onModuleLoad, > google.accounts.user.login() causes the redirect to the Google > Accounts authorization page, but when it redirects back, with the > token in the URL (for example /HelloGData.html#tokenhere), the token > doesn't get consumed (in IE), and the authentication doesn't succeed. > > If GWT is placing the onModuleLoad code inside an IFrame, then it may > cause the GData library to look for the token on the IFrame > window.location, instead of the top's window.location. > > Bobby > > On Aug 13, 9:16 pm, Eric Ayers <[email protected]> wrote: > > > The gdata init shouldn't use document.write() - you should be able to > > call it at any time. > > > There is a tradeoff of using the AjaxLoader module - it does add more > > delay than using the script version. Fortunately, you can code your > > app using AjaxLoader and then if you need the speedup, just add the > > logic in your host page. AjaxLoader will detect that the jsapi is > > already there and bypass it. You can add that check in your version > > of GData.loadGDataApi() if you like. > > > On Thu, Aug 13, 2009 at 9:11 PM, Bobby<[email protected]> wrote: > > > > In the GData JS library, in IE, AuthSub fails if google.load("gdata", > > > "1.10"); is asynchronous, after the page has finished processing. For > > > example, if i place the google.load("gdata", "1.10"); call within the > > > GWT onModuleLoad method, then AuthSub stops halfway. > > > > To avoid this we can directly add the following at the top of the GWT > > > html page: > > > <script type="text/javascript" src="http://www.google.com/jsapi"></ > > > script> > > > <script type="text/javascript">google.load("gdata", "1.10");</ > > > script> > > > > Or just use the auto-load feature of the JS API to collapse these two > > > into a single script load. > > > > But this wouldn't make use of the AjaxLoader module and it means that > > > the GWT app will have to wait for the GData libraries to load before > > > rendering, etc, instead of doing something like the following: > > > > public void onModuleLoad() { > > > //render main app here > > > GData.loadGDataApi(null, new Runnable() { > > > public void run() { > > > initialize(); > > > } > > > }); > > > } > > > > I don't know the reason for this behavior but it could happen if the > > > gdata library uses document.write for example. > > > > Bobby > > > > On Jul 15, 1:30 am, Bobby <[email protected]> wrote: > > >> I'm adding the GData samples here as i go, if you want to see the > > >> library in action.http://1.latest.gwt-gdata.appspot.com/v/HelloGData.html > > > >> Bobby > > > >> On Jul 14, 9:54 am, Eric Ayers <[email protected]> wrote: > > > >> > Thanks for the update. > > > >> > On Mon, Jul 13, 2009 at 11:45 PM, Bobby<[email protected]> wrote: > > > >> > > Status update: the library is ready, i'm translating the various JS > > >> > > samples into GWT to include in the first download, using the same > > >> > > format as the Google Maps sample app which is contained the in the > > >> > > gwt- > > >> > > maps-1.0.4.zip available here: > > >> > >http://code.google.com/p/gwt-google-apis/wiki/Downloads?tm=2 > > > >> > > This is the fun part. :) > > > >> > > Bobby > > > >> > > On Jun 25, 8:20 am, Thomas Broyer <[email protected]> wrote: > > >> > >> On 25 juin, 08:32, Bobby <[email protected]> wrote: > > > >> > >> > Actually, i've just noticed that the ArrayHelper in the AjaxLoader > > >> > >> > module provides the same functionality. Question though, when > > >> > >> > calling > > >> > >> > the fromArray() method from within a JSNI method, what's the > > >> > >> > parameter > > >> > >> > signature that should be used? I'm not having any luck with > > >> > >> > fromArray > > >> > >> > (Lcom/google/gwt/core/client/JavaScriptObject;). > > > >> > >> > I want to transform the following: > > >> > >> > public final native void setProperties(JsArray<Property> > > >> > >> > properties) / > > >> > >> > *-{ > > >> > >> > this.setProperties( > > >> > >> > properties > > >> > >> > ); > > > >> > >> > }-*/; > > > >> > >> > Into the following: > > > >> > >> > public final native void setProperties(Property[] properties) /*-{ > > >> > >> > this.setProperties( > > >> > >> > @net.ltgt.gwt.jscollections.client.JsArrays::fromArray(Lcom/ > > >> > >> > google/gwt/core/client/JavaScriptObject;)(properties) > > >> > >> > ); > > > >> > >> > }-*/; > > > >> > >> I'd personally use an intermediate setProperty(JsArray<Property>) > > >> > >> and > > >> > >> call the fromArray in pure Java. > > > >> > >> > But GWT complains about not being able to find the method with > > >> > >> > that > > >> > >> > signature. > > > >> > >>http://code.google.com/webtoolkit/doc/1.6/DevGuideCodingBasics.html#D... > > >> > >> links > > >> > >> tohttp://java.sun.com/j2se/1.4.2/docs/guide/jni/spec/types.html#wp16432 > > >> > >> which says to use: > > > >> > >> ...::fromArray([Lcom/google:gwt/core/client/JavaScriptObject;) > > >> > >> (properties) > > > >> > >> (note the left square bracket before the L) > > > >> > >> > Also, why are the ellipsis used? > > > >> > >> to allow for uses such as fromArray("a", "b", "c") instead of > > >> > >> fromArray > > >> > >> (new String[] { "a", "b", "c" }) > > > >> > >> > Do they have a special purpose in GWT? > > > >> > >> No (and as with generics, it's hardly more than syntactic sugar, as > > >> > >> the "new String[]" is implied in the example above) > > > >> > -- > > >> > Eric Z. Ayers - GWT Team - Atlanta, GA > > >> > USAhttp://code.google.com/webtoolkit/ > > > -- > > Google Code Jam 2009http://code.google.com/codejam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" 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-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
