Revision: 10467
Author: gwt.mirror...@gmail.com
Date: Thu Jul 21 09:08:18 2011
Log: Avoid building SafeHtmlBuilders over and over again for no good
reason.
Review at http://gwt-code-reviews.appspot.com/1500801
http://code.google.com/p/google-web-toolkit/source/detail?r=10467
Modified:
/trunk/user/src/com/google/gwt/user/client/ui/Composite.java
/trunk/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/Composite.java Fri Jul 15
09:31:20 2011
+++ /trunk/user/src/com/google/gwt/user/client/ui/Composite.java Thu Jul 21
09:08:18 2011
@@ -90,9 +90,10 @@
if (renderable != null) {
return renderable.render(stamper);
} else {
- SafeHtmlBuilder builder = new SafeHtmlBuilder();
- render(stamper, builder);
- return builder.toSafeHtml();
+ HtmlSpanBuilder spanBuilder = HtmlBuilderFactory.get()
+ .createSpanBuilder();
+ stamper.stamp(spanBuilder).end();
+ return spanBuilder.asSafeHtml();
}
}
@@ -101,10 +102,7 @@
if (renderable != null) {
renderable.render(stamper, builder);
} else {
- HtmlSpanBuilder spanBuilder = HtmlBuilderFactory.get()
- .createSpanBuilder();
- stamper.stamp(spanBuilder).end();
- builder.append(spanBuilder.asSafeHtml());
+ builder.append(render(stamper));
}
}
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/RenderablePanel.java Fri
Jul 15 09:31:20 2011
+++ /trunk/user/src/com/google/gwt/user/client/ui/RenderablePanel.java Thu
Jul 21 09:08:18 2011
@@ -177,13 +177,6 @@
@Override
public SafeHtml render(RenderableStamper stamper) {
- SafeHtmlBuilder builder = new SafeHtmlBuilder();
- render(stamper, builder);
- return builder.toSafeHtml();
- }
-
- @Override
- public void render(RenderableStamper stamper, SafeHtmlBuilder builder) {
String styleName = getStyleName();
HtmlDivBuilder divBuilder = HtmlBuilderFactory.get()
@@ -195,7 +188,12 @@
stamper.stamp(divBuilder);
divBuilder.html(getInnerHtml()).end();
- builder.append(divBuilder.asSafeHtml());
+ return divBuilder.asSafeHtml();
+ }
+
+ @Override
+ public void render(RenderableStamper stamper, SafeHtmlBuilder builder) {
+ builder.append(render(stamper));
}
@Override
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors