Just a few comments on the JSNI part. I was curious about what a PotentialElement would be, but I haven't followed how IsRenderable work so I really don't have any opinion on the rest of this proposal.
http://gwt-code-reviews.appspot.com/1450810/diff/1/user/src/com/google/gwt/user/client/ui/PotentialElement.java File user/src/com/google/gwt/user/client/ui/PotentialElement.java (right): http://gwt-code-reviews.appspot.com/1450810/diff/1/user/src/com/google/gwt/user/client/ui/PotentialElement.java#newcode42 user/src/com/google/gwt/user/client/ui/PotentialElement.java:42: e = {}; var e = {}; otherwise 'e' will be global (and e.__gwt_finishBuild=null won't be what you're expecting it to be) http://gwt-code-reviews.appspot.com/1450810/diff/1/user/src/com/google/gwt/user/client/ui/PotentialElement.java#newcode43 user/src/com/google/gwt/user/client/ui/PotentialElement.java:43: e.style = {}; Why not: return { style: {}, setAttribute: function(name, value) { this[name] = value; }, __gwt_finishBuild = function() { this.__gwt_finishBuild = null; return [email protected]::finishBuild()(); } }; http://gwt-code-reviews.appspot.com/1450810/diff/1/user/src/com/google/gwt/user/client/ui/PotentialElement.java#newcode45 user/src/com/google/gwt/user/client/ui/PotentialElement.java:45: e[name] = value; Any reason to use 'e' rather than 'this'? http://gwt-code-reviews.appspot.com/1450810/diff/1/user/src/com/google/gwt/user/client/ui/PotentialElement.java#newcode58 user/src/com/google/gwt/user/client/ui/PotentialElement.java:58: return (PotentialElement) o; o.<PotentialElement>cast() ? http://gwt-code-reviews.appspot.com/1450810/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
