http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/computeGadgetsBase.js File gadgets/src/com/google/gwt/gadgets/linker/computeGadgetsBase.js (right):
http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/computeGadgetsBase.js#newcode23 gadgets/src/com/google/gwt/gadgets/linker/computeGadgetsBase.js:23: base = tmpBase You can delete this line - we only set the base variable in computeScriptBase for backwards compatibility with the std and other old linkers. http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/installGadgetsScript.js File gadgets/src/com/google/gwt/gadgets/linker/installGadgetsScript.js (right): http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/installGadgetsScript.js#newcode38 gadgets/src/com/google/gwt/gadgets/linker/installGadgetsScript.js:38: script.src = $wnd.gadgets.io.getProxyUrl(filename); It seems heavy handed to me for you to maintain whole copies of installScriptEarlyDownload and loadExternalStylesheets.js just to make this one line switch in each of them. Also - in order to make devmode work, I think you'll need to do this switch for line 45 of permutations.js (where we reference the devmode.js file). At a minimum, I think you want to override permutations.js and update the devmode.js and md5.js paths there, rather than overriding this file and updating the md5.js filepath here. What I think is a better long term solution, would be the following: - Add a function called getFullUrl(path) { return __MODULE_FUNC__.__moduleBase + path; } to the xsiframe linker. For now, it's probably convenient enough to add that function to computeScriptBase.js if you don't want to set up a whole new .js include. - Do a code search to find all the places where the linker does a __MODULE_FUNC__.__moduleBase + something, and replace it with a getFullUrl(something); call (I believe there's only 3 places where we do that, and all 3 are the places you need to override anyway. - In your overridden computeGadgetsBase.js file, override the getFullUrl() function to do the getProxyUrl() call rather than appending the path to the moduleBase Does that sound like it would work? It covers all the changes that I noticed in these files, although it's possible that I missed something. It's a little more upfront work, but I think that long term, it'll make maintaining this linker a lot easier... http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js File gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js (right): http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js#newcode33 gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js:33: * place in the gadget linker to propagate gadget logic. So the problem with putting this here is that now you're maintaining a copy of all of the processMetas logic, and if that changes, you won't get updates. Would it make more sense if we put in an "arbitrary JS" hook into the xsiframe linker, so you could just override that (which would be empty by default) rather than the processMetas JS? http://gwt-code-reviews.appspot.com/1370808/diff/1010/gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js#newcode41 gadgets/src/com/google/gwt/gadgets/linker/processGadgetsMetas.js:41: // hack! assumes the installLocation() is window Why would you not get rid of this hack and just call getInstallLocation() here? http://gwt-code-reviews.appspot.com/1370808/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
