http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/popup-button.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/popup-button.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/popup-button.png
new file mode 100644
index 0000000..1f99e31
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/popup-button.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button.png
new file mode 100644
index 0000000..b1f82a1
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button_hover.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button_hover.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button_hover.png
new file mode 100644
index 0000000..5a454a5
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/remove_tag_button_hover.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/spelly-dropdown.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/spelly-dropdown.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/spelly-dropdown.png
new file mode 100644
index 0000000..7d8c609
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/spelly-dropdown.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown.png
new file mode 100644
index 0000000..0d7076c
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown_down.png
new file mode 100644
index 0000000..73d66dd
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/split_button_dropdown_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar.png
new file mode 100644
index 0000000..15f3c32
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar_down.png
new file mode 100644
index 0000000..3a84597
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_avatar_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed.png
new file mode 100644
index 0000000..30fc45f
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed_down.png
new file mode 100644
index 0000000..d4a3029
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_feed_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single.png
new file mode 100644
index 0000000..479280b
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single_down.png
new file mode 100644
index 0000000..beb1620
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/icon/view_switcher_single_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.css
new file mode 100644
index 0000000..0557493
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.css
@@ -0,0 +1,174 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for the text button template.
+ *
+ * We use descendant selectors to change the states of the buttons, so the
+ * selector for the left component of the 'regular' style button when it is
+ * down is ".regularButton.down .left".
+ *
+ * @author [email protected] (James Kozianski)
+ */
+
+
+/** Normal (application) button styles **/
+@sprite .regularButton .left {
+  gwt-image: 'regularLeftImage';
+}
+
+@sprite .regularButton .middle {
+  gwt-image: 'regularMiddleImage';
+  font-size: 8.5pt;
+  line-height: value('regularMiddleImage.getHeight', 'px');
+  white-space: nowrap;
+  padding: 0 3px;
+}
+
+@sprite .regularButton .right {
+  gwt-image: 'regularRightImage';
+}
+
+@sprite .regularButton.down .left {
+  gwt-image: 'regularLeftDownImage';
+}
+
+@sprite .regularButton.down .middle {
+  gwt-image: 'regularMiddleDownImage';
+  line-height: value('regularMiddleDownImage.getHeight', 'px');
+}
+
+@sprite .regularButton.down .right {
+  gwt-image: 'regularRightDownImage';
+}
+
+/** Primary button styles **/
+@sprite .primaryButton .left {
+  gwt-image: 'primaryLeftImage';
+}
+
+@sprite .primaryButton .middle {
+  gwt-image: 'primaryMiddleImage';
+  font-size: 8.5pt;
+  line-height: value('primaryMiddleImage.getHeight', 'px');
+  white-space: nowrap;
+  padding: 0 3px;
+}
+
+@sprite .primaryButton .right {
+  gwt-image: 'primaryRightImage';
+}
+
+@sprite .primaryButton.down .left {
+  gwt-image: 'primaryLeftDownImage';
+}
+
+@sprite .primaryButton.down .middle {
+  gwt-image: 'primaryMiddleDownImage';
+  line-height: value('primaryMiddleDownImage.getHeight', 'px');
+}
+
+@sprite .primaryButton.down .right {
+  gwt-image: 'primaryRightDownImage';
+}
+
+.primaryButton {
+  color: #FFFFFF;
+}
+
+/** Add button styles **/
+@sprite .addButton .left {
+  gwt-image: 'addButtonLeftImage';
+}
+
+@sprite .addButton .middle {
+  gwt-image: 'addButtonMiddleImage';
+  font-size: 8pt;
+  line-height: value('addButtonMiddleImage.getHeight', 'px');
+  padding: 0 2px;
+  color: #697f9f;
+}
+
+@sprite .addButton .right {
+  gwt-image: 'addButtonRightImage';
+}
+
+/** System (user alert) button styles **/
+@sprite .systemButton .left {
+  gwt-image: 'systemButtonLeftImage';
+}
+
+@sprite .systemButton .middle {
+  gwt-image: 'systemButtonMiddleImage';
+  font-size: 8pt;
+  line-height: value('systemButtonMiddleImage.getHeight', 'px');
+  padding: 0 2px;
+  white-space: nowrap;
+  color: #59573C;
+}
+
+@sprite .systemButton .right {
+  gwt-image: 'systemButtonRightImage';
+}
+
+@sprite .systemButton.down .left {
+  gwt-image: 'systemLeftDownImage';
+}
+
+@sprite .systemButton.down .middle {
+  gwt-image: 'systemMiddleDownImage';
+  line-height: value('systemMiddleDownImage.getHeight', 'px');
+}
+
+@sprite .systemButton.down .right {
+  gwt-image: 'systemRightDownImage';
+}
+
+.systemButton {
+  float:right;
+  padding:2px;
+}
+
+.hover {
+  /* TODO(koz): Remove this: this is a dummy to keep the compiler happy. */
+}
+
+.cursorPointer {
+  cursor: pointer;
+  \-webkit-user-select: none;
+  \-moz-user-select: none;
+}
+
+.disabled {
+  opacity: 0.35;
+  cursor: default;
+}
+
+.bold {
+  font-weight: bold;
+}
+
+.full {
+}
+
+.fullWidth .full {
+  width: 100%;
+}
+
+.fullWidth .middletd {
+  width: 100%;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.ui.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.ui.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.ui.xml
new file mode 100644
index 0000000..74ca65a
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/TextButton.ui.xml
@@ -0,0 +1,53 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<ui:UiBinder
+  xmlns:gwt='urn:import:com.google.gwt.user.client.ui'
+  xmlns:ui='urn:ui:com.google.gwt.uibinder'
+>
+  <ui:with
+    field='res'
+    type='org.waveprotocol.wave.client.widget.button.text.TextButton.Resources'
+  />
+  <gwt:HTMLPanel>
+    <table
+      cellpadding="0"
+      cellspacing="0"
+      class='{res.css.full}'
+      ui:field='full'
+    >
+      <tbody>
+        <tr>
+          <td>
+            <div class='{res.css.left}'/>
+          </td>
+          <td class='{res.css.middletd}'>
+            <div class='{res.css.middle}' ui:field='middle'/>
+          </td>
+          <td>
+            <div class='{res.css.right}'/>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </gwt:HTMLPanel>
+</ui:UiBinder>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_left.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_left.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_left.png
new file mode 100644
index 0000000..212e356
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_left.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_middle.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_middle.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_middle.png
new file mode 100644
index 0000000..4ac2c0d
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_middle.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_right.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_right.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_right.png
new file mode 100644
index 0000000..c74536a
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/add_button_right.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left.png
new file mode 100644
index 0000000..665ec5e
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left_down.png
new file mode 100644
index 0000000..610852f
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_left_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle.png
new file mode 100644
index 0000000..841392b
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle_down.png
new file mode 100644
index 0000000..e01f120
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_middle_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right.png
new file mode 100644
index 0000000..7b92bd6
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right_down.png
new file mode 100644
index 0000000..cd696d4
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/button_right_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left.png
new file mode 100644
index 0000000..8b913d5
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left_down.png
new file mode 100644
index 0000000..b9f30d5
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_left_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle.png
new file mode 100644
index 0000000..e1bd14e
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle_down.png
new file mode 100644
index 0000000..3f08b6d
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_middle_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right.png
new file mode 100644
index 0000000..03ae25a
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right_down.png
new file mode 100644
index 0000000..666e72a
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/primary_button_right_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left.png
new file mode 100644
index 0000000..446ada9
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left_down.png
new file mode 100644
index 0000000..a950b65
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_left_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle.png
new file mode 100644
index 0000000..3d388f5
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle_down.png
new file mode 100644
index 0000000..90fbf99
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_middle_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right.png
new file mode 100644
index 0000000..0bcf219
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right_down.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right_down.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right_down.png
new file mode 100644
index 0000000..0188f35
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/button/text/system_button_right_down.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/common/Common.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/common/Common.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/common/Common.gwt.xml
new file mode 100644
index 0000000..4c75b13
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/common/Common.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="com.google.common.base.Base" /><inherits 
name="org.waveprotocol.wave.client.widget.generic.Generic" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.css 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.css
new file mode 100644
index 0000000..874ad37
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.css
@@ -0,0 +1,56 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+.errorLabel {
+  color: red;
+  font-weight: bold;
+  padding: 5px;
+  text-align: center;
+}
+
+.warningLabel {
+  color: red;
+  font-weight: bold;
+  padding: 5px;
+  text-align: center;
+}
+
+.infoLabel {
+  font-weight: bold;
+  padding: 5px;
+  text-align: center;
+}
+
+.dialogButtonPanel {
+  padding: 5px;
+}
+
+.dialogButton {
+  min-width: 80px;
+  margin: 5px;
+}
+
+.glassPanel {
+  position: absolute;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  opacity: 0;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.gwt.xml
new file mode 100644
index 0000000..481ec43
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/dialog/Dialog.gwt.xml
@@ -0,0 +1,19 @@
+<!--                                                                        -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
+<!-- may not use this file except in compliance with the License. You may   -->
+<!-- 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. License for the specific language governing permissions and   -->
+<!-- limitations under the License.                                         -->
+
+<module>
+  <inherits name="com.google.gwt.user.User" />
+  <inherits name="org.waveprotocol.wave.client.widget.popup.Popup" />
+  <inherits name="org.waveprotocol.wave.client.widget.common.Common" />
+  <source path=""/>
+</module>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/generic/Generic.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/generic/Generic.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/generic/Generic.gwt.xml
new file mode 100644
index 0000000..1b37066
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/generic/Generic.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.css 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.css
new file mode 100644
index 0000000..c7500be
--- /dev/null
+++ b/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.css
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * Popup menu CSS
+ * Author: [email protected] (Luke Macpherson)
+ */
+
+.item {
+  margin: 0px 1px;
+  padding: 3px 7px 3px 12px;
+  color: #003ea8;
+  cursor: pointer;
+  cursor: hand;
+  background-color: white;
+}
+
+.item:hover {
+  background-color: #4086ff;
+  color: white;
+}
+
+.item.disabled {
+  cursor: default;
+  opacity: 0.35; /* matches TextButton.css disabled. */
+}
+
+.item.disabled:hover {
+  color: #003ea8;
+  background-color: white;
+}
+
+/** the | between links **/
+.verticalSeparator {
+  display: inline;
+}
+
+.divider {
+  margin: 3px 1px;
+  border-bottom: 1px solid #e3e8f2;
+  cursor: auto;
+  background-color: white;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.gwt.xml 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.gwt.xml
new file mode 100644
index 0000000..877846e
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/menu/Menu.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="org.waveprotocol.wave.client.widget.popup.Popup" /><inherits 
name="org.waveprotocol.wave.client.widget.common.Common" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/overflowpanel/OverflowPanel.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/overflowpanel/OverflowPanel.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/overflowpanel/OverflowPanel.gwt.xml
new file mode 100644
index 0000000..f653b1f
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/overflowpanel/OverflowPanel.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="org.waveprotocol.wave.client.scheduler.Scheduler" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopTitleBar.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopTitleBar.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopTitleBar.css
new file mode 100644
index 0000000..f785744
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopTitleBar.css
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for DesktopTitleBar.
+ * Author: [email protected] (Luke Macpherson)
+ */
+
+.titleBar {
+  position: static;
+  font: 12px;
+  color: white;
+  padding: 1px 5px 3px 7px;
+  background: #5690d2;
+}
+
+.buttons div {
+  float: left;
+  margin: 3px 5px 0 0;
+}
+
+.buttons {
+  position: absolute;
+  top: -2px;
+  right: -3px;
+}
+
+.title {
+  color: white;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopUniversalPopup.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopUniversalPopup.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopUniversalPopup.css
new file mode 100644
index 0000000..4918f26
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/DesktopUniversalPopup.css
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for DesktopUniversalPopup.
+ * Author: [email protected] (Luke Macpherson)
+ */
+.popup {
+  position: absolute;
+  z-index: 1000; /* Make popup appear on top of other panels */
+  background-color: white;
+}
+
+@eval fadeInTime INSTANCE.FADE_IN_MS;
+.fadeIn {
+  \-webkit-transition: opacity fadeInTime ease-in;
+  \-moz-transition: opacity fadeInTime ease-in;
+  transition: opacity fadeInTime ease-in;
+}
+
+@eval fadeOutTime INSTANCE.FADE_OUT_MS;
+.fadeOut {
+  \-webkit-transition: opacity fadeOutTime ease-out;
+  \-moz-transition: opacity fadeOutTime ease-out;
+  transition: opacity fadeOutTime ease-out;
+}
+
+.mask {
+  position: absolute;
+  top: 0px;
+  right: 0px;
+  bottom: 0px;
+  left: -12px;
+  background-color: black;
+  opacity: 0.6;
+  filter: "alpha(opacity=40%)";
+  z-index: 3;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/MobileUniversalPopup.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/MobileUniversalPopup.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/MobileUniversalPopup.css
new file mode 100644
index 0000000..16371c0
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/MobileUniversalPopup.css
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for popups on mobile.
+ * Author: [email protected] (Luke Macpherson)
+ */
+
+.container {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  z-index: 1000;
+}
+
+.shadow {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  background-color: #000;
+  opacity: 0.33;
+}
+
+.content {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  margin-left: 16px;
+  margin-right: 16px;
+  margin-top: 20px;
+  height: auto;
+  opacity: 0.97;
+  overflow: hidden;
+  background-color: #FFFFFF;
+  border: 1px solid #333333;
+  \-webkit-border-radius: 7px;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/Popup.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/Popup.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/Popup.gwt.xml
new file mode 100644
index 0000000..0fa2fac
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/Popup.gwt.xml
@@ -0,0 +1,61 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module>
+  <inherits name="com.google.gwt.user.User" />
+  <inherits name="com.google.gwt.user.UserAgent"/>
+  <inherits name="org.waveprotocol.wave.client.autohide.Autohide" />
+  <inherits name="org.waveprotocol.wave.client.common.util.Util" />
+  <inherits name="org.waveprotocol.wave.client.common.webdriver.Webdriver" />
+  <inherits name="org.waveprotocol.wave.client.scheduler.Scheduler" />
+  <inherits name="org.waveprotocol.wave.model.util.Util" />
+  <source path=""/>
+  <source path="desktopchrome"/>
+
+  <!-- PopupFactory instantiates PopupProvider - default to 
DesktopPopupProvider... -->
+  <replace-with 
class="org.waveprotocol.wave.client.widget.popup.DesktopPopupProvider">
+    <when-type-is 
class="org.waveprotocol.wave.client.widget.popup.PopupProvider"/>
+  </replace-with>
+
+  <!-- ... unless it's a mobile device - then use MobilePopupProvider -->
+  <replace-with 
class="org.waveprotocol.wave.client.widget.popup.MobilePopupProvider">
+    <when-type-is 
class="org.waveprotocol.wave.client.widget.popup.PopupProvider"/>
+    <any>
+      <when-property-is name="mobile.user.agent" value="iphone"/>
+      <when-property-is name="mobile.user.agent" value="android"/>
+    </any>
+  </replace-with>
+
+  <!-- Default to DesktopPopupChromeProvider... -->
+  <replace-with 
class="org.waveprotocol.wave.client.widget.popup.desktopchrome.DesktopPopupChromeProvider">
+    <when-type-is 
class="org.waveprotocol.wave.client.widget.popup.PopupChromeProvider"/>
+  </replace-with>
+
+  <!-- ... unless it's a small-screen client - then use 
MobilePopupChromeProvider -->
+  <replace-with 
class="org.waveprotocol.wave.client.widget.popup.MobilePopupChromeProvider">
+    <when-type-is 
class="org.waveprotocol.wave.client.widget.popup.PopupChromeProvider"/>
+    <any>
+      <when-property-is name="mobile.user.agent" value="iphone"/>
+      <when-property-is name="mobile.user.agent" value="android"/>
+    </any>
+  </replace-with>
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.css
new file mode 100644
index 0000000..1b7ef80
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.css
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for DesktopPopupChrome.
+ * Author: [email protected] (Luke Macpherson)
+ *
+ * Unfortunately it is necessary to have a lot of hand tuned constants in this 
file,
+ * Both because of the image contents, and because GWT does not provide a way 
to evaluate
+ * expressions from CSS.
+ */
+
+@def northOffset -3px;
+@def westOffset -1px;
+@def southOffset -11px;
+@def eastOffset -9px;
+
+@sprite .north {
+  gwt-image: 'chromeNorth';
+  position: absolute;
+  top: northOffset;
+  right: 2px;
+  left: 2px;
+}
+
+@sprite .titled .north {
+  gwt-image: 'chromeNorthTitled';
+}
+
+@sprite .northEast {
+  gwt-image: 'chromeNorthEast';
+  position: absolute;
+  right: eastOffset;
+  top: northOffset;
+}
+
+@sprite .titled .northEast {
+  gwt-image: 'chromeNorthEastTitled';
+}
+
+@sprite .eastNorthEast {
+  gwt-image: 'chromeEastNorthEast';
+  position: absolute;
+  top: 0px;
+  right: eastOffset;
+}
+
+@sprite .east {
+  gwt-image: 'chromeEast';
+  position: absolute;
+  top: 9px;
+  right: eastOffset;
+  bottom: 0;
+}
+
+@sprite .southEast {
+  gwt-image: 'chromeSouthEast';
+  position: absolute;
+  right: eastOffset;
+  bottom: southOffset;
+}
+
+@sprite .south {
+  gwt-image: 'chromeSouth';
+  position: absolute;
+  right: 2px;
+  bottom: southOffset;
+  left: 10px;
+}
+
+@sprite .southWest {
+  gwt-image: 'chromeSouthWest';
+  position: absolute;
+  bottom: southOffset;
+  left: westOffset;
+}
+
+@sprite .west {
+  gwt-image: 'chromeWest';
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: westOffset;
+}
+
+@sprite .northWest {
+  gwt-image: 'chromeNorthWest';
+  position: absolute;
+  top: northOffset;
+  left: westOffset;
+}
+
+@sprite .titled .northWest {
+  gwt-image: 'chromeNorthWestTitled';
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.ui.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.ui.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.ui.xml
new file mode 100644
index 0000000..8766431
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DesktopPopupChrome.ui.xml
@@ -0,0 +1,40 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<ui:UiBinder
+  xmlns:ui="urn:ui:com.google.gwt.uibinder"
+  xmlns:gwt="urn:import:com.google.gwt.user.client.ui"
+>
+  <ui:with field="res" 
type="org.waveprotocol.wave.client.widget.popup.desktopchrome.DesktopPopupChrome.Resources"
 />
+  
+  <gwt:HTMLPanel ui:field='frame'>
+    <div class='{res.css.north}'/>
+    <div class='{res.css.northEast}'/>
+    <div class='{res.css.eastNorthEast}'/>
+    <div class='{res.css.east}'/>
+    <div class='{res.css.southEast}'/>
+    <div class='{res.css.south}'/>
+    <div class='{res.css.southWest}'/>
+    <div class='{res.css.west}'/>
+    <div class='{res.css.northWest}'/>
+  </gwt:HTMLPanel>
+</ui:UiBinder>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.css
new file mode 100644
index 0000000..ca45150
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.css
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for DesktopPopupChrome.
+ * Author: [email protected] (Luke Macpherson)
+ *
+ * Unfortunately it is necessary to have a lot of hand tuned constants in this 
file,
+ * Both because of the image contents, and because GWT does not provide a way 
to evaluate
+ * expressions from CSS.
+ */
+
+@def northOffset -3px;
+@def westOffset -1px;
+@def southOffset -11px;
+@def eastOffset -9px;
+
+@sprite .eastNorthEast {
+  gwt-image: 'chromeEastNorthEast';
+  position: absolute;
+  top: 0px;
+  right: eastOffset;
+}
+
+@sprite .east {
+  gwt-image: 'chromeEast';
+  position: absolute;
+  top: 9px;
+  right: eastOffset;
+  bottom: 0;
+}
+
+@sprite .southEast {
+  gwt-image: 'chromeSouthEast';
+  position: absolute;
+  right: eastOffset;
+  bottom: southOffset;
+}
+
+@sprite .south {
+  gwt-image: 'chromeSouth';
+  position: absolute;
+  right: 2px;
+  bottom: southOffset;
+  left: 10px;
+}
+
+@sprite .southWest {
+  gwt-image: 'chromeSouthWest';
+  position: absolute;
+  bottom: southOffset;
+  left: westOffset;
+}
+
+@sprite .west {
+  gwt-image: 'chromeWest';
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: westOffset;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.ui.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.ui.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.ui.xml
new file mode 100644
index 0000000..fa001ef
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/DropdownPopupChrome.ui.xml
@@ -0,0 +1,37 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<ui:UiBinder
+  xmlns:ui="urn:ui:com.google.gwt.uibinder"
+  xmlns:gwt="urn:import:com.google.gwt.user.client.ui"
+>
+  <ui:with field="res"
+    
type="org.waveprotocol.wave.client.widget.popup.desktopchrome.DropdownPopupChrome.Resources"
 />
+  <gwt:HTMLPanel ui:field='frame' >
+    <div class='{res.css.eastNorthEast}'/>
+    <div class='{res.css.east}'/>
+    <div class='{res.css.southEast}'/>
+    <div class='{res.css.south}'/>
+    <div class='{res.css.southWest}'/>
+    <div class='{res.css.west}'/>
+  </gwt:HTMLPanel>
+</ui:UiBinder>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_e.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_e.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_e.png
new file mode 100644
index 0000000..76af4ee
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_e.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ene.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ene.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ene.png
new file mode 100644
index 0000000..df25482
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ene.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n.png
new file mode 100644
index 0000000..b548040
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n_titled.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n_titled.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n_titled.png
new file mode 100644
index 0000000..350a8c5
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_n_titled.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne.png
new file mode 100644
index 0000000..7565959
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne_titled.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne_titled.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne_titled.png
new file mode 100644
index 0000000..c790551
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_ne_titled.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw.png
new file mode 100644
index 0000000..e7a65ef
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw_titled.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw_titled.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw_titled.png
new file mode 100644
index 0000000..5e06348
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_nw_titled.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_s.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_s.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_s.png
new file mode 100644
index 0000000..6d77c83
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_s.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_se.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_se.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_se.png
new file mode 100644
index 0000000..09e324d
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_se.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_sw.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_sw.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_sw.png
new file mode 100644
index 0000000..0263c82
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_sw.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_w.png
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_w.png
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_w.png
new file mode 100644
index 0000000..756fc35
Binary files /dev/null and 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/desktopchrome/popup_w.png
 differ

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/simple/Simple.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/simple/Simple.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/simple/Simple.gwt.xml
new file mode 100644
index 0000000..ae11d4f
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/simple/Simple.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="org.waveprotocol.wave.client.widget.popup.Popup" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/testing/Testing.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/testing/Testing.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/testing/Testing.gwt.xml
new file mode 100644
index 0000000..ae11d4f
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/popup/testing/Testing.gwt.xml
@@ -0,0 +1,25 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module><inherits name="com.google.gwt.user.User" /><inherits 
name="org.waveprotocol.wave.client.widget.popup.Popup" /> <source path=""/>
+
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.css
new file mode 100644
index 0000000..6fe197e
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.css
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS stylesheet for profile card popups.
+ */
+
+.self {
+  max-width: 40em;
+  overflow: hidden;  /* Expand to include floated content. */ 
+}
+
+.state {
+  margin: 0.5em;
+  overflow: hidden;  /* Expand to include floated content. */
+}
+
+.avatar {
+  float: left;
+  height: 100px;
+  width: 100px;
+  border: 1px solid gray;
+}
+
+.details {
+  margin-left: 102px;  /* = avatar pffset width. */
+  padding-left: 1em;
+}
+
+.name {
+  font-size: 20px;
+  height: 2em;
+}
+
+.extra {
+  font-size: small;
+}
+  
+.label {
+  color: gray;
+  padding-right: 1em;
+}
+
+.separator {
+  clear: both;
+  border-bottom: 1px solid #ccf;
+}
+
+.controls {
+  margin: 0.5em;
+  float: right;
+}
+
+.button {
+  margin: 0;  /* Override UA default. */
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.ui.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.ui.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.ui.xml
new file mode 100644
index 0000000..a2f69c8
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/ProfilePopupWidget.ui.xml
@@ -0,0 +1,56 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<ui:UiBinder
+    xmlns:ui="urn:ui:com.google.gwt.uibinder"
+    xmlns:w="urn:import:org.waveprotocol.wave.client.widget.common" >
+  <ui:with
+    field='style'
+    
type='org.waveprotocol.wave.client.widget.profile.ProfilePopupWidget.Style'/>
+  <ui:with
+    field="msg"
+    
type="org.waveprotocol.wave.client.widget.profile.i18n.ProfilePopupMessages" />
+  <w:ImplPanel ui:field="self" styleName="{style.self}">
+    <!-- All widget-children of this panel must be buttons in the control 
section.
+         Otherwise, ProfilePopupWidget.reset() needs to be re-implemented. -->
+    <div class="{style.state}">
+      <img ui:field="avatar" class="{style.avatar}" 
src="static/images/unknown.jpg"></img>
+      <div class="{style.details}">
+        <div ui:field="name" class="{style.name}"></div>
+        <table class="{style.extra}" cellpadding="0" cellspacing="0">
+          <tr>
+            <td class="{style.label}"><ui:text from="{msg.address}"/></td>
+            <td ui:field="address"></td>
+          </tr>
+          <!-- Add more rows here once profiles get more state -->
+        </table>
+      </div>
+    </div>
+    <div class="{style.separator}"></div>
+    <div ui:field="controls" class="{style.controls}">
+      <!-- Dynamically added buttons go in here, like:
+      <g:Button styleName="button">New Wave</g:Button>
+      <g:Button styleName="button">Remove</g:Button>
+      -->
+    </div>
+  </w:ImplPanel>
+</ui:UiBinder>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_de.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_de.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_de.properties
new file mode 100644
index 0000000..cee3d69
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_de.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = Adresse:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_en.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_en.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_en.properties
new file mode 100644
index 0000000..03b79a7
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_en.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = Address:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_es.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_es.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_es.properties
new file mode 100644
index 0000000..e094989
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_es.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = Dirección:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_fr.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_fr.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_fr.properties
new file mode 100644
index 0000000..395d6a9
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_fr.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = Addresse :

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_ru.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_ru.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_ru.properties
new file mode 100644
index 0000000..994e211
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_ru.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = \u0410\u0434\u0440\u0435\u0441:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_sl.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_sl.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_sl.properties
new file mode 100644
index 0000000..41355d7
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_sl.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = Naslov:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_zh_TW.properties
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_zh_TW.properties
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_zh_TW.properties
new file mode 100644
index 0000000..56e3f1a
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/profile/i18n/ProfilePopupMessages_zh_TW.properties
@@ -0,0 +1,22 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you 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.
+#
+#
+
+address = 地址:

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/Progress.gwt.xml
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/Progress.gwt.xml
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/Progress.gwt.xml
new file mode 100644
index 0000000..e0b7f0e
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/Progress.gwt.xml
@@ -0,0 +1,26 @@
+<?xml version='1.0'?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+
+-->
+
+<module>
+<inherits name="com.google.gwt.user.User" />
+<source path=""/>
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/ProgressWidget.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/ProgressWidget.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/ProgressWidget.css
new file mode 100644
index 0000000..a61847e
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/progress/ProgressWidget.css
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS for the progress widget.
+ *
+ * Author: [email protected] (Reuben Kan)
+ */
+
+ @url grooveImageUrl grooveImage;
+.groove {
+  position: absolute;
+  right: 0px;
+  height: 5px;
+  bottom: 0px;
+  background: grooveImageUrl repeat-x;
+}
+
+@url barImageUrl barImage;
+.bar {
+  position: absolute;
+  left: 0px;
+  height: 5px;
+  bottom: 0px;
+  background: barImageUrl repeat-x;
+}

http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/603eb520/wave/src/main/resources/org/waveprotocol/wave/client/widget/toolbar/SubmenuToolbarWidget.css
----------------------------------------------------------------------
diff --git 
a/wave/src/main/resources/org/waveprotocol/wave/client/widget/toolbar/SubmenuToolbarWidget.css
 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/toolbar/SubmenuToolbarWidget.css
new file mode 100644
index 0000000..b8805ba
--- /dev/null
+++ 
b/wave/src/main/resources/org/waveprotocol/wave/client/widget/toolbar/SubmenuToolbarWidget.css
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ *
+ * CSS stylesheet for SubmenuToolbarWidget.
+ *
+ * Author: [email protected] (Benjamin Kalman).
+ */
+
+.toolbar {
+  background-color: white;
+}

Reply via email to