Replace instances of element.setInnerHTML(safeHtml.asString())
with element.setInnerSafeHtml(safeHtml).

Review at http://gwt-code-reviews.appspot.com/1857803

Review by: skybrian@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11344 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidgetView.java b/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidgetView.java
index 4797b6b..fddfad0 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidgetView.java
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidgetView.java
@@ -56,7 +56,7 @@
   }
 
   public void setDescription(SafeHtml html) {
-    descElem.setInnerHTML(html.asString());
+    descElem.setInnerSafeHtml(html);
   }
 
   public void setExample(Widget widget) {
diff --git a/user/src/com/google/gwt/cell/client/AbstractCell.java b/user/src/com/google/gwt/cell/client/AbstractCell.java
index 26205ed..68899f9 100644
--- a/user/src/com/google/gwt/cell/client/AbstractCell.java
+++ b/user/src/com/google/gwt/cell/client/AbstractCell.java
@@ -135,7 +135,7 @@
   public void setValue(Context context, Element parent, C value) {
     SafeHtmlBuilder sb = new SafeHtmlBuilder();
     render(context, value, sb);
-    parent.setInnerHTML(sb.toSafeHtml().asString());
+    parent.setInnerSafeHtml(sb.toSafeHtml());
   }
 
   /**
diff --git a/user/src/com/google/gwt/cell/client/ImageLoadingCell.java b/user/src/com/google/gwt/cell/client/ImageLoadingCell.java
index ea4a6d0..236980b 100644
--- a/user/src/com/google/gwt/cell/client/ImageLoadingCell.java
+++ b/user/src/com/google/gwt/cell/client/ImageLoadingCell.java
@@ -195,8 +195,7 @@
       imgWrapper.getStyle().setProperty("overflow", "auto");
     } else if (BrowserEvents.ERROR.equals(type) && eventOccurredOnImage(event, parent)) {
       // Replace the loading indicator with an error message.
-      parent.getFirstChildElement().setInnerHTML(
-          errorRenderer.render(value).asString());
+      parent.getFirstChildElement().setInnerSafeHtml(errorRenderer.render(value));
     }
   }
 
diff --git a/user/src/com/google/gwt/dom/builder/client/DomBuilderImpl.java b/user/src/com/google/gwt/dom/builder/client/DomBuilderImpl.java
index 280d9fb..88ae07d 100644
--- a/user/src/com/google/gwt/dom/builder/client/DomBuilderImpl.java
+++ b/user/src/com/google/gwt/dom/builder/client/DomBuilderImpl.java
@@ -568,7 +568,7 @@
 
   @Override
   protected void doHtmlImpl(SafeHtml html) {
-    getCurrentElement().setInnerHTML(html.asString());
+    getCurrentElement().setInnerSafeHtml(html);
   }
 
   @Override
diff --git a/user/src/com/google/gwt/dom/builder/shared/HtmlBuilderImpl.java b/user/src/com/google/gwt/dom/builder/shared/HtmlBuilderImpl.java
index 8488cc2..66919c5 100644
--- a/user/src/com/google/gwt/dom/builder/shared/HtmlBuilderImpl.java
+++ b/user/src/com/google/gwt/dom/builder/shared/HtmlBuilderImpl.java
@@ -654,7 +654,7 @@
   @Override
   protected Element doFinishImpl() {
     Element tmp = Document.get().createDivElement();
-    tmp.setInnerHTML(asSafeHtml().asString());
+    tmp.setInnerSafeHtml(asSafeHtml());
     return tmp.getFirstChildElement();
   }
 
diff --git a/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java b/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
index d489cae..bc3d7cb 100644
--- a/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
+++ b/user/src/com/google/gwt/user/cellview/client/AbstractCellTable.java
@@ -475,11 +475,11 @@
        */
       sectionTag = sectionTag.toLowerCase();
       if ("tbody".equals(sectionTag)) {
-        tmpElem.setInnerHTML(template.tbody(rowHtml).asString());
+        tmpElem.setInnerSafeHtml(template.tbody(rowHtml));
       } else if ("thead".equals(sectionTag)) {
-        tmpElem.setInnerHTML(template.thead(rowHtml).asString());
+        tmpElem.setInnerSafeHtml(template.thead(rowHtml));
       } else if ("tfoot".equals(sectionTag)) {
-        tmpElem.setInnerHTML(template.tfoot(rowHtml).asString());
+        tmpElem.setInnerSafeHtml(template.tfoot(rowHtml));
       } else {
         throw new IllegalArgumentException("Invalid table section tag: " + sectionTag);
       }
@@ -633,7 +633,7 @@
      */
     protected void replaceAllRowsImpl(AbstractCellTable<?> table, TableSectionElement section,
         SafeHtml html) {
-      section.setInnerHTML(html.asString());
+      section.setInnerSafeHtml(html);
     }
   }
 
diff --git a/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java b/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
index 05ba50c..fe84f8f 100644
--- a/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
+++ b/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
@@ -363,7 +363,7 @@
     // cached images.
     DOM.setEventListener(tmpElem, widget);
 
-    tmpElem.setInnerHTML(html.asString());
+    tmpElem.setInnerSafeHtml(html);
 
     // Detach the event listener.
     DOM.setEventListener(tmpElem, null);
@@ -386,7 +386,7 @@
     }
 
     // Render the HTML.
-    childContainer.setInnerHTML(CellBasedWidgetImpl.get().processHtml(html).asString());
+    childContainer.setInnerSafeHtml(CellBasedWidgetImpl.get().processHtml(html));
 
     // Detach the event listener.
     if (!widget.isAttached()) {
diff --git a/user/src/com/google/gwt/user/cellview/client/CellBrowser.java b/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
index b6dd0292..34e5c7b 100644
--- a/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
+++ b/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
@@ -375,7 +375,7 @@
       } else {
         image = closedImageHtml;
       }
-      tmpElem.setInnerHTML(image.asString());
+      tmpElem.setInnerSafeHtml(image);
       elem.replaceChild(tmpElem.getFirstChildElement(), elem.getFirstChildElement());
 
       // Update the open state.
diff --git a/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java b/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
index 83dc8de..503c7ba 100644
--- a/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
+++ b/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
@@ -1394,7 +1394,7 @@
       html = LEAF_IMAGE;
     }
     Element tmp = Document.get().createDivElement();
-    tmp.setInnerHTML(html.asString());
+    tmp.setInnerSafeHtml(html);
     Element imageElem = tmp.getFirstChildElement();
 
     Element oldImg = getImageElement();
diff --git a/user/src/com/google/gwt/user/cellview/client/CellWidget.java b/user/src/com/google/gwt/user/cellview/client/CellWidget.java
index 0c5b44b..a3bb819 100644
--- a/user/src/com/google/gwt/user/cellview/client/CellWidget.java
+++ b/user/src/com/google/gwt/user/cellview/client/CellWidget.java
@@ -204,7 +204,7 @@
   public void redraw() {
     SafeHtmlBuilder sb = new SafeHtmlBuilder();
     cell.render(createContext(), value, sb);
-    getElement().setInnerHTML(sb.toSafeHtml().asString());
+    getElement().setInnerSafeHtml(sb.toSafeHtml());
 
     /*
      * The rendered Cell should fill the root element so height and width styles
@@ -282,4 +282,4 @@
   private Object getKey(C value) {
     return (keyProvider == null || value == null) ? value : keyProvider.getKey(value);
   }
-}
\ No newline at end of file
+}
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 165fc66..3656ecb 100644
--- a/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
+++ b/user/src/com/google/gwt/user/client/ui/RenderablePanel.java
@@ -233,7 +233,7 @@
 
     // Build the div that'll container the panel's HTML.
     Element element = Document.get().createDivElement();
-    element.setInnerHTML(getInnerHtml().asString());
+    element.setInnerSafeHtml(getInnerHtml());
 
     // TODO(rdcastro): Implement something like
     // element.mergeFrom(getElement());
diff --git a/user/src/com/google/gwt/user/client/ui/impl/ClippedImageImpl.java b/user/src/com/google/gwt/user/client/ui/impl/ClippedImageImpl.java
index 85da019..a772f1d 100644
--- a/user/src/com/google/gwt/user/client/ui/impl/ClippedImageImpl.java
+++ b/user/src/com/google/gwt/user/client/ui/impl/ClippedImageImpl.java
@@ -63,7 +63,7 @@
 
   public Element createStructure(SafeUri url, int left, int top, int width, int height) {
     Element tmp = Document.get().createSpanElement();
-    tmp.setInnerHTML(getSafeHtml(url, left, top, width, height).asString());
+    tmp.setInnerSafeHtml(getSafeHtml(url, left, top, width, height));
     return tmp.getFirstChildElement();
   }
 
diff --git a/user/test/com/google/gwt/cell/client/ImageLoadingCellTest.java b/user/test/com/google/gwt/cell/client/ImageLoadingCellTest.java
index 87d7beb..9c4e477 100644
--- a/user/test/com/google/gwt/cell/client/ImageLoadingCellTest.java
+++ b/user/test/com/google/gwt/cell/client/ImageLoadingCellTest.java
@@ -36,7 +36,7 @@
 
     // Render the html.
     Element elem = Document.get().createDivElement();
-    elem.setInnerHTML(sb.toSafeHtml().asString());
+    elem.setInnerSafeHtml(sb.toSafeHtml());
 
     // Verify the image.
     assertEquals(2, elem.getChildCount());
@@ -56,7 +56,7 @@
  
     // Render the html.
     Element elem = Document.get().createDivElement();
-    elem.setInnerHTML(sb.toSafeHtml().asString());
+    elem.setInnerSafeHtml(sb.toSafeHtml());
 
     // Verify the image.
     assertEquals(2, elem.getChildCount());
diff --git a/user/test/com/google/gwt/uibinder/test/client/UiRendererEventsTest.java b/user/test/com/google/gwt/uibinder/test/client/UiRendererEventsTest.java
index 8f6c53e..934becf 100644
--- a/user/test/com/google/gwt/uibinder/test/client/UiRendererEventsTest.java
+++ b/user/test/com/google/gwt/uibinder/test/client/UiRendererEventsTest.java
@@ -170,7 +170,7 @@
     bazReceiver = new MockBazReceiver();
 
     uiParent = Document.get().createDivElement();
-    uiParent.setInnerHTML(renderedUi.asString());
+    uiParent.setInnerSafeHtml(renderedUi);
     Document.get().getBody().appendChild(uiParent);
 
     uiRoot = Element.as(uiParent.getChild(0));
diff --git a/user/test/com/google/gwt/uibinder/test/client/UiRendererTest.java b/user/test/com/google/gwt/uibinder/test/client/UiRendererTest.java
index b5a5ef5..b97a9e4 100644
--- a/user/test/com/google/gwt/uibinder/test/client/UiRendererTest.java
+++ b/user/test/com/google/gwt/uibinder/test/client/UiRendererTest.java
@@ -51,7 +51,7 @@
     renderer = UiRendererUi.getRenderer();
 
     docDiv = Document.get().createDivElement();
-    docDiv.setInnerHTML(renderedHtml.asString());
+    docDiv.setInnerSafeHtml(renderedHtml);
     Document.get().getBody().appendChild(docDiv);
   }