On 11/06/12 12:01, Thomas Broyer wrote:
> How about customizing the CrossSiteIframeLinker instead?
> Customizing either the computeUrlForResource or loadExternalStylesheets to no 
> longer be relative to the "module base url" (but rather to, say, the "host 
> page base url").
> Or if you need it to be relative to the "module base url", add a linker to 
> emit the appropriate CSS files in the module output dir (where the Super Dev 
> Mode's will find them).
I have this working, so I'm back to using the standard code server. I have to 
remember to disable my custom linker before a production release, but I had to 
do that anyway with the new Super Dev Mode.

I gave my new linker the same name as the original (xsiframe) so that the 
change in ScriptTagLoadingStrategory <when-linker-added name="xsiframe"> 
continues to work without me having to replicate that explicitly for my own 
linker.

Some things I've noticed about Super Dev Mode:
(1) ImageBundle requests for *.cache.png do not go to the code server, nor do 
they go through computeUrlForResource. They should probably always come from 
the code server in super dev mode. Worse than this though, it seems that the 
computed strong name is different in client and server. I don't know if this is 
just me, but the client asks for a *.cache.png file that doesn't exist in a 
production compiled app, but does exist in the code server. So I don't have any 
ImageBundles working.

(2) Chrome doesn't seem to ask for the source maps unless the javascript 
console is open while a compilation is done. This means that you can't debug 
your app without an additional compilation if you happened to compile with the 
console closed.

(3) I only worked out what was going on in (2) because the custom code server I 
was originally using was set to log a message every time there was an http GET. 
Perhaps there should be a verbose option on code server to provide something 
similar?

(4) I have two host html files, with different deferred binding settings in 
them. If I change the URL in the browser's address bar to switch between them, 
a subsequent compile doesn't pick up the new bindings. I have to close the 
browser tab and open a new one.

(5) If you create an interface, and then define classes that implement that 
interface within the same source file, then the implementations don't appear 
inside Chrome. Eg:
    public interface Foo {
        public int getValue();

        public class FooImpl implements Foo { // --> FooImpl doesn't show up
            public int getValue() { return something; }
        }
    }


I can live with these things, especially given the experimental nature of Super 
Dev Mode. And I wouldn't want to delay 2.5 :)

Paul

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to