Moved the GWT CSS themes into separate packages under com.google.get.user.theme.  Users can include a theme in their gwt.xml file by inheriting the appropriate module.  I updated the code museum and showcase to reflect the new locations of the themes.

Patch by: jlabanca, rajeev, bruce, cameron
Review by: rajeev (desk review)



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2837 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/reference/code-museum/src/com/google/gwt/museum/Museum.gwt.xml b/reference/code-museum/src/com/google/gwt/museum/Museum.gwt.xml
index 663a360..eb1cb56 100644
--- a/reference/code-museum/src/com/google/gwt/museum/Museum.gwt.xml
+++ b/reference/code-museum/src/com/google/gwt/museum/Museum.gwt.xml
@@ -2,6 +2,7 @@
     
     <!-- Inherit the core Web Toolkit stuff.                  -->
     <inherits name='com.google.gwt.user.User'/>
+    <inherits name="com.google.gwt.user.theme.standard.Standard"/>
    
     <source path="client/common"/>
     <source path="client/viewer"/>
diff --git a/reference/code-museum/src/com/google/gwt/museum/SingleIssue.gwt.xml b/reference/code-museum/src/com/google/gwt/museum/SingleIssue.gwt.xml
index d592c42..a986ac3 100644
--- a/reference/code-museum/src/com/google/gwt/museum/SingleIssue.gwt.xml
+++ b/reference/code-museum/src/com/google/gwt/museum/SingleIssue.gwt.xml
@@ -2,6 +2,7 @@
     
     <!-- Inherit the core Web Toolkit stuff.                  -->
     <inherits name='com.google.gwt.user.User'/>
+    <inherits name="com.google.gwt.user.theme.standard.Standard"/>
     
     <!-- Specify the app entry point class.                   -->
     <entry-point class='com.google.gwt.museum.client.defaultmuseum.Issue1488'/>
diff --git a/reference/code-museum/src/com/google/gwt/museum/client/common/AbstractIssue.java b/reference/code-museum/src/com/google/gwt/museum/client/common/AbstractIssue.java
index ef76e19..7cbe913 100644
--- a/reference/code-museum/src/com/google/gwt/museum/client/common/AbstractIssue.java
+++ b/reference/code-museum/src/com/google/gwt/museum/client/common/AbstractIssue.java
@@ -117,6 +117,7 @@
   }
 
   public void onModuleLoad() {
+    Utility.removeGwtStyleSheet();
     Utility.getHeadElement().appendChild(createCSS());
     Window.setTitle(getHeadline());
     RootPanel.get().add(new HTML(getInstructions()));
diff --git a/reference/code-museum/src/com/google/gwt/museum/client/common/Utility.java b/reference/code-museum/src/com/google/gwt/museum/client/common/Utility.java
index c4d4093..1331a8a 100644
--- a/reference/code-museum/src/com/google/gwt/museum/client/common/Utility.java
+++ b/reference/code-museum/src/com/google/gwt/museum/client/common/Utility.java
@@ -16,7 +16,10 @@
 

 package com.google.gwt.museum.client.common;

 

+import com.google.gwt.dom.client.Element;

 import com.google.gwt.dom.client.HeadElement;

+import com.google.gwt.dom.client.Node;

+import com.google.gwt.dom.client.NodeList;

 

 /**

  * Utility helper methods.

@@ -30,4 +33,27 @@
   public static native HeadElement getHeadElement() /*-{

     return $doc.getElementsByTagName("head")[0];

   }-*/;

+

+  /**

+   * Remove the GWT style sheet from the head element so it does not conflict

+   * with this styles used by the issue. The CSS file used by the issue can

+   * still import the GWT style sheet if needed.

+   */

+  public static void removeGwtStyleSheet() {

+    // Remove the GWT style sheet

+    HeadElement headElem = getHeadElement();

+    NodeList<Node> children = headElem.getChildNodes();

+    for (int i = 0; i < children.getLength(); i++) {

+      Node node = children.getItem(i);

+      if (node.getNodeType() == Node.ELEMENT_NODE) {

+        Element elem = Element.as(node);

+        if (elem.getTagName().equalsIgnoreCase("link")

+            && elem.getPropertyString("rel").equalsIgnoreCase("stylesheet")

+            && elem.getPropertyString("href").contains("standard.css")) {

+          headElem.removeChild(elem);

+          return;

+        }

+      }

+    }

+  }

 }

diff --git a/reference/code-museum/src/com/google/gwt/museum/client/viewer/Museum.java b/reference/code-museum/src/com/google/gwt/museum/client/viewer/Museum.java
index 26cceca..f633add 100644
--- a/reference/code-museum/src/com/google/gwt/museum/client/viewer/Museum.java
+++ b/reference/code-museum/src/com/google/gwt/museum/client/viewer/Museum.java
@@ -136,6 +136,7 @@
   }
 
   public void onModuleLoad() {
+    Utility.removeGwtStyleSheet();
 
     // Add the options and issue containers to the page
     RootPanel.get().add(createOptionsPanel());
diff --git a/reference/code-museum/src/com/google/gwt/museum/public/issues/Default.css b/reference/code-museum/src/com/google/gwt/museum/public/issues/Default.css
index 3d0591e..bc6c7f3 100644
--- a/reference/code-museum/src/com/google/gwt/museum/public/issues/Default.css
+++ b/reference/code-museum/src/com/google/gwt/museum/public/issues/Default.css
@@ -1,3 +1,3 @@
-@import url("../default/GWT.css");

+@import url("../gwt/standard/standard.css");

 @import url("MasterIssue.css");

  
\ No newline at end of file
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/Showcase.gwt.xml b/samples/showcase/src/com/google/gwt/sample/showcase/Showcase.gwt.xml
index 8a06d26..9a92cc0 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/Showcase.gwt.xml
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/Showcase.gwt.xml
@@ -3,6 +3,9 @@
 	<inherits name="com.google.gwt.core.Core"/>
 	<inherits name='com.google.gwt.user.User'/>
 	<inherits name="com.google.gwt.i18n.I18N"/>
+      <inherits name="com.google.gwt.user.theme.standard.Standard"/>
+      <inherits name="com.google.gwt.user.theme.chrome.Chrome"/>
+      <inherits name="com.google.gwt.user.theme.dark.Dark"/>
 
 	<!-- Enable debug ID. -->
 	<inherits name="com.google.gwt.user.Debug"/>
@@ -23,6 +26,5 @@
 	<extend-property name="locale" values="zh"/>
 
 	<!-- Include style sheets. -->
-	<stylesheet src="default/GWT.css"/>
-	<stylesheet src="default/Showcase.css"/>
+	<stylesheet src="standard/Showcase.css"/>
 </module>
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java b/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java
index df1d615..a3e9215 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java
@@ -17,6 +17,12 @@
 
 import com.google.gwt.core.client.EntryPoint;
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.dom.client.Document;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.HeadElement;
+import com.google.gwt.dom.client.LinkElement;
+import com.google.gwt.dom.client.Node;
+import com.google.gwt.dom.client.NodeList;
 import com.google.gwt.i18n.client.LocaleInfo;
 import com.google.gwt.sample.showcase.client.Application.ApplicationListener;
 import com.google.gwt.sample.showcase.client.content.i18n.CwConstantsExample;
@@ -54,8 +60,6 @@
 import com.google.gwt.sample.showcase.client.content.widgets.CwFileUpload;
 import com.google.gwt.sample.showcase.client.content.widgets.CwHyperlink;
 import com.google.gwt.sample.showcase.client.content.widgets.CwRadioButton;
-import com.google.gwt.user.client.DOM;
-import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.HistoryListener;
 import com.google.gwt.user.client.Timer;
@@ -150,7 +154,7 @@
    * 
    * @return the document's head element
    */
-  private static native Element getHeadElement() /*-{
+  private static native HeadElement getHeadElement() /*-{
     return $doc.getElementsByTagName("head")[0];
   }-*/;
 
@@ -254,9 +258,7 @@
     // loaded. Note that we are basing the layout on the width defined in the
     // LTR version, so both versions should use the same width for the main nav
     // menu.
-    if (LocaleInfo.getCurrentLocale().isRTL()) {
-      updateStyleSheets();
-    }
+    updateStyleSheets();
 
     // Add an listener that sets the content widget when a menu item is selected
     app.setListener(new ApplicationListener() {
@@ -322,6 +324,20 @@
   }
 
   /**
+   * Create a new {@link LinkElement} that links to a style sheet and append it
+   * to the head element.
+   * 
+   * @param href the path to the style sheet
+   */
+  private void loadStyleSheet(String href) {
+    LinkElement linkElem = Document.get().createLinkElement();
+    linkElem.setRel("stylesheet");
+    linkElem.setType("text/css");
+    linkElem.setHref(href);
+    getHeadElement().appendChild(linkElem);
+  }
+
+  /**
    * Create the main links at the top of the application.
    * 
    * @param constants the constants with text
@@ -532,40 +548,30 @@
    */
   private void updateStyleSheets() {
     // Remove existing style sheets
-    boolean isRTL = LocaleInfo.getCurrentLocale().isRTL();
-    Element headElem = getHeadElement();
-    int numChildren = DOM.getChildCount(headElem);
-    for (int i = 0; i < numChildren; i++) {
-      Element elem = DOM.getChild(headElem, i);
-      if (DOM.getElementProperty(elem, "tagName").equalsIgnoreCase("link")
-          && DOM.getElementProperty(elem, "rel").equalsIgnoreCase("stylesheet")) {
-        // Remove the existing link
-        String href = DOM.getElementProperty(elem, "href");
-        DOM.removeChild(headElem, elem);
-
-        // Set the theme
-        for (String oldTheme : ShowcaseConstants.STYLE_THEMES) {
-          href = href.replaceAll("/" + oldTheme + "/", "/" + CUR_THEME + "/");
+    HeadElement headElem = getHeadElement();
+    NodeList<Node> children = headElem.getChildNodes();
+    for (int i = 0; i < children.getLength(); i++) {
+      Node node = children.getItem(i);
+      if (node.getNodeType() == Node.ELEMENT_NODE) {
+        Element elem = Element.as(node);
+        if (elem.getTagName().equalsIgnoreCase("link")
+            && elem.getPropertyString("rel").equalsIgnoreCase("stylesheet")) {
+          headElem.removeChild(elem);
+          i--;
         }
-
-        // Convert to an rtl suffix
-        if (isRTL) {
-          href = href.replaceAll("_rtl.css", ".css");
-          href = href.replaceAll(".css", "_rtl.css");
-        }
-
-        // Start waiting for the new GWT style sheet to load
-        if (href.contains("GWT.")) {
-          styleTesterTimer.schedule(25);
-        }
-
-        // Add the style tag to the page
-        Element styleElem = DOM.createElement("link");
-        DOM.setElementProperty(styleElem, "rel", "stylesheet");
-        DOM.setElementProperty(styleElem, "type", "text/css");
-        DOM.setElementProperty(styleElem, "href", href);
-        DOM.insertChild(headElem, styleElem, i);
       }
     }
+
+    // Add the new style sheets
+    String modulePath = GWT.getModuleBaseURL();
+    String gwtPath = modulePath + "gwt/" + CUR_THEME + "/" + CUR_THEME + ".css";
+    String showcasePath = modulePath + CUR_THEME + "/Showcase.css";
+    if (LocaleInfo.getCurrentLocale().isRTL()) {
+      gwtPath = gwtPath.replace(".css", "_rtl.css");
+      showcasePath = showcasePath.replace(".css", "_rtl.css");
+    }
+    styleTesterTimer.schedule(25);
+    loadStyleSheet(gwtPath);
+    loadStyleSheet(showcasePath);
   }
 }
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/client/ShowcaseConstants.java b/samples/showcase/src/com/google/gwt/sample/showcase/client/ShowcaseConstants.java
index 98db527..99b7595 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/client/ShowcaseConstants.java
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/client/ShowcaseConstants.java
@@ -108,7 +108,7 @@
   /**
    * The available style themes that the user can select.
    */
-  String[] STYLE_THEMES = {"default", "chrome", "dark"};
+  String[] STYLE_THEMES = {"standard", "chrome", "dark"};
 
   String categoryI18N();
 
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/generator/ShowcaseGenerator.java b/samples/showcase/src/com/google/gwt/sample/showcase/generator/ShowcaseGenerator.java
index 0375787..c594d95 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/generator/ShowcaseGenerator.java
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/generator/ShowcaseGenerator.java
@@ -48,7 +48,7 @@
    * RTL mode.
    */
   private static final String[] SRC_CSS = {
-      "com/google/gwt/user/public/$THEME/GWT.css",
+      "com/google/gwt/user/theme/$THEME/public/gwt/$THEME/$THEME.css",
       "com/google/gwt/sample/showcase/public/$THEME/Showcase.css"};
 
   /**
@@ -286,7 +286,7 @@
       throws UnableToCompleteException {
     InputStream in = classLoader.getResourceAsStream(path);
     if (in == null) {
-      logger.log(TreeLogger.ERROR, "Resource not found");
+      logger.log(TreeLogger.ERROR, "Resource not found: " + path);
       throw new UnableToCompleteException();
     }
 
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/Showcase.html b/samples/showcase/src/com/google/gwt/sample/showcase/public/Showcase.html
index 227ba90..e88d337 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/Showcase.html
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/Showcase.html
@@ -1,19 +1,19 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <HTML>
-	<head>
-		<title>Showcase of GWT Features</title>
-		<script language='javascript'>
-		 // Used in the Dictionary Example
-  		var userInfo = {
+  <head>
+    <title>Showcase of GWT Features</title>
+    <script language='javascript'>
+      // Used in the Dictionary Example
+  	var userInfo = {
         name: "Amelie Crutcher",
         timeZone: "EST",
         userID: "123",
         lastLogOn: "2/2/2006"
       };
-		</script>
+    </script>
     <script language='javascript' src='com.google.gwt.sample.showcase.Showcase.nocache.js'></script>
-	</head>
-	<body>
-		<iframe src="javascript:''" id="__gwt_historyFrame" style="position:absolute;width:0;height:0;border:0"></iframe>
-	</body>
+  </head>
+  <body>
+    <iframe src="javascript:''" id="__gwt_historyFrame" style="position:absolute;width:0;height:0;border:0"></iframe>
+  </body>
 </html>
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase.css
index b2d7b72..f9e205d 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
@@ -71,7 +71,7 @@
 .Application-content-title {
   padding: 4px 0px 3px 6px;
   text-align: left;
-  background: url(images/hborder.png) repeat-x 0px -2003px;
+  background: url(../gwt/chrome/images/hborder.png) repeat-x 0px -2003px;
   border-bottom: 2px solid #e3e3e3;
 }
 .Application-content-title .gwt-TabBarItem {
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase_rtl.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase_rtl.css
index 9ec344f..cd9ea6b 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase_rtl.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/chrome/Showcase_rtl.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
@@ -71,7 +71,7 @@
 .Application-content-title {
   padding: 4px 6px 3px 0px;
   text-align: right;
-  background: url(images/hborder.png) repeat-x 0px -2003px;
+  background: url(../gwt/chrome/images/hborder.png) repeat-x 0px -2003px;
   border-bottom: 2px solid #e3e3e3;
 }
 .Application-content-title .gwt-TabBarItem {
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase.css
index b50060f..29abf5a 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase_rtl.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase_rtl.css
index b335345..af24b2b 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase_rtl.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/dark/Showcase_rtl.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase.css
similarity index 95%
rename from samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase.css
rename to samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase.css
index 69302dd..3bcc86a 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
@@ -71,7 +71,7 @@
 .Application-content-title {
   padding: 4px 0px 3px 6px;
   text-align: left;
-  background: url(images/hborder.png) repeat-x 0px -2003px;
+  background: url(../gwt/standard/images/hborder.png) repeat-x 0px -2003px;
   border-bottom: 2px solid #bbcdf3;
 }
 .Application-content-title .gwt-TabBarItem {
diff --git a/samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase_rtl.css b/samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase_rtl.css
similarity index 95%
rename from samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase_rtl.css
rename to samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase_rtl.css
index 68db7fb..bfa9acc 100644
--- a/samples/showcase/src/com/google/gwt/sample/showcase/public/default/Showcase_rtl.css
+++ b/samples/showcase/src/com/google/gwt/sample/showcase/public/standard/Showcase_rtl.css
@@ -48,7 +48,7 @@
 .Application-options .gwt-ToggleButton-down-hovering {
   cursor: default;
 }
-.Application-options .sc-ThemeButton-default {
+.Application-options .sc-ThemeButton-standard {
   background: #d0e4f6;
 }
 .Application-options .sc-ThemeButton-chrome {
@@ -71,7 +71,7 @@
 .Application-content-title {
   padding: 4px 6px 3px 0px;
   text-align: right;
-  background: url(images/hborder.png) repeat-x 0px -2003px;
+  background: url(../gwt/standard/images/hborder.png) repeat-x 0px -2003px;
   border-bottom: 2px solid #bbcdf3;
 }
 .Application-content-title .gwt-TabBarItem {
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/hborder_gray_shadow.png b/user/src/com/google/gwt/user/public/default/images/ie6/hborder_gray_shadow.png
deleted file mode 100644
index f4d1844..0000000
--- a/user/src/com/google/gwt/user/public/default/images/ie6/hborder_gray_shadow.png
+++ /dev/null
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/vborder_gray_shadow.png b/user/src/com/google/gwt/user/public/default/images/ie6/vborder_gray_shadow.png
deleted file mode 100644
index fccce49..0000000
--- a/user/src/com/google/gwt/user/public/default/images/ie6/vborder_gray_shadow.png
+++ /dev/null
Binary files differ
diff --git a/user/src/com/google/gwt/user/theme/chrome/Chrome.gwt.xml b/user/src/com/google/gwt/user/theme/chrome/Chrome.gwt.xml
new file mode 100644
index 0000000..4069e63
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/chrome/Chrome.gwt.xml
@@ -0,0 +1,20 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Chrome theme. -->
+<module>
+      <stylesheet src="gwt/chrome/chrome.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/theme/chrome/ChromeRTL.gwt.xml b/user/src/com/google/gwt/user/theme/chrome/ChromeRTL.gwt.xml
new file mode 100644
index 0000000..4a0fd0a
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/chrome/ChromeRTL.gwt.xml
@@ -0,0 +1,24 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Chrome theme, in RTL mode.       -->
+<!--                                                                    -->
+<!-- The way in which RTL-specific versions of CSS styles are included  -->
+<!-- is subject to change in the future.  Specifically, the RTL version -->
+<!-- will be automatically selected in locales with RTL languages.      -->
+<module>
+      <stylesheet src="gwt/chrome/chrome_rtl.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/public/chrome/GWT.css b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css
similarity index 92%
rename from user/src/com/google/gwt/user/public/chrome/GWT.css
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css
index 429dd6b..a4b0af5 100644
--- a/user/src/com/google/gwt/user/public/chrome/GWT.css
+++ b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css
@@ -100,14 +100,14 @@
   width: 5px;
   height: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .topRightInner {
   width: 10px;
   height: 5px;
   margin-left: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomLeftInner {
   width: 5px;
@@ -115,7 +115,7 @@
   margin-left: 0px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomRightInner {
   width: 10px;
@@ -123,7 +123,7 @@
   margin-left: -5px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DialogBox .Caption {
@@ -143,7 +143,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -152,7 +152,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -187,19 +187,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -207,7 +207,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -332,7 +332,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -341,7 +341,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -380,7 +380,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -388,14 +388,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -403,7 +403,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -432,7 +432,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -441,7 +441,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -480,7 +480,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -488,14 +488,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -503,7 +503,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -680,7 +680,7 @@
   overflow: hidden;
   border-left: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedStackPanel .stackItemTopRightInner {
   width: 12px;
@@ -690,7 +690,7 @@
   overflow: hidden;
   border-right: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedStackPanel .stackItemTopCenter {
   background: url(images/hborder.png) 0px -21px repeat-x;
@@ -759,7 +759,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -768,7 +768,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -807,7 +807,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -815,14 +815,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -830,7 +830,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
@@ -900,7 +900,7 @@
   height: 61px;
   margin-top: -55px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .tabTopRightInner {
   width: 12px;
@@ -908,7 +908,7 @@
   margin-top: -55px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .tabMiddleLeft,
 .gwt-DecoratedTabBar .tabMiddleRight {
@@ -944,7 +944,7 @@
   height: 67px;
   margin-top: -61px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRightInner {
   width: 12px;
@@ -952,7 +952,7 @@
   margin-top: -61px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
diff --git a/user/src/com/google/gwt/user/public/chrome/GWT_rtl.css b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css
similarity index 92%
rename from user/src/com/google/gwt/user/public/chrome/GWT_rtl.css
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css
index a3debb4..b848170 100644
--- a/user/src/com/google/gwt/user/public/chrome/GWT_rtl.css
+++ b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css
@@ -100,14 +100,14 @@
   width: 5px;
   height: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .topRightInner {
   width: 10px;
   height: 5px;
   margin-left: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomLeftInner {
   width: 5px;
@@ -115,7 +115,7 @@
   margin-left: 0px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomRightInner {
   width: 10px;
@@ -123,7 +123,7 @@
   margin-left: -5px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DialogBox .Caption {
@@ -143,7 +143,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -152,7 +152,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -187,19 +187,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -207,7 +207,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -332,7 +332,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -341,7 +341,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -380,7 +380,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -388,14 +388,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -403,7 +403,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -432,7 +432,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -441,7 +441,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -480,7 +480,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -488,14 +488,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -503,7 +503,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -680,7 +680,7 @@
   overflow: hidden;
   border-left: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedStackPanel .stackItemTopRightInner {
   width: 12px;
@@ -690,7 +690,7 @@
   overflow: hidden;
   border-right: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedStackPanel .stackItemTopCenter {
   background: url(images/hborder.png) 0px -21px repeat-x;
@@ -759,7 +759,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -768,7 +768,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -807,7 +807,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -815,14 +815,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -830,7 +830,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
@@ -900,7 +900,7 @@
   height: 61px;
   margin-top: -55px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .tabTopRightInner {
   width: 12px;
@@ -908,7 +908,7 @@
   margin-top: -55px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .tabMiddleLeft,
 .gwt-DecoratedTabBar .tabMiddleRight {
@@ -944,7 +944,7 @@
   height: 67px;
   margin-top: -61px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRightInner {
   width: 12px;
@@ -952,7 +952,7 @@
   margin-top: -61px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='chrome/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/chrome/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
diff --git a/user/src/com/google/gwt/user/public/chrome/images/corner.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/corner.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/corner.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/corner.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/hborder.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/hborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/hborder.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/hborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/corner_dialog_topleft.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/corner_dialog_topleft.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/corner_dialog_topleft.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/corner_dialog_topleft.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/corner_dialog_topright.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/corner_dialog_topright.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/corner_dialog_topright.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/corner_dialog_topright.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_blue_shadow.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/hborder_blue_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_blue_shadow.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/hborder_blue_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/hborder_gray_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_gray_shadow.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/hborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_blue_shadow.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/vborder_blue_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_blue_shadow.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/vborder_blue_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/vborder_gray_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_gray_shadow.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/ie6/vborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/vborder.png b/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/vborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/chrome/images/vborder.png
rename to user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/images/vborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/theme/dark/Dark.gwt.xml b/user/src/com/google/gwt/user/theme/dark/Dark.gwt.xml
new file mode 100644
index 0000000..a876bed
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/dark/Dark.gwt.xml
@@ -0,0 +1,20 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Dark theme. -->
+<module>
+      <stylesheet src="gwt/dark/dark.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/theme/dark/DarkRTL.gwt.xml b/user/src/com/google/gwt/user/theme/dark/DarkRTL.gwt.xml
new file mode 100644
index 0000000..c1a29dd
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/dark/DarkRTL.gwt.xml
@@ -0,0 +1,24 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Dark theme, in RTL mode. -->
+<!--                                                                    -->
+<!-- The way in which RTL-specific versions of CSS styles are included  -->
+<!-- is subject to change in the future.  Specifically, the RTL version -->
+<!-- will be automatically selected in locales with RTL languages.      -->
+<module>
+      <stylesheet src="gwt/dark/dark_rtl.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/public/dark/GWT.css b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
similarity index 92%
rename from user/src/com/google/gwt/user/public/dark/GWT.css
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
index 473a333..b1dc513 100644
--- a/user/src/com/google/gwt/user/public/dark/GWT.css
+++ b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
@@ -106,7 +106,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -115,7 +115,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -150,19 +150,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -170,7 +170,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -296,7 +296,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -305,7 +305,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -344,7 +344,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -352,14 +352,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -367,7 +367,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -396,7 +396,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -405,7 +405,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -444,7 +444,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -452,14 +452,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -467,7 +467,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -654,7 +654,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -663,7 +663,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -702,7 +702,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -710,14 +710,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -725,7 +725,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
diff --git a/user/src/com/google/gwt/user/public/dark/GWT_rtl.css b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css
similarity index 92%
rename from user/src/com/google/gwt/user/public/dark/GWT_rtl.css
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css
index d02227c..d7bf2f7 100644
--- a/user/src/com/google/gwt/user/public/dark/GWT_rtl.css
+++ b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css
@@ -106,7 +106,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -115,7 +115,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -150,19 +150,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -170,7 +170,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -296,7 +296,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -305,7 +305,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -344,7 +344,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -352,14 +352,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -367,7 +367,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -396,7 +396,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -405,7 +405,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -444,7 +444,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -452,14 +452,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -467,7 +467,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -654,7 +654,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/hborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -663,7 +663,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/ie6/vborder_black_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -702,7 +702,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -710,14 +710,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -725,7 +725,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='dark/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/dark/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
diff --git a/user/src/com/google/gwt/user/public/dark/images/corner.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/corner.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/corner.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/corner.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/hborder.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/hborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/hborder.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/hborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/corner_dialog_topleft.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/corner_dialog_topleft.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/corner_dialog_topleft.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/corner_dialog_topleft.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/corner_dialog_topright.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/corner_dialog_topright.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/corner_dialog_topright.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/corner_dialog_topright.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/hborder_black_shadow.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/hborder_black_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/hborder_black_shadow.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/hborder_black_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/hborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/hborder_gray_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/hborder_gray_shadow.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/hborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/vborder_black_shadow.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/vborder_black_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/vborder_black_shadow.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/vborder_black_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/ie6/vborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/vborder_gray_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/ie6/vborder_gray_shadow.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/ie6/vborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/dark/images/vborder.png b/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/vborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/dark/images/vborder.png
rename to user/src/com/google/gwt/user/theme/dark/public/gwt/dark/images/vborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/theme/standard/Standard.gwt.xml b/user/src/com/google/gwt/user/theme/standard/Standard.gwt.xml
new file mode 100644
index 0000000..63911fe
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/standard/Standard.gwt.xml
@@ -0,0 +1,20 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Standard theme. -->
+<module>
+      <stylesheet src="gwt/standard/standard.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/theme/standard/StandardRTL.gwt.xml b/user/src/com/google/gwt/user/theme/standard/StandardRTL.gwt.xml
new file mode 100644
index 0000000..5d8468a
--- /dev/null
+++ b/user/src/com/google/gwt/user/theme/standard/StandardRTL.gwt.xml
@@ -0,0 +1,24 @@
+<!--
+  Copyright 2008 Google Inc.
+ 
+  Licensed under the Apache License, Version 2.0 (the "License"); you may not
+  use this file except in compliance with the License. You may obtain a copy of
+  the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+  License for the specific language governing permissions and limitations under
+  the License.
+-->
+
+<!-- Includes the source files for the Standard theme, in RTL mode. -->
+<!--                                                                    -->
+<!-- The way in which RTL-specific versions of CSS styles are included  -->
+<!-- is subject to change in the future.  Specifically, the RTL version -->
+<!-- will be automatically selected in locales with RTL languages.      -->
+<module>
+      <stylesheet src="gwt/standard/standard_rtl.css"/>
+</module>
diff --git a/user/src/com/google/gwt/user/public/default/images/corner.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/corner.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/corner.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/corner.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/hborder.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/hborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/hborder.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/hborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/corner_dialog_topleft.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/corner_dialog_topleft.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/ie6/corner_dialog_topleft.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/corner_dialog_topleft.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/corner_dialog_topright.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/corner_dialog_topright.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/ie6/corner_dialog_topright.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/corner_dialog_topright.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/hborder_blue_shadow.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/hborder_blue_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/ie6/hborder_blue_shadow.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/hborder_blue_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/hborder_gray_shadow.png
similarity index 100%
copy from user/src/com/google/gwt/user/public/chrome/images/ie6/hborder_gray_shadow.png
copy to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/hborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/ie6/vborder_blue_shadow.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/vborder_blue_shadow.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/ie6/vborder_blue_shadow.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/vborder_blue_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_gray_shadow.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/vborder_gray_shadow.png
similarity index 100%
copy from user/src/com/google/gwt/user/public/chrome/images/ie6/vborder_gray_shadow.png
copy to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/ie6/vborder_gray_shadow.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/images/vborder.png b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/vborder.png
similarity index 100%
rename from user/src/com/google/gwt/user/public/default/images/vborder.png
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/images/vborder.png
Binary files differ
diff --git a/user/src/com/google/gwt/user/public/default/GWT.css b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css
similarity index 91%
rename from user/src/com/google/gwt/user/public/default/GWT.css
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css
index 106cd95..e22b678 100644
--- a/user/src/com/google/gwt/user/public/default/GWT.css
+++ b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css
@@ -1,5 +1,5 @@
 /**
- * The file contains styles for GWT widgets in the default theme.
+ * The file contains styles for GWT widgets in the standard theme.
  *
  * In order to maintain cross-browser compatibility, the following syntax is
  * used to create IE6 specific style rules:
@@ -100,14 +100,14 @@
   width: 5px;
   height: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .topRightInner {
   width: 10px;
   height: 5px;
   margin-left: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomLeftInner {
   width: 5px;
@@ -115,7 +115,7 @@
   margin-left: 0px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomRightInner {
   width: 10px;
@@ -123,7 +123,7 @@
   margin-left: -5px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DialogBox .Caption {
@@ -143,7 +143,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -152,7 +152,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -187,19 +187,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -207,7 +207,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -332,7 +332,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -341,7 +341,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -380,7 +380,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -388,14 +388,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -403,7 +403,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -432,7 +432,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -441,7 +441,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -480,7 +480,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -488,14 +488,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -503,7 +503,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -680,7 +680,7 @@
   overflow: hidden;
   border-left: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedStackPanel .stackItemTopRightInner {
   width: 12px;
@@ -690,7 +690,7 @@
   overflow: hidden;
   border-right: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedStackPanel .stackItemTopCenter {
   background: url(images/hborder.png) 0px -21px repeat-x;
@@ -759,7 +759,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -768,7 +768,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -807,7 +807,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -815,14 +815,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -830,7 +830,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
@@ -900,7 +900,7 @@
   height: 61px;
   margin-top: -55px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .tabTopRightInner {
   width: 12px;
@@ -908,7 +908,7 @@
   margin-top: -55px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .tabMiddleLeft,
 .gwt-DecoratedTabBar .tabMiddleRight {
@@ -944,7 +944,7 @@
   height: 67px;
   margin-top: -61px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRightInner {
   width: 12px;
@@ -952,7 +952,7 @@
   margin-top: -61px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
diff --git a/user/src/com/google/gwt/user/public/default/GWT_rtl.css b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css
similarity index 91%
rename from user/src/com/google/gwt/user/public/default/GWT_rtl.css
rename to user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css
index 4e0309f..1aeae9e 100644
--- a/user/src/com/google/gwt/user/public/default/GWT_rtl.css
+++ b/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css
@@ -1,5 +1,5 @@
 /**
- * The file contains styles for GWT widgets in the default theme, in RTL mode.
+ * The file contains styles for GWT widgets in the standard theme, in RTL mode.
  *
  * In order to maintain cross-browser compatibility, the following syntax is
  * used to create IE6 specific style rules:
@@ -100,14 +100,14 @@
   width: 5px;
   height: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .topRightInner {
   width: 10px;
   height: 5px;
   margin-left: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomLeftInner {
   width: 5px;
@@ -115,7 +115,7 @@
   margin-left: 0px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratorPanel .bottomRightInner {
   width: 10px;
@@ -123,7 +123,7 @@
   margin-left: -5px;
   margin-top: -5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DialogBox .Caption {
@@ -143,7 +143,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DialogBox .dialogBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -152,7 +152,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DialogBox .dialogMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DialogBox .dialogTopLeftInner {
   width: 5px;
@@ -187,19 +187,19 @@
 * html .gwt-DialogBox .dialogTopLeft {
   width: 5px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/corner_dialog_topleft.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogTopRight {
   width: 8px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/corner_dialog_topright.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DialogBox .dialogBottomRightInner {
   width: 13px;
@@ -207,7 +207,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-DisclosurePanel {
@@ -332,7 +332,7 @@
   background: url(images/hborder.png) 0px -13px repeat-x;
 }
 * html .gwt-MenuBarPopup .menuPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupMiddleLeft {
   background: url(images/vborder.png) -12px 0px repeat-y;
@@ -341,7 +341,7 @@
   background: url(images/vborder.png) -13px 0px repeat-y;
 }
 * html .gwt-MenuBarPopup .menuPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_gray_shadow.png',sizingMethod='scale');
 }
 .gwt-MenuBarPopup .menuPopupTopLeftInner {
   width: 5px;
@@ -380,7 +380,7 @@
   height: 41px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupTopRightInner {
   width: 13px;
@@ -388,14 +388,14 @@
   margin-left: -5px;
   margin-top: -36px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomLeftInner {
   width: 5px;
   height: 49px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-MenuBarPopup .menuPopupBottomRightInner {
   width: 13px;
@@ -403,7 +403,7 @@
   margin-left: -5px;
   margin-top: -41px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PasswordTextBox {
@@ -432,7 +432,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-DecoratedPopupPanel .popupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -441,7 +441,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-DecoratedPopupPanel .popupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-DecoratedPopupPanel .popupTopLeftInner {
   width: 5px;
@@ -480,7 +480,7 @@
   height: 15px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupTopRightInner {
   width: 13px;
@@ -488,14 +488,14 @@
   margin-left: -5px;
   margin-top: -10px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomLeftInner {
   width: 5px;
   height: 23px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedPopupPanel .popupBottomRightInner {
   width: 13px;
@@ -503,7 +503,7 @@
   margin-left: -5px;
   margin-top: -15px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-PushButton-up,
@@ -680,7 +680,7 @@
   overflow: hidden;
   border-left: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedStackPanel .stackItemTopRightInner {
   width: 12px;
@@ -690,7 +690,7 @@
   overflow: hidden;
   border-right: 1px solid #bbbbbb;
   background-color: #d3def6;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedStackPanel .stackItemTopCenter {
   background: url(images/hborder.png) 0px -21px repeat-x;
@@ -759,7 +759,7 @@
   background: url(images/hborder.png) repeat-x 0px -4px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomCenter {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/hborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupMiddleLeft {
   background: url(images/vborder.png) repeat-y;
@@ -768,7 +768,7 @@
   background: url(images/vborder.png) repeat-y -4px 0px;
 }
 * html .gwt-SuggestBoxPopup .suggestPopupMiddleRight {
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/ie6/vborder_blue_shadow.png',sizingMethod='scale');
 }
 .gwt-SuggestBoxPopup .suggestPopupTopLeftInner {
   width: 5px;
@@ -807,7 +807,7 @@
   height: 28px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupTopRightInner {
   width: 13px;
@@ -815,14 +815,14 @@
   margin-left: -5px;
   margin-top: -23px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomLeftInner {
   width: 5px;
   height: 36px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-SuggestBoxPopup .suggestPopupBottomRightInner {
   width: 13px;
@@ -830,7 +830,7 @@
   margin-left: -5px;
   margin-top: -28px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 
 .gwt-TabBar {
@@ -900,7 +900,7 @@
   height: 61px;
   margin-top: -55px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .tabTopRightInner {
   width: 12px;
@@ -908,7 +908,7 @@
   margin-top: -55px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .tabMiddleLeft,
 .gwt-DecoratedTabBar .tabMiddleRight {
@@ -944,7 +944,7 @@
   height: 67px;
   margin-top: -61px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 * html .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabTopRightInner {
   width: 12px;
@@ -952,7 +952,7 @@
   margin-top: -61px;
   margin-left: -6px;
   overflow: hidden;
-  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='default/images/corner.png',sizingMethod='crop');
+  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gwt/standard/images/corner.png',sizingMethod='crop');
 }
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleLeft,
 .gwt-DecoratedTabBar .gwt-TabBarItem-selected .tabMiddleRight {
diff --git a/user/src/com/google/gwt/user/tools/Module.gwt.xmlsrc b/user/src/com/google/gwt/user/tools/Module.gwt.xmlsrc
index ff4209d..a930314 100644
--- a/user/src/com/google/gwt/user/tools/Module.gwt.xmlsrc
+++ b/user/src/com/google/gwt/user/tools/Module.gwt.xmlsrc
@@ -1,22 +1,19 @@
 <module>
 
-	<!-- Inherit the core Web Toolkit stuff.                  -->
-	<inherits name='com.google.gwt.user.User'/>
+      <!-- Inherit the core Web Toolkit stuff.                        -->
+      <inherits name='com.google.gwt.user.User'/>
+	
+      <!-- Inherit the default GWT style sheet.  You can change       -->
+      <!-- the theme of your GWT application by uncommenting          -->
+      <!-- any one of the following lines.                            -->
+      <inherits name='com.google.gwt.user.theme.standard.Standard'/>
+      <!-- <inherits name="com.google.gwt.user.theme.chrome.Chrome"/> -->
+      <!-- <inherits name="com.google.gwt.user.theme.dark.Dark"/>     -->
 
-	<!-- Specify the app entry point class.                   -->
-	<entry-point class='@clientPackage.@className'/>
+      <!-- Specify the app entry point class.                         -->
+      <entry-point class='@clientPackage.@className'/>
     
-    <!-- Style sheet information -->
-
-      <!-- Include the default GWT style sheet.  You can change -->
-      <!-- the theme of your GWT application by uncommenting    -->
-      <!-- any one of the following lines.                      -->
-      <stylesheet src='default/GWT.css'/>
-      <!-- <stylesheet src='chrome/GWT.css'/> -->
-      <!-- <stylesheet src='dark/GWT.css'/> -->
-      
-      
-      <!-- Specify the application specific style sheet.        -->
+      <!-- Specify the application specific style sheet.              -->
       <stylesheet src='@className.css' />
 	
 </module>