Rollback of 24756130

Another mysterious build breakage... :-(

Review by: rjrjr@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10715 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/PotentialElement.java b/user/src/com/google/gwt/user/client/ui/PotentialElement.java
index a3b1e96..83d06d9 100644
--- a/user/src/com/google/gwt/user/client/ui/PotentialElement.java
+++ b/user/src/com/google/gwt/user/client/ui/PotentialElement.java
@@ -16,11 +16,9 @@
 package com.google.gwt.user.client.ui;
 
 import com.google.gwt.core.client.JavaScriptObject;
-import com.google.gwt.dom.builder.client.DomBuilderFactory;
-import com.google.gwt.dom.builder.shared.ElementBuilder;
-import com.google.gwt.dom.builder.shared.HtmlBuilderFactory;
-import com.google.gwt.dom.builder.shared.HtmlElementBuilder;
 import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.builder.shared.HtmlElementBuilder;
+import com.google.gwt.dom.builder.shared.HtmlBuilderFactory;
 
 /**
  * EXPERIMENTAL and subject to change. Do not use this in production code.
@@ -73,22 +71,6 @@
   }-*/;
 
   /**
-   * Creates an {@link ElementBuilder} instance inheriting all attributes
-   * set for the given PotentialElement.
-   *
-   * @param potentialElement assumed to be a PotentialElement, used as basis for
-   *     the builder
-   * @return a propertly configured {@link ElementBuilder} instance
-   */
-  public static ElementBuilder createDomBuilderFor(Element potentialElement) {
-    PotentialElement el = PotentialElement.as(potentialElement);
-    ElementBuilder builder = DomBuilderFactory.get().trustedCreate(
-        el.getTagName());
-    el.mergeInto(builder);
-    return builder;
-  }
-
-  /**
    * Creates an {@link HtmlElementBuilder} instance inheriting all attributes
    * set for the given PotentialElement.
    *
@@ -96,7 +78,7 @@
    *     the builder
    * @return a propertly configured {@link HtmlElementBuilder} instance
    */
-  public static HtmlElementBuilder createHtmlBuilderFor(Element potentialElement) {
+  public static HtmlElementBuilder createBuilderFor(Element potentialElement) {
     PotentialElement el = PotentialElement.as(potentialElement);
     HtmlElementBuilder builder = HtmlBuilderFactory.get().trustedCreate(
         el.getTagName());
@@ -182,7 +164,7 @@
    * prototype. Do this by severing the __proto__ link, allowing us to iterate
    * only on the fields set in this specific instance.
    */
-  private native void mergeInto(ElementBuilder builder) /*-{
+  private native void mergeInto(HtmlElementBuilder builder) /*-{
     var savedProto = this.__proto__;
     var tagName = this.tagName;
     var gwtResolve = this.__gwt_resolve;
diff --git a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
index 793c1c4..747c049 100644
--- a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
+++ b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
@@ -188,7 +188,7 @@
 
   @Override
   public SafeHtml render(RenderableStamper stamper) {
-    HtmlElementBuilder builder = PotentialElement.createHtmlBuilderFor(getElement());
+    HtmlElementBuilder builder = PotentialElement.createBuilderFor(getElement());
     stamper.stamp(builder);
     builder.html(getInnerHtml()).end();
 
@@ -229,8 +229,18 @@
    * that may have been added to the panel.
    */
   private void buildAndInitDivContainer() {
-    Element element = PotentialElement.createDomBuilderFor(getElement())
-        .html(getInnerHtml()).finish();
+    // TODO(rdcastro): Use the same technique as in render() above.
+
+    // Build the div that'll container the panel's HTML.
+    Element element = Document.get().createDivElement();
+    element.setInnerHTML(getInnerHtml().asString());
+
+    // TODO(rdcastro): Implement something like
+    // element.mergeFrom(getElement());
+    String styleName = getStyleName();
+    if (styleName != null) {
+      element.setClassName(styleName);
+    }
 
     setElement(element);