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

Reply via email to