http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java File user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java (right):
http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java#newcode42 user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java:42: class defaultDelegate implements Delegate { class names have an initial cap http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java#newcode48 user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java:48: public UiBinderWriter getWriter() { Get rid of this method. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java#newcode61 user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java:61: public ComputedAttributeInterpreter(Delegate delegate) { This method should take both a UiBinderWriter and a Delegate. If you're bothered by the delegate needing a redundant reference to the writer, change its signature to getAttributeToken(XMLAttribute, UiBinderWriter) http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java File user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java (right): http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java#newcode24 user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java:24: * <b><ui:text from="{myMsg.message}" /></b>. It's called in both hasText ui:safehtml http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java#newcode25 user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java:25: * and hasHTML context. only called in html context, right? Also, html context is broader than just HasHtml objects. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java File user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java (right): http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java#newcode27 user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java:27: * and hasHTML context. both text and html contexts. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java#newcode44 user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java:44: protected static final String BINDER_URI = "urn:ui:com.google.gwt.uibinder"; not used by subclass, should be private http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java#newcode45 user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java:45: protected static final String LOCAL_NAME = "text"; ditto http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java#newcode48 user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java:48: protected final MortalLogger logger; ditto http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java#newcode66 user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java:66: createComputedAttributeInterpreter().interpretElement(elem); don't create a new one each time, make it in the constructor. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/elementparsers/ElementParserTester.java File user/test/com/google/gwt/uibinder/elementparsers/ElementParserTester.java (right): http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/elementparsers/ElementParserTester.java#newcode72 user/test/com/google/gwt/uibinder/elementparsers/ElementParserTester.java:72: static final String BINDER_URI = "urn:ui:com.google.gwt.uibinder"; Don't hard code it to the correct value, we won't know if parsers are incorrectly hard coding it themselves. Make it a constructor argument on MockUiBinderWriter. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/UiBinderTest.java File user/test/com/google/gwt/uibinder/test/client/UiBinderTest.java (right): http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/UiBinderTest.java#newcode634 user/test/com/google/gwt/uibinder/test/client/UiBinderTest.java:634: assertEquals(widgetUi.myText2.getText(), "<b>This text won't be bold!</b>"); Watch out for cross browser failure. Notice how other test methods here use toLowerCase to normalize things. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml File user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml (right): http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml#newcode684 user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml:684: These field names are confusing. http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml#newcode685 user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml:685: <gwt:HTML ui:field='mySafeHtml'><ui:safehtml from="{constants.getSafeHtml}" /></gwt:HTML> htmlWithComputedSafeHtml http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml#newcode686 user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml:686: <gwt:HTML ui:field='myText1'><ui:text from="{constants.getText}" /></gwt:HTML> htmlWithComputedText http://gwt-code-reviews.appspot.com/1422812/diff/7001/user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml#newcode687 user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml:687: <gwt:Label ui:field='myText2'><ui:text from="{constants.getText}"/></gwt:Label> labelWihtComputedText http://gwt-code-reviews.appspot.com/1422812/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors