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

Reply via email to