Reviewers: hermes, rchandia,

Description:
Pretty massive refactoring of FieldManager and HtmlTemplates to make
SafeUri work as expected. Similar will be needed for SafeStyles.

Introduces a hook in HtmlInterpreter to specialize parsing of specific
HTML attribute names, which previously were all String, period. And
each assignment of a FieldRef (that is, each call to
FieldReference#addLeftHandType) can now have multiple possible
values. This allows href to accept references to SafeUri or String,
and to prefer the former.

Took this opportunity to improve error reporting related to bad field
references: actual line numbers on type mismatch. Tidied error message
language in general while there. To this end, FieldReferences and
their left hand types now keep track of the XMLElement they came from.

Also simplifies the parsing code in XMLElement, possible now that
bundle attribute parsers are no more.


Please review this at http://gwt-code-reviews.appspot.com/1522803/

Affected files:
  M user/src/com/google/gwt/uibinder/attributeparsers/AttributeParser.java
  M user/src/com/google/gwt/uibinder/attributeparsers/AttributeParsers.java
M user/src/com/google/gwt/uibinder/attributeparsers/BooleanAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/DoubleAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/EnumAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverter.java M user/src/com/google/gwt/uibinder/attributeparsers/HorizontalAlignmentConstantParser.java M user/src/com/google/gwt/uibinder/attributeparsers/IntAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/IntPairAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/LengthAttributeParser.java A user/src/com/google/gwt/uibinder/attributeparsers/SafeUriAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/StrictAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/StringAttributeParser.java M user/src/com/google/gwt/uibinder/attributeparsers/TextAlignConstantParser.java M user/src/com/google/gwt/uibinder/attributeparsers/VerticalAlignmentConstantParser.java M user/src/com/google/gwt/uibinder/elementparsers/AttributeMessageInterpreter.java M user/src/com/google/gwt/uibinder/elementparsers/ComputedAttributeInterpreter.java
  M user/src/com/google/gwt/uibinder/elementparsers/FieldInterpreter.java
  M user/src/com/google/gwt/uibinder/elementparsers/HtmlInterpreter.java
M user/src/com/google/gwt/uibinder/elementparsers/HtmlMessageInterpreter.java M user/src/com/google/gwt/uibinder/elementparsers/IsRenderableInterpreter.java M user/src/com/google/gwt/uibinder/elementparsers/RenderablePanelParser.java
  M user/src/com/google/gwt/uibinder/elementparsers/TextInterpreter.java
M user/src/com/google/gwt/uibinder/elementparsers/UiSafeHtmlInterpreter.java
  M user/src/com/google/gwt/uibinder/elementparsers/UiTextInterpreter.java
  M user/src/com/google/gwt/uibinder/elementparsers/WidgetInterpreter.java
M user/src/com/google/gwt/uibinder/elementparsers/WidgetPlaceholderInterpreter.java
  M user/src/com/google/gwt/uibinder/rebind/AbstractFieldWriter.java
  M user/src/com/google/gwt/uibinder/rebind/FieldManager.java
  M user/src/com/google/gwt/uibinder/rebind/FieldReference.java
  M user/src/com/google/gwt/uibinder/rebind/MonitoredLogger.java
  M user/src/com/google/gwt/uibinder/rebind/MortalLogger.java
  M user/src/com/google/gwt/uibinder/rebind/Tokenator.java
  M user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
  M user/src/com/google/gwt/uibinder/rebind/XMLAttribute.java
  M user/src/com/google/gwt/uibinder/rebind/XMLElement.java
  D user/src/com/google/gwt/uibinder/rebind/model/HtmlTemplate.java
  D user/src/com/google/gwt/uibinder/rebind/model/HtmlTemplateArgument.java
A user/src/com/google/gwt/uibinder/rebind/model/HtmlTemplateMethodWriter.java
  D user/src/com/google/gwt/uibinder/rebind/model/HtmlTemplates.java
  A user/src/com/google/gwt/uibinder/rebind/model/HtmlTemplatesWriter.java
  M user/test/com/google/gwt/uibinder/LazyWidgetBuilderSuite.java
  M user/test/com/google/gwt/uibinder/UiBinderJreSuite.java
  M user/test/com/google/gwt/uibinder/UiBinderSuite.java
M user/test/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverterTest.java M user/test/com/google/gwt/uibinder/attributeparsers/HorizontalAlignmentConstantParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/HorizontalAlignmentConstantParser_Test.java M user/test/com/google/gwt/uibinder/attributeparsers/IntAttributeParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/IntPairAttributeParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/LengthAttributeParserTest.java A user/test/com/google/gwt/uibinder/attributeparsers/SafeUriAttributeParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/TextAlignConstantParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/VerticalAlignmentConstantParserTest.java M user/test/com/google/gwt/uibinder/attributeparsers/VerticalAlignmentConstantParser_Test.java M user/test/com/google/gwt/uibinder/elementparsers/AbsolutePanelParserTest.java M user/test/com/google/gwt/uibinder/rebind/FieldWriterOfGeneratedCssResourceTest.java
  M user/test/com/google/gwt/uibinder/rebind/MockMortalLogger.java
  M user/test/com/google/gwt/uibinder/rebind/TokenatorTest.java
  M user/test/com/google/gwt/uibinder/rebind/XMLElementTest.java
  D user/test/com/google/gwt/uibinder/rebind/model/HtmlTemplateTest.java
  M user/test/com/google/gwt/uibinder/rebind/model/HtmlTemplatesTest.java
  M user/test/com/google/gwt/uibinder/test/UiJavaResources.java
  M user/test/com/google/gwt/uibinder/test/client/DomBasedUi.java
  M user/test/com/google/gwt/uibinder/test/client/DomBasedUi.ui.xml
  M user/test/com/google/gwt/uibinder/test/client/FakeBundle.java
  A user/test/com/google/gwt/uibinder/test/client/HasUri.java
A user/test/com/google/gwt/uibinder/test/client/LazyWidgetSafeUriIntegrationTest.java A user/test/com/google/gwt/uibinder/test/client/SafeUriIntegrationTest.Ui.ui.xml A user/test/com/google/gwt/uibinder/test/client/SafeUriIntegrationTest.java
  M user/test/com/google/gwt/uibinder/test/client/WidgetBasedUi.ui.xml


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

Reply via email to