flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [43/83] [abbrv] [partial] git commit: [flex-falcon] [refs/heads/develop] - Added GCL extern.
Date Fri, 25 Sep 2015 04:49:12 GMT
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/flatbutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/flatbutton.css b/externs/GCL/externs/goog/css/flatbutton.css
new file mode 100644
index 0000000..1cc39b6
--- /dev/null
+++ b/externs/GCL/externs/goog/css/flatbutton.css
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Styling for flat buttons created by goog.ui.FlatButtonRenderer.
+ *
+ * @author brianp@google.com (Brian Peterson)
+ */
+
+.goog-flat-button {
+  position: relative;
+  /*width: 20ex;*/
+  margin: 2px;
+  border: 1px solid #000;
+  padding: 2px 6px;
+  font: normal 13px "Trebuchet MS", Tahoma, Arial, sans-serif;
+  color: #fff;
+  background-color: #8c2425;
+  cursor: pointer;
+  outline: none;
+}
+
+/* State: disabled. */
+.goog-flat-button-disabled {
+  border-color: #888;
+  color: #888;
+  background-color: #ccc;
+  cursor: default;
+}
+
+/* State: hover. */
+.goog-flat-button-hover {
+  border-color: #8c2425;
+  color: #8c2425;
+  background-color: #eaa4a5;
+}
+
+/* State: active, selected, checked. */
+.goog-flat-button-active,
+.goog-flat-button-selected,
+.goog-flat-button-checked {
+  border-color: #5b4169;
+  color: #5b4169;
+  background-color: #d1a8ea;
+}
+
+/* State: focused. */
+.goog-flat-button-focused {
+  border-color: #5b4169;
+}
+
+/* Pill (collapsed border) styles. */
+.goog-flat-button-collapse-right {
+  margin-right: 0;
+}
+
+.goog-flat-button-collapse-left {
+  margin-left: 0;
+  border-left: none;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/flatmenubutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/flatmenubutton.css b/externs/GCL/externs/goog/css/flatmenubutton.css
new file mode 100644
index 0000000..5778217
--- /dev/null
+++ b/externs/GCL/externs/goog/css/flatmenubutton.css
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for buttons created by goog.ui.FlatMenuButtonRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ * @author tlb@google.com (Thierry Le Boulenge)
+ */
+
+
+.goog-flat-menu-button {
+  background-color: #fff;
+  border: 1px solid #c9c9c9;
+  color: #333;
+  cursor: pointer;
+  font: normal 95%;
+  list-style: none;
+  margin: 0 2px;
+  outline: none;
+  padding: 1px 4px;
+  position: relative;
+  text-decoration: none;
+  vertical-align: middle;
+}
+
+.goog-flat-menu-button-disabled * {
+  border-color: #ccc;
+  color: #999;
+  cursor: default;
+}
+
+.goog-flat-menu-button-hover {
+  border-color: #9cf #69e #69e #7af !important; /* Hover border wins. */
+}
+
+.goog-flat-menu-button-active {
+  background-color: #bbb;
+  background-position: bottom left;
+}
+
+.goog-flat-menu-button-focused {
+  border-color: #bbb;
+}
+
+.goog-flat-menu-button-caption {
+  padding-right: 10px;
+  vertical-align: top;
+}
+
+.goog-flat-menu-button-dropdown {
+  /* Client apps may override the URL at which they serve the sprite. */
+  background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -388px 0;
+  position: absolute;
+  right: 2px;
+  top: 0;
+  vertical-align: top;
+  width: 7px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/hovercard.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/hovercard.css b/externs/GCL/externs/goog/css/hovercard.css
new file mode 100644
index 0000000..2d64e4f
--- /dev/null
+++ b/externs/GCL/externs/goog/css/hovercard.css
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: larrypo@google.com (Larry Powelson) */
+
+.goog-hovercard div {
+  border: solid 5px #69748C;
+  width: 300px;
+  height: 115px;
+  background-color: white;
+  font-family: arial, sans-serif;
+}
+
+.goog-hovercard .goog-shadow {
+  border: transparent;
+  background-color: black;
+  filter: alpha(Opacity=1);
+  opacity: 0.01;
+  -moz-opacity: 0.01;
+}
+
+.goog-hovercard table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+}
+
+.goog-hovercard-icons td {
+  border-bottom: 1px solid #ccc;
+  padding: 0px;
+  margin: 0px;
+  text-align: center;
+  height: 19px;
+  width: 100px;
+  font-size: 90%;
+}
+
+.goog-hovercard-icons td + td {
+  border-left: 1px solid #ccc;
+}
+
+.goog-hovercard-content {
+  border-collapse: collapse;
+}
+
+.goog-hovercard-content td {
+  padding-left: 15px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/hsvapalette.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/hsvapalette.css b/externs/GCL/externs/goog/css/hsvapalette.css
new file mode 100644
index 0000000..ec52e39
--- /dev/null
+++ b/externs/GCL/externs/goog/css/hsvapalette.css
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * All Rights Reserved.
+ *
+ * Styles for the HSV color palette.
+ *
+ * @author smcbride@google.com (Sean McBride)
+ * @author arv@google.com (Erik Arvidsson)
+ * @author manucornet@google.com (Manu Cornet)
+ */
+
+.goog-hsva-palette,
+.goog-hsva-palette-sm {
+  position: relative;
+  border: 1px solid #999;
+  border-color: #ccc #999 #999 #ccc;
+  width: 442px;
+  height: 276px;
+}
+
+.goog-hsva-palette-sm {
+  width: 205px;
+  height: 185px;
+}
+
+.goog-hsva-palette label span,
+.goog-hsva-palette-sm label span {
+  display: none;
+}
+
+.goog-hsva-palette-hs-backdrop,
+.goog-hsva-palette-sm-hs-backdrop,
+.goog-hsva-palette-hs-image,
+.goog-hsva-palette-sm-hs-image {
+  position: absolute;
+  top: 10px;
+  left: 10px;
+  width: 256px;
+  height: 256px;
+  border: 1px solid #999;
+}
+
+.goog-hsva-palette-sm-hs-backdrop,
+.goog-hsva-palette-sm-hs-image {
+  top: 45px;
+  width: 128px;
+  height: 128px;
+}
+
+.goog-hsva-palette-hs-backdrop,
+.goog-hsva-palette-sm-hs-backdrop {
+  background-color: #000;
+}
+
+.goog-hsva-palette-hs-image,
+.goog-hsva-palette-v-image,
+.goog-hsva-palette-a-image,
+.goog-hsva-palette-hs-handle,
+.goog-hsva-palette-v-handle,
+.goog-hsva-palette-a-handle,
+.goog-hsva-palette-swatch-backdrop {
+  background-image: url(//ssl.gstatic.com/closure/hsva-sprite.png);
+}
+
+.goog-hsva-palette-noalpha .goog-hsva-palette-hs-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-v-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-a-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-hs-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-v-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-a-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-swatch-backdrop {
+  background-image: url(//ssl.gstatic.com/closure/hsva-sprite.gif);
+}
+
+.goog-hsva-palette-sm-hs-image,
+.goog-hsva-palette-sm-v-image,
+.goog-hsva-palette-sm-a-image,
+.goog-hsva-palette-sm-hs-handle,
+.goog-hsva-palette-sm-v-handle,
+.goog-hsva-palette-sm-a-handle,
+.goog-hsva-palette-sm-swatch-backdrop {
+  background-image: url(//ssl.gstatic.com/closure/hsva-sprite-sm.png);
+}
+
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-hs-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-v-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-a-image,
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-hs-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-v-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-sm-a-handle,
+.goog-hsva-palette-noalpha .goog-hsva-palette-swatch-backdrop {
+  background-image: url(//ssl.gstatic.com/closure/hsva-sprite-sm.gif);
+}
+
+.goog-hsva-palette-hs-image,
+.goog-hsva-palette-sm-hs-image {
+  background-position: 0 0;
+}
+
+.goog-hsva-palette-hs-handle,
+.goog-hsva-palette-sm-hs-handle {
+  position: absolute;
+  left: 5px;
+  top: 5px;
+  width: 11px;
+  height: 11px;
+  overflow: hidden;
+  background-position: 0 -256px;
+}
+
+.goog-hsva-palette-sm-hs-handle {
+  top: 40px;
+  background-position: 0 -128px;
+}
+
+.goog-hsva-palette-v-image,
+.goog-hsva-palette-a-image,
+.goog-hsva-palette-sm-v-image,
+.goog-hsva-palette-sm-a-image {
+  position: absolute;
+  top: 10px;
+  left: 286px;
+  width: 19px;
+  height: 256px;
+  border: 1px solid #999;
+  background-color: #fff;
+  background-position: -256px 0;
+}
+
+.goog-hsva-palette-a-image {
+  left: 325px;
+  background-position: -275px 0;
+}
+
+.goog-hsva-palette-sm-v-image,
+.goog-hsva-palette-sm-a-image {
+  top: 45px;
+  left: 155px;
+  width: 9px;
+  height: 128px;
+  background-position: -128px 0;
+}
+
+.goog-hsva-palette-sm-a-image {
+  left: 182px;
+  background-position: -137px 0;
+}
+
+.goog-hsva-palette-v-handle,
+.goog-hsva-palette-a-handle,
+.goog-hsva-palette-sm-v-handle,
+.goog-hsva-palette-sm-a-handle {
+  position: absolute;
+  top: 5px;
+  left: 279px;
+  width: 35px;
+  height: 11px;
+  background-position: -11px -256px;
+  overflow: hidden;
+}
+
+.goog-hsva-palette-a-handle {
+  left: 318px;
+}
+
+.goog-hsva-palette-sm-v-handle,
+.goog-hsva-palette-sm-a-handle {
+  top: 40px;
+  left: 148px;
+  width: 25px;
+  background-position: -11px -128px;
+}
+
+.goog-hsva-palette-sm-a-handle {
+  left: 175px;
+}
+
+.goog-hsva-palette-swatch,
+.goog-hsva-palette-swatch-backdrop,
+.goog-hsva-palette-sm-swatch,
+.goog-hsva-palette-sm-swatch-backdrop {
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  width: 65px;
+  height: 65px;
+  border: 1px solid #999;
+  background-color: #fff;
+  background-position: -294px 0;
+}
+
+.goog-hsva-palette-sm-swatch,
+.goog-hsva-palette-sm-swatch-backdrop {
+  top: 10px;
+  right: auto;
+  left: 10px;
+  width: 30px;
+  height: 22px;
+  background-position: -36px -128px;
+}
+
+.goog-hsva-palette-swatch,
+.goog-hsva-palette-sm-swatch {
+  z-index: 5;
+}
+
+.goog-hsva-palette-swatch-backdrop,
+.goog-hsva-palette-sm-swatch-backdrop {
+  z-index: 1;
+}
+
+.goog-hsva-palette-input,
+.goog-hsva-palette-sm-input {
+  position: absolute;
+  top: 85px;
+  right: 10px;
+  width: 65px;
+  font-size: 80%;
+}
+
+.goog-hsva-palette-sm-input {
+  top: 10px;
+  right: auto;
+  left: 50px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/hsvpalette.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/hsvpalette.css b/externs/GCL/externs/goog/css/hsvpalette.css
new file mode 100644
index 0000000..8449ed5
--- /dev/null
+++ b/externs/GCL/externs/goog/css/hsvpalette.css
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * All Rights Reserved.
+ *
+ * Styles for the HSV color palette.
+ *
+ * @author smcbride@google.com (Sean McBride)
+ * @author arv@google.com (Erik Arvidsson)
+ * @author manucornet@google.com (Manu Cornet)
+ */
+
+.goog-hsv-palette,
+.goog-hsv-palette-sm {
+  position: relative;
+  border: 1px solid #999;
+  border-color: #ccc #999 #999 #ccc;
+  width: 400px;
+  height: 276px;
+}
+
+.goog-hsv-palette-sm {
+  width: 182px;
+  height: 185px;
+}
+
+.goog-hsv-palette label span,
+.goog-hsv-palette-sm label span {
+  display: none;
+}
+
+.goog-hsv-palette-hs-backdrop,
+.goog-hsv-palette-sm-hs-backdrop,
+.goog-hsv-palette-hs-image,
+.goog-hsv-palette-sm-hs-image {
+  position: absolute;
+  top: 10px;
+  left: 10px;
+  width: 256px;
+  height: 256px;
+  border: 1px solid #999;
+}
+
+.goog-hsv-palette-sm-hs-backdrop,
+.goog-hsv-palette-sm-hs-image {
+  top: 45px;
+  width: 128px;
+  height: 128px;
+}
+
+.goog-hsv-palette-hs-backdrop,
+.goog-hsv-palette-sm-hs-backdrop {
+  background-color: #000;
+}
+
+.goog-hsv-palette-hs-image,
+.goog-hsv-palette-v-image,
+.goog-hsv-palette-hs-handle,
+.goog-hsv-palette-v-handle {
+  background-image: url(//ssl.gstatic.com/closure/hsv-sprite.png);
+}
+
+.goog-hsv-palette-noalpha .goog-hsv-palette-hs-image,
+.goog-hsv-palette-noalpha .goog-hsv-palette-v-image,
+.goog-hsv-palette-noalpha .goog-hsv-palette-hs-handle,
+.goog-hsv-palette-noalpha .goog-hsv-palette-v-handle {
+  background-image: url(//ssl.gstatic.com/closure/hsv-sprite.gif);
+}
+
+.goog-hsv-palette-sm-hs-image,
+.goog-hsv-palette-sm-v-image,
+.goog-hsv-palette-sm-hs-handle,
+.goog-hsv-palette-sm-v-handle {
+  background-image: url(//ssl.gstatic.com/closure/hsv-sprite-sm.png);
+}
+
+.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-image,
+.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-image,
+.goog-hsv-palette-noalpha .goog-hsv-palette-sm-hs-handle,
+.goog-hsv-palette-noalpha .goog-hsv-palette-sm-v-handle {
+  background-image: url(//ssl.gstatic.com/closure/hsv-sprite-sm.gif);
+}
+
+.goog-hsv-palette-hs-image,
+.goog-hsv-palette-sm-hs-image {
+  background-position: 0 0;
+}
+
+.goog-hsv-palette-hs-handle,
+.goog-hsv-palette-sm-hs-handle {
+  position: absolute;
+  left: 5px;
+  top: 5px;
+  width: 11px;
+  height: 11px;
+  overflow: hidden;
+  background-position: 0 -256px;
+}
+
+.goog-hsv-palette-sm-hs-handle {
+  top: 40px;
+  background-position: 0 -128px;
+}
+
+.goog-hsv-palette-v-image,
+.goog-hsv-palette-sm-v-image {
+  position: absolute;
+  top: 10px;
+  left: 286px;
+  width: 19px;
+  height: 256px;
+  border: 1px solid #999;
+  background-color: #fff;
+  background-position: -256px 0;
+}
+
+.goog-hsv-palette-sm-v-image {
+  top: 45px;
+  left: 155px;
+  width: 9px;
+  height: 128px;
+  background-position: -128px 0;
+}
+
+.goog-hsv-palette-v-handle,
+.goog-hsv-palette-sm-v-handle {
+  position: absolute;
+  top: 5px;
+  left: 279px;
+  width: 35px;
+  height: 11px;
+  background-position: -11px -256px;
+  overflow: hidden;
+}
+
+.goog-hsv-palette-sm-v-handle {
+  top: 40px;
+  left: 148px;
+  width: 25px;
+  background-position: -11px -128px;
+}
+
+.goog-hsv-palette-swatch,
+.goog-hsv-palette-sm-swatch {
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  width: 65px;
+  height: 65px;
+  border: 1px solid #999;
+  background-color: #fff;
+}
+
+.goog-hsv-palette-sm-swatch {
+  top: 10px;
+  right: auto;
+  left: 10px;
+  width: 30px;
+  height: 22px;
+}
+
+.goog-hsv-palette-input,
+.goog-hsv-palette-sm-input {
+  position: absolute;
+  top: 85px;
+  right: 10px;
+  width: 65px;
+}
+
+.goog-hsv-palette-sm-input {
+  top: 10px;
+  right: auto;
+  left: 50px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/imagelessbutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/imagelessbutton.css b/externs/GCL/externs/goog/css/imagelessbutton.css
new file mode 100644
index 0000000..23c7fee
--- /dev/null
+++ b/externs/GCL/externs/goog/css/imagelessbutton.css
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Styling for buttons created by goog.ui.ImagelessButtonRenderer.
+ *
+ * WARNING: This file uses some ineffecient selectors and it may be
+ * best to avoid using this file in extremely large, or performance
+ * critical applications.
+ *
+ * @author: eae@google.com (Emil A Eklund)
+ * @author: gboyer@google.com (Garrett Boyer)
+ */
+
+
+/* Imageless button styles. */
+
+/* The base element of the button. */
+.goog-imageless-button {
+  /* Set the background color at the outermost level. */
+  background: #e3e3e3;
+  /* Place a top and bottom border.  Do it on this outermost div so that
+   * it is easier to make pill buttons work properly. */
+  border-color: #bbb;
+  border-style: solid;
+  border-width: 1px 0;
+  color: #222; /* Text content color. */
+  cursor: default;
+  font-family: Arial, sans-serif;
+  line-height: 0; /* For Opera and old WebKit. */
+  list-style: none;
+  /* Built-in margin for the component.  Because of the negative margins
+   * used to simulate corner rounding, the effective left and right margin is
+   * actually only 1px. */
+  margin: 2px;
+  outline: none;
+  padding: 0;
+  text-decoration: none;
+  vertical-align: middle;
+}
+
+/*
+ * Pseudo-rounded corners.  Works by pulling the left and right sides slightly
+ * outside of the parent bounding box before drawing the left and right
+ * borders.
+ */
+.goog-imageless-button-outer-box {
+  /* Left and right border that protrude outside the parent. */
+  border-color: #bbb;
+  border-style: solid;
+  border-width: 0 1px;
+  /* Same as margin: 0 -1px, except works better cross browser.  These are
+   * intended to be RTL flipped to work better in IE7. */
+  left: -1px;
+  margin-right: -2px;
+}
+
+/*
+ * A div to give the light and medium shades of the button that takes up no
+ * vertical space.
+ */
+.goog-imageless-button-top-shadow {
+  /* Light top color in the content. */
+  background: #f9f9f9;
+  /* Thin medium shade. */
+  border-bottom: 3px solid #eee;
+  /* Control height with line-height, since height: will trigger hasLayout.
+   * Specified in pixels, as a compromise to avoid rounding errors. */
+  line-height: 9px;
+  /* Undo all space this takes up. */
+  margin-bottom: -12px;
+}
+
+/* Actual content area for the button. */
+.goog-imageless-button-content {
+  line-height: 1.5em;
+  padding: 0px 4px;
+  text-align: center;
+}
+
+
+/* Pill (collapsed border) styles. */
+.goog-imageless-button-collapse-right {
+  /* Draw a border on the root element to square the button off.  The border
+   * on the outer-box element remains, but gets obscured by the next button. */
+  border-right-width: 1px;
+  margin-right: -2px; /* Undoes the margins between the two buttons. */
+}
+
+.goog-imageless-button-collapse-left .goog-imageless-button-outer-box {
+  /* Don't bleed to the left -- keep the border self contained in the box. */
+  border-left-color: #eee;
+  left: 0;
+  margin-right: -1px; /* Versus the default of -2px. */
+}
+
+
+/* Disabled styles. */
+.goog-imageless-button-disabled,
+.goog-imageless-button-disabled .goog-imageless-button-outer-box {
+  background: #eee;
+  border-color: #ccc;
+  color: #666; /* For text */
+}
+
+.goog-imageless-button-disabled .goog-imageless-button-top-shadow {
+  /* Just hide the shadow instead of setting individual colors. */
+  visibility: hidden;
+}
+
+
+/*
+ * Active and checked styles.
+ * Identical except for text color according to GUIG.
+ */
+.goog-imageless-button-active, .goog-imageless-button-checked {
+  background: #f9f9f9;
+}
+
+.goog-imageless-button-active .goog-imageless-button-top-shadow,
+.goog-imageless-button-checked .goog-imageless-button-top-shadow {
+  background: #e3e3e3;
+}
+
+.goog-imageless-button-active {
+  color: #000;
+}
+
+
+/* Hover styles. Higher priority to override other border styles. */
+.goog-imageless-button-hover,
+.goog-imageless-button-hover .goog-imageless-button-outer-box,
+.goog-imageless-button-focused,
+.goog-imageless-button-focused .goog-imageless-button-outer-box {
+  border-color: #000;
+}
+
+
+/* IE6 hacks.  This is the only place inner-box is used. */
+* html .goog-imageless-button-inner-box {
+  /* Give the element inline-block behavior so that the shadow appears.
+   * The main requirement is to give the element layout without having the side
+   * effect of taking up a full line. */
+  display: inline;
+  /* Allow the shadow to show through, overriding position:relative from the
+   * goog-inline-block styles. */
+  position: static;
+  zoom: 1;
+}
+
+* html .goog-imageless-button-outer-box {
+  /* In RTL mode, IE is off by one pixel.  To fix, override the left: -1px
+   * (which was flipped to right) without having any effect on LTR mode
+   * (where IE ignores right when left is specified). */
+  /* @noflip */ right: 0;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/imagelessmenubutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/imagelessmenubutton.css b/externs/GCL/externs/goog/css/imagelessmenubutton.css
new file mode 100644
index 0000000..0c8b6fd
--- /dev/null
+++ b/externs/GCL/externs/goog/css/imagelessmenubutton.css
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for buttons created by goog.ui.ImagelessMenuButtonRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ * @author dalewis@google.com (Darren Lewis)
+ */
+
+/* Dropdown arrow style. */
+.goog-imageless-button-dropdown {
+  height: 16px;
+  width: 7px;
+  /* Client apps may override the URL at which they serve the sprite. */
+  background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -388px 0;
+  vertical-align: top;
+  margin-right: 2px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/inputdatepicker.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/inputdatepicker.css b/externs/GCL/externs/goog/css/inputdatepicker.css
new file mode 100644
index 0000000..4f93182
--- /dev/null
+++ b/externs/GCL/externs/goog/css/inputdatepicker.css
@@ -0,0 +1,12 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: arv@google.com (Erik Arvidsson) */
+
+/* goog.ui.InputDatePicker */
+
+@import url(popupdatepicker.css);

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/linkbutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/linkbutton.css b/externs/GCL/externs/goog/css/linkbutton.css
new file mode 100644
index 0000000..9f9ec3a
--- /dev/null
+++ b/externs/GCL/externs/goog/css/linkbutton.css
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Styling for link buttons created by goog.ui.LinkButtonRenderer.
+ *
+ * @author robbyw@google.com (Robby Walker)
+ */
+
+.goog-link-button {
+  position: relative;
+  color: #00f;
+  text-decoration: underline;
+  cursor: pointer;
+}
+
+/* State: disabled. */
+.goog-link-button-disabled {
+  color: #888;
+  text-decoration: none;
+  cursor: default;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/menu.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/menu.css b/externs/GCL/externs/goog/css/menu.css
new file mode 100644
index 0000000..da66222
--- /dev/null
+++ b/externs/GCL/externs/goog/css/menu.css
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for menus created by goog.ui.MenuRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+.goog-menu {
+  background: #fff;
+  border-color: #ccc #666 #666 #ccc;
+  border-style: solid;
+  border-width: 1px;
+  cursor: default;
+  font: normal 13px Arial, sans-serif;
+  margin: 0;
+  outline: none;
+  padding: 4px 0;
+  position: absolute;
+  z-index: 20000; /* Arbitrary, but some apps depend on it... */
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/menubar.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/menubar.css b/externs/GCL/externs/goog/css/menubar.css
new file mode 100644
index 0000000..6f69b46
--- /dev/null
+++ b/externs/GCL/externs/goog/css/menubar.css
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2012 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * styling for goog.ui.menuBar and child buttons.
+ *
+ * @author tvykruta@google.com (Tomas Vykruta)
+ */
+
+
+.goog-menubar {
+  cursor: default;
+  outline: none;
+  position: relative;
+  white-space: nowrap;
+  background: #fff;
+}
+
+.goog-menubar .goog-menu-button {
+  padding: 1px 1px;
+  margin: 0px 0px;
+  outline: none;
+  border: none;
+  background: #fff;
+  /* @alternate */ border: 1px solid #fff;
+}
+
+.goog-menubar .goog-menu-button-dropdown {
+  display: none;
+}
+
+.goog-menubar .goog-menu-button-outer-box {
+  border: none;
+}
+
+.goog-menubar .goog-menu-button-inner-box {
+  border: none;
+}
+
+.goog-menubar .goog-menu-button-hover {
+  background: #eee;
+  border: 1px solid #eee;
+}
+
+.goog-menubar .goog-menu-button-open {
+  background: #fff;
+  border-left: 1px solid #ccc;
+  border-right: 1px solid #ccc;
+}
+
+.goog-menubar .goog-menu-button-disabled {
+  color: #ccc;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/menubutton.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/menubutton.css b/externs/GCL/externs/goog/css/menubutton.css
new file mode 100644
index 0000000..82c94b2
--- /dev/null
+++ b/externs/GCL/externs/goog/css/menubutton.css
@@ -0,0 +1,169 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for buttons created by goog.ui.MenuButtonRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+/* State: resting. */
+.goog-menu-button {
+  /* Client apps may override the URL at which they serve the image. */
+  background: #ddd url(//ssl.gstatic.com/editor/button-bg.png) repeat-x top left;
+  border: 0;
+  color: #000;
+  cursor: pointer;
+  list-style: none;
+  margin: 2px;
+  outline: none;
+  padding: 0;
+  text-decoration: none;
+  vertical-align: middle;
+}
+
+/* Pseudo-rounded corners. */
+.goog-menu-button-outer-box,
+.goog-menu-button-inner-box {
+  border-style: solid;
+  border-color: #aaa;
+  vertical-align: top;
+}
+.goog-menu-button-outer-box {
+  margin: 0;
+  border-width: 1px 0;
+  padding: 0;
+}
+.goog-menu-button-inner-box {
+  margin: 0 -1px;
+  border-width: 0 1px;
+  padding: 3px 4px;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-menu-button-inner-box {
+  /* IE6 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+
+/* Pre-IE7 BiDi fixes. */
+* html .goog-menu-button-rtl .goog-menu-button-outer-box {
+  /* @noflip */ left: -1px;
+  /* @noflip */ right: auto;
+}
+* html .goog-menu-button-rtl .goog-menu-button-inner-box {
+  /* @noflip */ right: auto;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-menu-button-inner-box {
+  /* IE7 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+/* IE7 BiDi fix. */
+*:first-child+html .goog-menu-button-rtl .goog-menu-button-inner-box {
+  /* @noflip */ left: 1px;
+  /* @noflip */ right: auto;
+}
+
+/* Safari-only hacks. */
+::root .goog-menu-button,
+::root .goog-menu-button-outer-box,
+::root .goog-menu-button-inner-box {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: 0;
+}
+::root .goog-menu-button-caption,
+::root .goog-menu-button-dropdown {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: normal;
+}
+
+/* State: disabled. */
+.goog-menu-button-disabled {
+  background-image: none !important;
+  opacity: 0.3;
+  -moz-opacity: 0.3;
+  filter: alpha(opacity=30);
+}
+.goog-menu-button-disabled .goog-menu-button-outer-box,
+.goog-menu-button-disabled .goog-menu-button-inner-box,
+.goog-menu-button-disabled .goog-menu-button-caption,
+.goog-menu-button-disabled .goog-menu-button-dropdown {
+  color: #333 !important;
+  border-color: #999 !important;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-menu-button-disabled {
+  margin: 2px 1px !important;
+  padding: 0 1px !important;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-menu-button-disabled {
+  margin: 2px 1px !important;
+  padding: 0 1px !important;
+}
+
+/* State: hover. */
+.goog-menu-button-hover .goog-menu-button-outer-box,
+.goog-menu-button-hover .goog-menu-button-inner-box {
+  border-color: #9cf #69e #69e #7af !important; /* Hover border wins. */
+}
+
+/* State: active, open. */
+.goog-menu-button-active,
+.goog-menu-button-open {
+  background-color: #bbb;
+  background-position: bottom left;
+}
+
+/* State: focused. */
+.goog-menu-button-focused .goog-menu-button-outer-box,
+.goog-menu-button-focused .goog-menu-button-inner-box {
+  border-color: orange;
+}
+
+/* Caption style. */
+.goog-menu-button-caption {
+  padding: 0 4px 0 0;
+  vertical-align: top;
+}
+
+/* Dropdown arrow style. */
+.goog-menu-button-dropdown {
+  height: 15px;
+  width: 7px;
+  /* Client apps may override the URL at which they serve the sprite. */
+  background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -388px 0;
+  vertical-align: top;
+}
+
+/* Pill (collapsed border) styles. */
+/* TODO(gboyer): Remove specific menu button styles and have any button support being a menu button. */
+.goog-menu-button-collapse-right,
+.goog-menu-button-collapse-right .goog-menu-button-outer-box,
+.goog-menu-button-collapse-right .goog-menu-button-inner-box {
+  margin-right: 0;
+}
+
+.goog-menu-button-collapse-left,
+.goog-menu-button-collapse-left .goog-menu-button-outer-box,
+.goog-menu-button-collapse-left .goog-menu-button-inner-box {
+  margin-left: 0;
+}
+
+.goog-menu-button-collapse-left .goog-menu-button-inner-box  {
+  border-left: 1px solid #fff;
+}
+
+.goog-menu-button-collapse-left.goog-menu-button-checked
+.goog-menu-button-inner-box {
+  border-left: 1px solid #ddd;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/menuitem.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/menuitem.css b/externs/GCL/externs/goog/css/menuitem.css
new file mode 100644
index 0000000..cea9de6
--- /dev/null
+++ b/externs/GCL/externs/goog/css/menuitem.css
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for menus created by goog.ui.MenuItemRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+/**
+ * State: resting.
+ *
+ * NOTE(mleibman,chrishenry):
+ * The RTL support in Closure is provided via two mechanisms -- "rtl" CSS
+ * classes and BiDi flipping done by the CSS compiler.  Closure supports RTL
+ * with or without the use of the CSS compiler.  In order for them not
+ * to conflict with each other, the "rtl" CSS classes need to have the @noflip
+ * annotation.  The non-rtl counterparts should ideally have them as well, but,
+ * since .goog-menuitem existed without .goog-menuitem-rtl for so long before
+ * being added, there is a risk of people having templates where they are not
+ * rendering the .goog-menuitem-rtl class when in RTL and instead rely solely
+ * on the BiDi flipping by the CSS compiler.  That's why we're not adding the
+ * @noflip to .goog-menuitem.
+ */
+.goog-menuitem {
+  color: #000;
+  font: normal 13px Arial, sans-serif;
+  list-style: none;
+  margin: 0;
+  /* 28px on the left for icon or checkbox; 7em on the right for shortcut. */
+  padding: 4px 7em 4px 28px;
+  white-space: nowrap;
+}
+
+/* BiDi override for the resting state. */
+/* @noflip */
+.goog-menuitem.goog-menuitem-rtl {
+  /* Flip left/right padding for BiDi. */
+  padding-left: 7em;
+  padding-right: 28px;
+}
+
+/* If a menu doesn't have checkable items or items with icons, remove padding. */
+.goog-menu-nocheckbox .goog-menuitem,
+.goog-menu-noicon .goog-menuitem {
+  padding-left: 12px;
+}
+
+/*
+ * If a menu doesn't have items with shortcuts, leave just enough room for
+ * submenu arrows, if they are rendered.
+ */
+.goog-menu-noaccel .goog-menuitem {
+  padding-right: 20px;
+}
+
+.goog-menuitem-content {
+  color: #000;
+  font: normal 13px Arial, sans-serif;
+}
+
+/* State: disabled. */
+.goog-menuitem-disabled .goog-menuitem-accel,
+.goog-menuitem-disabled .goog-menuitem-content {
+  color: #ccc !important;
+}
+.goog-menuitem-disabled .goog-menuitem-icon {
+  opacity: 0.3;
+  -moz-opacity: 0.3;
+  filter: alpha(opacity=30);
+}
+
+/* State: hover. */
+.goog-menuitem-highlight,
+.goog-menuitem-hover {
+  background-color: #d6e9f8;
+  /* Use an explicit top and bottom border so that the selection is visible
+   * in high contrast mode. */
+  border-color: #d6e9f8;
+  border-style: dotted;
+  border-width: 1px 0;
+  padding-bottom: 3px;
+  padding-top: 3px;
+}
+
+/* State: selected/checked. */
+.goog-menuitem-checkbox,
+.goog-menuitem-icon {
+  background-repeat: no-repeat;
+  height: 16px;
+  left: 6px;
+  position: absolute;
+  right: auto;
+  vertical-align: middle;
+  width: 16px;
+}
+
+/* BiDi override for the selected/checked state. */
+/* @noflip */
+.goog-menuitem-rtl .goog-menuitem-checkbox,
+.goog-menuitem-rtl .goog-menuitem-icon {
+  /* Flip left/right positioning. */
+  left: auto;
+  right: 6px;
+}
+
+.goog-option-selected .goog-menuitem-checkbox,
+.goog-option-selected .goog-menuitem-icon {
+  /* Client apps may override the URL at which they serve the sprite. */
+  background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -512px 0;
+}
+
+/* Keyboard shortcut ("accelerator") style. */
+.goog-menuitem-accel {
+  color: #999;
+  /* Keyboard shortcuts are untranslated; always left-to-right. */
+  /* @noflip */ direction: ltr;
+  left: auto;
+  padding: 0 6px;
+  position: absolute;
+  right: 0;
+  text-align: right;
+}
+
+/* BiDi override for shortcut style. */
+/* @noflip */
+.goog-menuitem-rtl .goog-menuitem-accel {
+  /* Flip left/right positioning and text alignment. */
+  left: 0;
+  right: auto;
+  text-align: left;
+}
+
+/* Mnemonic styles. */
+.goog-menuitem-mnemonic-hint {
+  text-decoration: underline;
+}
+
+.goog-menuitem-mnemonic-separator {
+  color: #999;
+  font-size: 12px;
+  padding-left: 4px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/menuseparator.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/menuseparator.css b/externs/GCL/externs/goog/css/menuseparator.css
new file mode 100644
index 0000000..de1354f
--- /dev/null
+++ b/externs/GCL/externs/goog/css/menuseparator.css
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for menus created by goog.ui.MenuSeparatorRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+.goog-menuseparator {
+  border-top: 1px solid #ccc;
+  margin: 4px 0;
+  padding: 0;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/multitestrunner.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/multitestrunner.css b/externs/GCL/externs/goog/css/multitestrunner.css
new file mode 100644
index 0000000..2cdffea
--- /dev/null
+++ b/externs/GCL/externs/goog/css/multitestrunner.css
@@ -0,0 +1,121 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: pupius@google.com (Daniel Pupius) */
+
+.goog-testrunner {
+  background-color: #EEE;
+  border: 1px solid #999;
+  padding: 10px;
+  padding-bottom: 25px;
+}
+
+.goog-testrunner-progress {
+  width: auto;
+  height: 20px;
+  background-color: #FFF;
+  border: 1px solid #999;
+}
+
+.goog-testrunner-progress table {
+  width: 100%;
+  height: 20px;
+  border-collapse: collapse;
+}
+
+.goog-testrunner-buttons {
+  margin-top: 7px;
+}
+
+.goog-testrunner-buttons button {
+  width: 75px;
+}
+
+.goog-testrunner-log,
+.goog-testrunner-report,
+.goog-testrunner-stats {
+  margin-top: 7px;
+  width: auto;
+  height: 400px;
+  background-color: #FFF;
+  border: 1px solid #999;
+  font: normal medium monospace;
+  padding: 5px;
+  overflow: auto;  /* Opera doesn't support overflow-y. */
+  overflow-y: scroll;
+  overflow-x: auto;
+}
+
+.goog-testrunner-report div {
+  margin-bottom: 6px;
+  border-bottom: 1px solid #999;
+}
+
+.goog-testrunner-stats table {
+  margin-top: 20px;
+  border-collapse: collapse;
+  border: 1px solid #EEE;
+}
+
+.goog-testrunner-stats td,
+.goog-testrunner-stats th {
+  padding: 2px 6px;
+  border: 1px solid #F0F0F0;
+}
+
+.goog-testrunner-stats th {
+  font-weight: bold;
+}
+
+.goog-testrunner-stats .center {
+  text-align: center;
+}
+
+.goog-testrunner-progress-summary {
+  font: bold small sans-serif;
+}
+
+.goog-testrunner iframe {
+  position: absolute;
+  left: -640px;
+  top: -480px;
+  width: 640px;
+  height: 480px;
+  margin: 0;
+  border: 0;
+  padding: 0;
+}
+
+.goog-testrunner-report-failure {
+  color: #900;
+}
+
+.goog-testrunner-reporttab,
+.goog-testrunner-logtab,
+.goog-testrunner-statstab {
+  float: left;
+  width: 50px;
+  height: 16px;
+  text-align: center;
+  font: normal small arial, helvetica, sans-serif;
+  color: #666;
+  background-color: #DDD;
+  border: 1px solid #999;
+  border-top: 0;
+  cursor: pointer;
+}
+
+.goog-testrunner-reporttab,
+.goog-testrunner-logtab {
+  border-right: 0;
+}
+
+.goog-testrunner-activetab {
+  font-weight: bold;
+  color: #000;
+  background-color: #CCC;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/palette.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/palette.css b/externs/GCL/externs/goog/css/palette.css
new file mode 100644
index 0000000..8360afc
--- /dev/null
+++ b/externs/GCL/externs/goog/css/palette.css
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for palettes created by goog.ui.PaletteRenderer.
+ *
+ * @author pupius@google.com (Daniel Pupius)
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+.goog-palette {
+  cursor: default;
+  outline: none;
+}
+
+.goog-palette-table {
+  border: 1px solid #666;
+  border-collapse: collapse;
+  margin: 5px;
+}
+
+.goog-palette-cell {
+  border: 0;
+  border-right: 1px solid #666;
+  cursor: pointer;
+  height: 18px;
+  margin: 0;
+  text-align: center;
+  vertical-align: middle;
+  width: 18px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/popupdatepicker.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/popupdatepicker.css b/externs/GCL/externs/goog/css/popupdatepicker.css
new file mode 100644
index 0000000..133173a
--- /dev/null
+++ b/externs/GCL/externs/goog/css/popupdatepicker.css
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for a goog.ui.PopupDatePicker.
+ *
+ * @author arv@google.com (Erik Arvidsson)
+ */
+
+.goog-date-picker {
+  position: absolute;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/roundedpanel.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/roundedpanel.css b/externs/GCL/externs/goog/css/roundedpanel.css
new file mode 100644
index 0000000..d931e41
--- /dev/null
+++ b/externs/GCL/externs/goog/css/roundedpanel.css
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styles for RoundedPanel.
+ *
+ * @author pallosp@google.com (Peter Pallos)
+ */
+
+.goog-roundedpanel {
+  position: relative;
+  z-index: 0;
+}
+
+.goog-roundedpanel-background {
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  z-index: -1;
+}
+
+.goog-roundedpanel-content {
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/roundedtab.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/roundedtab.css b/externs/GCL/externs/goog/css/roundedtab.css
new file mode 100644
index 0000000..17fe155
--- /dev/null
+++ b/externs/GCL/externs/goog/css/roundedtab.css
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: attila@google.com (Attila Bodis) */
+
+
+/*
+ * Styles used by goog.ui.RoundedTabRenderer.
+ */
+.goog-rounded-tab {
+  border: 0;
+  cursor: default;
+  padding: 0;
+}
+
+.goog-tab-bar-top .goog-rounded-tab,
+.goog-tab-bar-bottom .goog-rounded-tab {
+  float: left;
+  margin: 0 4px 0 0;
+}
+
+.goog-tab-bar-start .goog-rounded-tab,
+.goog-tab-bar-end .goog-rounded-tab {
+  margin: 0 0 4px 0;
+}
+
+.goog-rounded-tab-caption {
+  border: 0;
+  color: #fff;
+  margin: 0;
+  padding: 4px 8px;
+}
+
+.goog-rounded-tab-caption,
+.goog-rounded-tab-inner-edge,
+.goog-rounded-tab-outer-edge {
+  background: #036;
+  border-right: 1px solid #003;
+}
+
+.goog-rounded-tab-inner-edge,
+.goog-rounded-tab-outer-edge {
+  font-size: 1px;
+  height: 1px;
+  overflow: hidden;
+}
+
+/* State: Hover */
+.goog-rounded-tab-hover .goog-rounded-tab-caption,
+.goog-rounded-tab-hover .goog-rounded-tab-inner-edge,
+.goog-rounded-tab-hover .goog-rounded-tab-outer-edge {
+  background-color: #69c;
+  border-right: 1px solid #369;
+}
+
+/* State: Disabled */
+.goog-rounded-tab-disabled .goog-rounded-tab-caption,
+.goog-rounded-tab-disabled .goog-rounded-tab-inner-edge,
+.goog-rounded-tab-disabled .goog-rounded-tab-outer-edge {
+  background: #ccc;
+  border-right: 1px solid #ccc;
+}
+
+/* State: Selected */
+.goog-rounded-tab-selected .goog-rounded-tab-caption,
+.goog-rounded-tab-selected .goog-rounded-tab-inner-edge,
+.goog-rounded-tab-selected .goog-rounded-tab-outer-edge {
+  background: #369 !important; /* Selected trumps hover. */
+  border-right: 1px solid #036 !important;
+}
+
+
+/*
+ * Styles for horizontal (top or bottom) tabs.
+ */
+.goog-tab-bar-top .goog-rounded-tab {
+  vertical-align: bottom;
+}
+
+.goog-tab-bar-bottom .goog-rounded-tab {
+  vertical-align: top;
+}
+
+.goog-tab-bar-top .goog-rounded-tab-outer-edge,
+.goog-tab-bar-bottom .goog-rounded-tab-outer-edge {
+  margin: 0 3px;
+}
+
+.goog-tab-bar-top .goog-rounded-tab-inner-edge,
+.goog-tab-bar-bottom .goog-rounded-tab-inner-edge {
+  margin: 0 1px;
+}
+
+
+/*
+ * Styles for vertical (start or end) tabs.
+ */
+.goog-tab-bar-start .goog-rounded-tab-table,
+.goog-tab-bar-end .goog-rounded-tab-table {
+  width: 100%;
+}
+
+.goog-tab-bar-start .goog-rounded-tab-inner-edge {
+  margin-left: 1px;
+}
+
+.goog-tab-bar-start .goog-rounded-tab-outer-edge {
+  margin-left: 3px;
+}
+
+.goog-tab-bar-end .goog-rounded-tab-inner-edge {
+  margin-right: 1px;
+}
+
+.goog-tab-bar-end .goog-rounded-tab-outer-edge {
+  margin-right: 3px;
+}
+
+
+/*
+ * Overrides for start tabs.
+ */
+.goog-tab-bar-start .goog-rounded-tab-table,
+.goog-tab-bar-end .goog-rounded-tab-table {
+  width: 12ex; /* TODO(attila): Make this work for variable width. */
+}
+
+.goog-tab-bar-start .goog-rounded-tab-caption,
+.goog-tab-bar-start .goog-rounded-tab-inner-edge,
+.goog-tab-bar-start .goog-rounded-tab-outer-edge {
+  border-left: 1px solid #003;
+  border-right: 0;
+}
+
+.goog-tab-bar-start .goog-rounded-tab-hover .goog-rounded-tab-caption,
+.goog-tab-bar-start .goog-rounded-tab-hover .goog-rounded-tab-inner-edge,
+.goog-tab-bar-start .goog-rounded-tab-hover .goog-rounded-tab-outer-edge {
+  border-left: 1px solid #369 !important;
+  border-right: 0 !important;
+}
+
+.goog-tab-bar-start .goog-rounded-tab-selected .goog-rounded-tab-outer-edge,
+.goog-tab-bar-start .goog-rounded-tab-selected .goog-rounded-tab-inner-edge,
+.goog-tab-bar-start .goog-rounded-tab-selected .goog-rounded-tab-caption {
+  border-left: 1px solid #036 !important;
+  border-right: 0 !important;
+}
+
+.goog-tab-bar-start .goog-rounded-tab-disabled .goog-rounded-tab-outer-edge,
+.goog-tab-bar-start .goog-rounded-tab-disabled .goog-rounded-tab-inner-edge,
+.goog-tab-bar-start .goog-rounded-tab-disabled .goog-rounded-tab-caption {
+  border-left: 1px solid #ccc !important;
+  border-right: 0 !important;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/submenu.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/submenu.css b/externs/GCL/externs/goog/css/submenu.css
new file mode 100644
index 0000000..1159b28
--- /dev/null
+++ b/externs/GCL/externs/goog/css/submenu.css
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for menus created by goog.ui.SubMenuRenderer.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+/* State: resting. */
+/* @noflip */
+.goog-submenu-arrow {
+  color: #000;
+  left: auto;
+  padding-right: 6px;
+  position: absolute;
+  right: 0;
+  text-align: right;
+}
+
+/* BiDi override. */
+/* @noflip */
+.goog-menuitem-rtl .goog-submenu-arrow {
+  text-align: left;
+  left: 0;
+  right: auto;
+  padding-left: 6px;
+}
+
+/* State: disabled. */
+.goog-menuitem-disabled .goog-submenu-arrow {
+  color: #ccc;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tab.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tab.css b/externs/GCL/externs/goog/css/tab.css
new file mode 100644
index 0000000..6c7dfe2
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tab.css
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: attila@google.com (Attila Bodis) */
+/* Author: eae@google.com (Emil A. Eklund) */
+
+
+/*
+ * Styles used by goog.ui.TabRenderer.
+ */
+.goog-tab {
+  position: relative;
+  padding: 4px 8px;
+  color: #00c;
+  text-decoration: underline;
+  cursor: default;
+}
+
+.goog-tab-bar-top .goog-tab {
+  margin: 1px 4px 0 0;
+  border-bottom: 0;
+  float: left;
+}
+
+.goog-tab-bar-top:after,
+.goog-tab-bar-bottom:after {
+  content: " ";
+  display: block;
+  height: 0;
+  clear: both;
+  visibility: hidden;
+}
+
+.goog-tab-bar-bottom .goog-tab {
+  margin: 0 4px 1px 0;
+  border-top: 0;
+  float: left;
+}
+
+.goog-tab-bar-start .goog-tab {
+  margin: 0 0 4px 1px;
+  border-right: 0;
+}
+
+.goog-tab-bar-end .goog-tab {
+  margin: 0 1px 4px 0;
+  border-left: 0;
+}
+
+/* State: Hover */
+.goog-tab-hover {
+  background: #eee;
+}
+
+/* State: Disabled */
+.goog-tab-disabled {
+  color: #666;
+}
+
+/* State: Selected */
+.goog-tab-selected {
+  color: #000;
+  background: #fff;
+  text-decoration: none;
+  font-weight: bold;
+  border: 1px solid #6b90da;
+}
+
+.goog-tab-bar-top {
+  padding-top: 5px !important;
+  padding-left: 5px !important;
+  border-bottom: 1px solid #6b90da !important;
+}
+/*
+ * Shift selected tabs 1px towards the contents (and compensate via margin and
+ * padding) to visually merge the borders of the tab with the borders of the
+ * content area.
+ */
+.goog-tab-bar-top .goog-tab-selected {
+  top: 1px;
+  margin-top: 0;
+  padding-bottom: 5px;
+}
+
+.goog-tab-bar-bottom .goog-tab-selected {
+  top: -1px;
+  margin-bottom: 0;
+  padding-top: 5px;
+}
+
+.goog-tab-bar-start .goog-tab-selected {
+  left: 1px;
+  margin-left: 0;
+  padding-right: 9px;
+}
+
+.goog-tab-bar-end .goog-tab-selected {
+  left: -1px;
+  margin-right: 0;
+  padding-left: 9px;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tabbar.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tabbar.css b/externs/GCL/externs/goog/css/tabbar.css
new file mode 100644
index 0000000..514aa9b
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tabbar.css
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: attila@google.com (Attila Bodis) */
+/* Author: eae@google.com (Emil A. Eklund) */
+
+
+/*
+ * Styles used by goog.ui.TabBarRenderer.
+ */
+.goog-tab-bar {
+  margin: 0;
+  border: 0;
+  padding: 0;
+  list-style: none;
+  cursor: default;
+  outline: none;
+  background: #ebeff9;
+}
+
+.goog-tab-bar-clear {
+  clear: both;
+  height: 0;
+  overflow: hidden;
+}
+
+.goog-tab-bar-start {
+  float: left;
+}
+
+.goog-tab-bar-end {
+  float: right;
+}
+
+
+/*
+ * IE6-only hacks to fix the gap between the floated tabs and the content.
+ * IE7 and later will ignore these.
+ */
+/* @if user.agent ie6 */
+* html .goog-tab-bar-start {
+  margin-right: -3px;
+}
+
+* html .goog-tab-bar-end {
+  margin-left: -3px;
+}
+/* @endif */

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tablesorter.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tablesorter.css b/externs/GCL/externs/goog/css/tablesorter.css
new file mode 100644
index 0000000..126f007
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tablesorter.css
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2008 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: robbyw@google.com (Robby Walker) */
+
+/* Styles for goog.ui.TableSorter. */
+
+.goog-tablesorter-header {
+  cursor: pointer
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/toolbar.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/toolbar.css b/externs/GCL/externs/goog/css/toolbar.css
new file mode 100644
index 0000000..5c39dde
--- /dev/null
+++ b/externs/GCL/externs/goog/css/toolbar.css
@@ -0,0 +1,400 @@
+/*
+ * Copyright 2009 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/*
+ * Standard styling for toolbars and toolbar items.
+ *
+ * @author attila@google.com (Attila Bodis)
+ */
+
+
+/*
+ * Styles used by goog.ui.ToolbarRenderer.
+ */
+
+.goog-toolbar {
+  /* Client apps may override the URL at which they serve the image. */
+  background: #fafafa url(//ssl.gstatic.com/editor/toolbar-bg.png) repeat-x bottom left;
+  border-bottom: 1px solid #d5d5d5;
+  cursor: default;
+  font: normal 12px Arial, sans-serif;
+  margin: 0;
+  outline: none;
+  padding: 2px;
+  position: relative;
+  zoom: 1; /* The toolbar element must have layout on IE. */
+}
+
+/*
+ * Styles used by goog.ui.ToolbarButtonRenderer.
+ */
+
+.goog-toolbar-button {
+  margin: 0 2px;
+  border: 0;
+  padding: 0;
+  font-family: Arial, sans-serif;
+  color: #333;
+  text-decoration: none;
+  list-style: none;
+  vertical-align: middle;
+  cursor: default;
+  outline: none;
+}
+
+/* Pseudo-rounded corners. */
+.goog-toolbar-button-outer-box,
+.goog-toolbar-button-inner-box {
+  border: 0;
+  vertical-align: top;
+}
+
+.goog-toolbar-button-outer-box {
+  margin: 0;
+  padding: 1px 0;
+}
+
+.goog-toolbar-button-inner-box {
+  margin: 0 -1px;
+  padding: 3px 4px;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-toolbar-button-inner-box {
+  /* IE6 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+
+/* Pre-IE7 BiDi fixes. */
+* html .goog-toolbar-button-rtl .goog-toolbar-button-outer-box {
+  /* @noflip */ left: -1px;
+}
+* html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box {
+  /* @noflip */ right: auto;
+}
+
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-toolbar-button-inner-box {
+  /* IE7 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+
+/* IE7 BiDi fix. */
+*:first-child+html .goog-toolbar-button-rtl .goog-toolbar-button-inner-box {
+  /* @noflip */ left: 1px;
+  /* @noflip */ right: auto;
+}
+
+/* Safari-only hacks. */
+::root .goog-toolbar-button,
+::root .goog-toolbar-button-outer-box {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: 0;
+}
+
+::root .goog-toolbar-button-inner-box {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: normal;
+}
+
+/* Disabled styles. */
+.goog-toolbar-button-disabled {
+  opacity: 0.3;
+  -moz-opacity: 0.3;
+  filter: alpha(opacity=30);
+}
+
+.goog-toolbar-button-disabled .goog-toolbar-button-outer-box,
+.goog-toolbar-button-disabled .goog-toolbar-button-inner-box {
+  /* Disabled text/border color trumps everything else. */
+  color: #333 !important;
+  border-color: #999 !important;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-toolbar-button-disabled {
+  /* IE can't apply alpha to an element with a transparent background... */
+  background-color: #f0f0f0;
+  margin: 0 1px;
+  padding: 0 1px;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-toolbar-button-disabled {
+  /* IE can't apply alpha to an element with a transparent background... */
+  background-color: #f0f0f0;
+  margin: 0 1px;
+  padding: 0 1px;
+}
+
+/* Only draw borders when in a non-default state. */
+.goog-toolbar-button-hover .goog-toolbar-button-outer-box,
+.goog-toolbar-button-active .goog-toolbar-button-outer-box,
+.goog-toolbar-button-checked .goog-toolbar-button-outer-box,
+.goog-toolbar-button-selected .goog-toolbar-button-outer-box {
+  border-width: 1px 0;
+  border-style: solid;
+  padding: 0;
+}
+
+.goog-toolbar-button-hover .goog-toolbar-button-inner-box,
+.goog-toolbar-button-active .goog-toolbar-button-inner-box,
+.goog-toolbar-button-checked .goog-toolbar-button-inner-box,
+.goog-toolbar-button-selected .goog-toolbar-button-inner-box {
+  border-width: 0 1px;
+  border-style: solid;
+  padding: 3px;
+}
+
+/* Hover styles. */
+.goog-toolbar-button-hover .goog-toolbar-button-outer-box,
+.goog-toolbar-button-hover .goog-toolbar-button-inner-box {
+  /* Hover border style wins over active/checked/selected. */
+  border-color: #a1badf !important;
+}
+
+/* Active/checked/selected styles. */
+.goog-toolbar-button-active,
+.goog-toolbar-button-checked,
+.goog-toolbar-button-selected {
+  /* Active/checked/selected background color always wins. */
+  background-color: #dde1eb !important;
+}
+
+.goog-toolbar-button-active .goog-toolbar-button-outer-box,
+.goog-toolbar-button-active .goog-toolbar-button-inner-box,
+.goog-toolbar-button-checked .goog-toolbar-button-outer-box,
+.goog-toolbar-button-checked .goog-toolbar-button-inner-box,
+.goog-toolbar-button-selected .goog-toolbar-button-outer-box,
+.goog-toolbar-button-selected .goog-toolbar-button-inner-box {
+  border-color: #729bd1;
+}
+
+/* Pill (collapsed border) styles. */
+.goog-toolbar-button-collapse-right,
+.goog-toolbar-button-collapse-right .goog-toolbar-button-outer-box,
+.goog-toolbar-button-collapse-right .goog-toolbar-button-inner-box {
+  margin-right: 0;
+}
+
+.goog-toolbar-button-collapse-left,
+.goog-toolbar-button-collapse-left .goog-toolbar-button-outer-box,
+.goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box {
+  margin-left: 0;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-toolbar-button-collapse-left .goog-toolbar-button-inner-box {
+  left: 0;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-toolbar-button-collapse-left
+.goog-toolbar-button-inner-box {
+  left: 0;
+}
+
+
+/*
+ * Styles used by goog.ui.ToolbarMenuButtonRenderer.
+ */
+
+.goog-toolbar-menu-button {
+  margin: 0 2px;
+  border: 0;
+  padding: 0;
+  font-family: Arial, sans-serif;
+  color: #333;
+  text-decoration: none;
+  list-style: none;
+  vertical-align: middle;
+  cursor: default;
+  outline: none;
+}
+
+/* Pseudo-rounded corners. */
+.goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-inner-box {
+  border: 0;
+  vertical-align: top;
+}
+
+.goog-toolbar-menu-button-outer-box {
+  margin: 0;
+  padding: 1px 0;
+}
+
+.goog-toolbar-menu-button-inner-box {
+  margin: 0 -1px;
+  padding: 3px 4px;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-toolbar-menu-button-inner-box {
+  /* IE6 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+
+/* Pre-IE7 BiDi fixes. */
+* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-outer-box {
+  /* @noflip */ left: -1px;
+}
+* html .goog-toolbar-menu-button-rtl .goog-toolbar-menu-button-inner-box {
+  /* @noflip */ right: auto;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-toolbar-menu-button-inner-box {
+  /* IE7 needs to have the box shifted to make the borders line up. */
+  left: -1px;
+}
+
+/* IE7 BiDi fix. */
+*:first-child+html .goog-toolbar-menu-button-rtl
+  .goog-toolbar-menu-button-inner-box {
+  /* @noflip */ left: 1px;
+  /* @noflip */ right: auto;
+}
+
+/* Safari-only hacks. */
+::root .goog-toolbar-menu-button,
+::root .goog-toolbar-menu-button-outer-box,
+::root .goog-toolbar-menu-button-inner-box {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: 0;
+}
+
+::root .goog-toolbar-menu-button-caption,
+::root .goog-toolbar-menu-button-dropdown {
+  /* Required to make pseudo-rounded corners work on Safari. */
+  line-height: normal;
+}
+
+/* Disabled styles. */
+.goog-toolbar-menu-button-disabled {
+  opacity: 0.3;
+  -moz-opacity: 0.3;
+  filter: alpha(opacity=30);
+}
+
+.goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-disabled .goog-toolbar-menu-button-inner-box {
+  /* Disabled text/border color trumps everything else. */
+  color: #333 !important;
+  border-color: #999 !important;
+}
+
+/* Pre-IE7 IE hack; ignored by IE7 and all non-IE browsers. */
+* html .goog-toolbar-menu-button-disabled {
+  /* IE can't apply alpha to an element with a transparent background... */
+  background-color: #f0f0f0;
+  margin: 0 1px;
+  padding: 0 1px;
+}
+
+/* IE7-only hack; ignored by all other browsers. */
+*:first-child+html .goog-toolbar-menu-button-disabled {
+  /* IE can't apply alpha to an element with a transparent background... */
+  background-color: #f0f0f0;
+  margin: 0 1px;
+  padding: 0 1px;
+}
+
+/* Only draw borders when in a non-default state. */
+.goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-active .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-open .goog-toolbar-menu-button-outer-box {
+  border-width: 1px 0;
+  border-style: solid;
+  padding: 0;
+}
+
+.goog-toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box,
+.goog-toolbar-menu-button-active .goog-toolbar-menu-button-inner-box,
+.goog-toolbar-menu-button-open .goog-toolbar-menu-button-inner-box {
+  border-width: 0 1px;
+  border-style: solid;
+  padding: 3px;
+}
+
+/* Hover styles. */
+.goog-toolbar-menu-button-hover .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-hover .goog-toolbar-menu-button-inner-box {
+  /* Hover border color trumps active/open style. */
+  border-color: #a1badf !important;
+}
+
+/* Active/open styles. */
+.goog-toolbar-menu-button-active,
+.goog-toolbar-menu-button-open {
+  /* Active/open background color wins. */
+  background-color: #dde1eb !important;
+}
+
+.goog-toolbar-menu-button-active .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-active .goog-toolbar-menu-button-inner-box,
+.goog-toolbar-menu-button-open .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-menu-button-open .goog-toolbar-menu-button-inner-box {
+  border-color: #729bd1;
+}
+
+/* Menu button caption style. */
+.goog-toolbar-menu-button-caption {
+  padding: 0 4px 0 0;
+  vertical-align: middle;
+}
+
+/* Dropdown style. */
+.goog-toolbar-menu-button-dropdown {
+  width: 7px;
+  /* Client apps may override the URL at which they serve the sprite. */
+  background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -388px 0;
+  vertical-align: middle;
+}
+
+
+/*
+ * Styles used by goog.ui.ToolbarSeparatorRenderer.
+ */
+
+.goog-toolbar-separator {
+  margin: 0 2px;
+  border-left: 1px solid #d6d6d6;
+  border-right: 1px solid #f7f7f7;
+  padding: 0;
+  width: 0;
+  text-decoration: none;
+  list-style: none;
+  outline: none;
+  vertical-align: middle;
+  line-height: normal;
+  font-size: 120%;
+  overflow: hidden;
+}
+
+
+/*
+ * Additional styling for toolbar select controls, which always have borders.
+ */
+
+.goog-toolbar-select .goog-toolbar-menu-button-outer-box {
+  border-width: 1px 0;
+  border-style: solid;
+  padding: 0;
+}
+
+.goog-toolbar-select .goog-toolbar-menu-button-inner-box {
+  border-width: 0 1px;
+  border-style: solid;
+  padding: 3px;
+}
+
+.goog-toolbar-select .goog-toolbar-menu-button-outer-box,
+.goog-toolbar-select .goog-toolbar-menu-button-inner-box {
+  border-color: #bfcbdf;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tooltip.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tooltip.css b/externs/GCL/externs/goog/css/tooltip.css
new file mode 100644
index 0000000..0264583
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tooltip.css
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+.goog-tooltip {
+  background: #ffe;
+  border: 1px solid #999;
+  border-width: 1px 2px 2px 1px;
+  padding: 6px;
+  z-index: 30000;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tree.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tree.css b/externs/GCL/externs/goog/css/tree.css
new file mode 100644
index 0000000..aeb1d0b
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tree.css
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2007 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: arv@google.com (Erik Arvidsson) */
+/* Author: eae@google.com (Emil A Eklund) */
+/* Author: jonp@google.com (Jon Perlow) */
+
+/*
+  TODO(arv): Currently the sprite image has the height 16px. We should make the
+  image taller which would allow better flexibility when it comes to the height
+  of a tree row.
+*/
+
+.goog-tree-root:focus {
+  outline: none;
+}
+
+.goog-tree-row {
+  white-space: nowrap;
+  font: icon;
+  line-height: 16px;
+  height: 16px;
+}
+
+.goog-tree-row span {
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.goog-tree-children {
+  background-repeat: repeat-y;
+  background-image: url(//ssl.gstatic.com/closure/tree/I.png) !important;
+  background-position-y: 1px !important;	/* IE only */
+  font: icon;
+}
+
+.goog-tree-children-nolines {
+  font: icon;
+}
+
+.goog-tree-icon {
+  background-image: url(//ssl.gstatic.com/closure/tree/tree.png);
+}
+
+.goog-tree-expand-icon {
+  vertical-align: middle;
+  height: 16px;
+  width: 16px;
+  cursor: default;
+}
+
+.goog-tree-expand-icon-plus {
+  width: 19px;
+  background-position: 0 0;
+}
+
+.goog-tree-expand-icon-minus {
+  width: 19px;
+  background-position: -24px 0;
+}
+
+.goog-tree-expand-icon-tplus {
+  width: 19px;
+  background-position: -48px 0;
+}
+
+.goog-tree-expand-icon-tminus {
+  width: 19px;
+  background-position: -72px 0;
+}
+
+.goog-tree-expand-icon-lplus {
+  width: 19px;
+  background-position: -96px 0;
+}
+
+.goog-tree-expand-icon-lminus {
+  width: 19px;
+  background-position: -120px 0;
+}
+
+.goog-tree-expand-icon-t {
+  width: 19px;
+  background-position: -144px 0;
+}
+
+.goog-tree-expand-icon-l {
+  width: 19px;
+  background-position: -168px 0;
+}
+
+.goog-tree-expand-icon-blank {
+  width: 19px;
+  background-position: -168px -24px;
+}
+
+.goog-tree-collapsed-folder-icon {
+  vertical-align: middle;
+  height: 16px;
+  width: 16px;
+  background-position: -0px -24px;
+}
+
+.goog-tree-expanded-folder-icon {
+  vertical-align: middle;
+  height: 16px;
+  width: 16px;
+  background-position: -24px -24px;
+}
+
+.goog-tree-file-icon {
+  vertical-align: middle;
+  height: 16px;
+  width: 16px;
+  background-position: -48px -24px;
+}
+
+.goog-tree-item-label {
+  margin-left: 3px;
+  padding: 1px 2px 1px 2px;
+  text-decoration: none;
+  color: WindowText;
+  cursor: default;
+}
+
+.goog-tree-item-label:hover {
+  text-decoration: underline;
+}
+
+.selected .goog-tree-item-label {
+  background-color: ButtonFace;
+  color: ButtonText;
+}
+
+.focused .selected .goog-tree-item-label {
+  background-color: Highlight;
+  color: HighlightText;
+}
+
+.goog-tree-hide-root {
+  display: none;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/css/tristatemenuitem.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/css/tristatemenuitem.css b/externs/GCL/externs/goog/css/tristatemenuitem.css
new file mode 100644
index 0000000..8c98448
--- /dev/null
+++ b/externs/GCL/externs/goog/css/tristatemenuitem.css
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2007 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+/* Author: pupius@google.com (Daniel Pupius) */
+
+/* goog.ui.TriStateMenuItem */
+
+.goog-tristatemenuitem {
+  padding: 2px 5px;
+  margin: 0;
+  list-style: none;
+}
+
+.goog-tristatemenuitem-highlight {
+  background-color: #4279A5;
+  color: #FFF;
+}
+
+.goog-tristatemenuitem-disabled {
+  color: #999;
+}
+
+.goog-tristatemenuitem-checkbox {
+  float: left;
+  width: 10px;
+  height: 1.1em;
+}
+
+.goog-tristatemenuitem-partially-checked {
+  background-image: url(//ssl.gstatic.com/closure/check-outline.gif);
+  background-position: 4px 50%;
+  background-repeat: no-repeat;
+}
+
+.goog-tristatemenuitem-fully-checked {
+  background-image: url(//ssl.gstatic.com/closure/check.gif);
+  background-position: 4px 50%;
+  background-repeat: no-repeat;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/cssom/cssom.js
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/cssom/cssom.js b/externs/GCL/externs/goog/cssom/cssom.js
new file mode 100644
index 0000000..86a4235
--- /dev/null
+++ b/externs/GCL/externs/goog/cssom/cssom.js
@@ -0,0 +1,455 @@
+// Copyright 2008 The Closure Library Authors. All Rights Reserved.
+//
+// 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.
+
+/**
+ * @fileoverview CSS Object Model helper functions.
+ * References:
+ * - W3C: http://dev.w3.org/csswg/cssom/
+ * - MSDN: http://msdn.microsoft.com/en-us/library/ms531209(VS.85).aspx.
+ * @supported in FF3, IE6, IE7, Safari 3.1.2, Chrome
+ * TODO(user): Fix in Opera.
+ * TODO(user): Consider hacking page, media, etc.. to work.
+ *     This would be pretty challenging. IE returns the text for any rule
+ *     regardless of whether or not the media is correct or not. Firefox at
+ *     least supports CSSRule.type to figure out if it's a media type and then
+ *     we could do something interesting, but IE offers no way for us to tell.
+ */
+
+goog.provide('goog.cssom');
+goog.provide('goog.cssom.CssRuleType');
+
+goog.require('goog.array');
+goog.require('goog.dom');
+goog.require('goog.dom.TagName');
+
+
+/**
+ * Enumeration of {@code CSSRule} types.
+ * @enum {number}
+ */
+goog.cssom.CssRuleType = {
+  STYLE: 1,
+  IMPORT: 3,
+  MEDIA: 4,
+  FONT_FACE: 5,
+  PAGE: 6,
+  NAMESPACE: 7
+};
+
+
+/**
+ * Recursively gets all CSS as text, optionally starting from a given
+ * CSSStyleSheet.
+ * @param {(CSSStyleSheet|StyleSheetList)=} opt_styleSheet The CSSStyleSheet.
+ * @return {string} css text.
+ */
+goog.cssom.getAllCssText = function(opt_styleSheet) {
+  var styleSheet = opt_styleSheet || document.styleSheets;
+  return /** @type {string} */ (goog.cssom.getAllCss_(styleSheet, true));
+};
+
+
+/**
+ * Recursively gets all CSSStyleRules, optionally starting from a given
+ * CSSStyleSheet.
+ * Note that this excludes any CSSImportRules, CSSMediaRules, etc..
+ * @param {(CSSStyleSheet|StyleSheetList)=} opt_styleSheet The CSSStyleSheet.
+ * @return {Array<CSSStyleRule>} A list of CSSStyleRules.
+ */
+goog.cssom.getAllCssStyleRules = function(opt_styleSheet) {
+  var styleSheet = opt_styleSheet || document.styleSheets;
+  return /** @type {!Array<CSSStyleRule>} */ (
+      goog.cssom.getAllCss_(styleSheet, false));
+};
+
+
+/**
+ * Returns the CSSRules from a styleSheet.
+ * Worth noting here is that IE and FF differ in terms of what they will return.
+ * Firefox will return styleSheet.cssRules, which includes ImportRules and
+ * anything which implements the CSSRules interface. IE returns simply a list of
+ * CSSRules.
+ * @param {CSSStyleSheet} styleSheet The CSSStyleSheet.
+ * @throws {Error} If we cannot access the rules on a stylesheet object - this
+ *     can  happen if a stylesheet object's rules are accessed before the rules
+ *     have been downloaded and parsed and are "ready".
+ * @return {CSSRuleList} An array of CSSRules or null.
+ */
+goog.cssom.getCssRulesFromStyleSheet = function(styleSheet) {
+  var cssRuleList = null;
+  try {
+    // Select cssRules unless it isn't present.  For pre-IE9 IE, use the rules
+    // collection instead.
+    // It's important to be consistent in using only the W3C or IE apis on
+    // IE9+ where both are present to ensure that there is no indexing
+    // mismatches - the collections are subtly different in what the include or
+    // exclude which can lead to one collection being longer than the other
+    // depending on the page's construction.
+    cssRuleList = styleSheet.cssRules /* W3C */ || styleSheet.rules /* IE */;
+  } catch (e) {
+    // This can happen if we try to access the CSSOM before it's "ready".
+    if (e.code == 15) {
+      // Firefox throws an NS_ERROR_DOM_INVALID_ACCESS_ERR error if a stylesheet
+      // is read before it has been fully parsed. Let the caller know which
+      // stylesheet failed.
+      e.styleSheet = styleSheet;
+      throw e;
+    }
+  }
+  return cssRuleList;
+};
+
+
+/**
+ * Gets all CSSStyleSheet objects starting from some CSSStyleSheet. Note that we
+ * want to return the sheets in the order of the cascade, therefore if we
+ * encounter an import, we will splice that CSSStyleSheet object in front of
+ * the CSSStyleSheet that contains it in the returned array of CSSStyleSheets.
+ * @param {(CSSStyleSheet|StyleSheetList)=} opt_styleSheet A CSSStyleSheet.
+ * @param {boolean=} opt_includeDisabled If true, includes disabled stylesheets,
+ *    defaults to false.
+ * @return {!Array<CSSStyleSheet>} A list of CSSStyleSheet objects.
+ */
+goog.cssom.getAllCssStyleSheets = function(opt_styleSheet,
+    opt_includeDisabled) {
+  var styleSheetsOutput = [];
+  var styleSheet = opt_styleSheet || document.styleSheets;
+  var includeDisabled = goog.isDef(opt_includeDisabled) ? opt_includeDisabled :
+      false;
+
+  // Imports need to go first.
+  if (styleSheet.imports && styleSheet.imports.length) {
+    for (var i = 0, n = styleSheet.imports.length; i < n; i++) {
+      goog.array.extend(styleSheetsOutput,
+          goog.cssom.getAllCssStyleSheets(styleSheet.imports[i]));
+    }
+
+  } else if (styleSheet.length) {
+    // In case we get a StyleSheetList object.
+    // http://dev.w3.org/csswg/cssom/#the-stylesheetlist
+    for (var i = 0, n = styleSheet.length; i < n; i++) {
+      goog.array.extend(styleSheetsOutput,
+          goog.cssom.getAllCssStyleSheets(styleSheet[i]));
+    }
+  } else {
+    // We need to walk through rules in browsers which implement .cssRules
+    // to see if there are styleSheets buried in there.
+    // If we have a CSSStyleSheet within CssRules.
+    var cssRuleList = goog.cssom.getCssRulesFromStyleSheet(
+        /** @type {!CSSStyleSheet} */ (styleSheet));
+    if (cssRuleList && cssRuleList.length) {
+      // Chrome does not evaluate cssRuleList[i] to undefined when i >=n;
+      // so we use a (i < n) check instead of cssRuleList[i] in the loop below
+      // and in other places where we iterate over a rules list.
+      // See issue # 5917 in Chromium.
+      for (var i = 0, n = cssRuleList.length, cssRule; i < n; i++) {
+        cssRule = cssRuleList[i];
+        // There are more stylesheets to get on this object..
+        if (cssRule.styleSheet) {
+          goog.array.extend(styleSheetsOutput,
+              goog.cssom.getAllCssStyleSheets(cssRule.styleSheet));
+        }
+      }
+    }
+  }
+
+  // This is a CSSStyleSheet. (IE uses .rules, W3c and Opera cssRules.)
+  if ((styleSheet.type || styleSheet.rules || styleSheet.cssRules) &&
+      (!styleSheet.disabled || includeDisabled)) {
+    styleSheetsOutput.push(styleSheet);
+  }
+
+  return styleSheetsOutput;
+};
+
+
+/**
+ * Gets the cssText from a CSSRule object cross-browserly.
+ * @param {CSSRule} cssRule A CSSRule.
+ * @return {string} cssText The text for the rule, including the selector.
+ */
+goog.cssom.getCssTextFromCssRule = function(cssRule) {
+  var cssText = '';
+
+  if (cssRule.cssText) {
+    // W3C.
+    cssText = cssRule.cssText;
+  } else if (cssRule.style && cssRule.style.cssText && cssRule.selectorText) {
+    // IE: The spacing here is intended to make the result consistent with
+    // FF and Webkit.
+    // We also remove the special properties that we may have added in
+    // getAllCssStyleRules since IE includes those in the cssText.
+    var styleCssText = cssRule.style.cssText.
+        replace(/\s*-closure-parent-stylesheet:\s*\[object\];?\s*/gi, '').
+        replace(/\s*-closure-rule-index:\s*[\d]+;?\s*/gi, '');
+    var thisCssText = cssRule.selectorText + ' { ' + styleCssText + ' }';
+    cssText = thisCssText;
+  }
+
+  return cssText;
+};
+
+
+/**
+ * Get the index of the CSSRule in it's CSSStyleSheet.
+ * @param {CSSRule} cssRule A CSSRule.
+ * @param {CSSStyleSheet=} opt_parentStyleSheet A reference to the stylesheet
+ *     object this cssRule belongs to.
+ * @throws {Error} When we cannot get the parentStyleSheet.
+ * @return {number} The index of the CSSRule, or -1.
+ */
+goog.cssom.getCssRuleIndexInParentStyleSheet = function(cssRule,
+    opt_parentStyleSheet) {
+  // Look for our special style.ruleIndex property from getAllCss.
+  if (cssRule.style && cssRule.style['-closure-rule-index']) {
+    return cssRule.style['-closure-rule-index'];
+  }
+
+  var parentStyleSheet = opt_parentStyleSheet ||
+      goog.cssom.getParentStyleSheet(cssRule);
+
+  if (!parentStyleSheet) {
+    // We could call getAllCssStyleRules() here to get our special indexes on
+    // the style object, but that seems like it could be wasteful.
+    throw Error('Cannot find a parentStyleSheet.');
+  }
+
+  var cssRuleList = goog.cssom.getCssRulesFromStyleSheet(parentStyleSheet);
+  if (cssRuleList && cssRuleList.length) {
+    for (var i = 0, n = cssRuleList.length, thisCssRule; i < n; i++) {
+      thisCssRule = cssRuleList[i];
+      if (thisCssRule == cssRule) {
+        return i;
+      }
+    }
+  }
+  return -1;
+};
+
+
+/**
+ * We do some trickery in getAllCssStyleRules that hacks this in for IE.
+ * If the cssRule object isn't coming from a result of that function call, this
+ * method will return undefined in IE.
+ * @param {CSSRule} cssRule The CSSRule.
+ * @return {CSSStyleSheet} A styleSheet object.
+ */
+goog.cssom.getParentStyleSheet = function(cssRule) {
+  return cssRule.parentStyleSheet ||
+      cssRule.style &&
+      cssRule.style['-closure-parent-stylesheet'];
+};
+
+
+/**
+ * Replace a cssRule with some cssText for a new rule.
+ * If the cssRule object is not one of objects returned by
+ * getAllCssStyleRules, then you'll need to provide both the styleSheet and
+ * possibly the index, since we can't infer them from the standard cssRule
+ * object in IE. We do some trickery in getAllCssStyleRules to hack this in.
+ * @param {CSSRule} cssRule A CSSRule.
+ * @param {string} cssText The text for the new CSSRule.
+ * @param {CSSStyleSheet=} opt_parentStyleSheet A reference to the stylesheet
+ *     object this cssRule belongs to.
+ * @param {number=} opt_index The index of the cssRule in its parentStylesheet.
+ * @throws {Error} If we cannot find a parentStyleSheet.
+ * @throws {Error} If we cannot find a css rule index.
+ */
+goog.cssom.replaceCssRule = function(cssRule, cssText, opt_parentStyleSheet,
+    opt_index) {
+  var parentStyleSheet = opt_parentStyleSheet ||
+      goog.cssom.getParentStyleSheet(cssRule);
+  if (parentStyleSheet) {
+    var index = opt_index >= 0 ? opt_index :
+        goog.cssom.getCssRuleIndexInParentStyleSheet(cssRule, parentStyleSheet);
+    if (index >= 0) {
+      goog.cssom.removeCssRule(parentStyleSheet, index);
+      goog.cssom.addCssRule(parentStyleSheet, cssText, index);
+    } else {
+      throw Error('Cannot proceed without the index of the cssRule.');
+    }
+  } else {
+    throw Error('Cannot proceed without the parentStyleSheet.');
+  }
+};
+
+
+/**
+ * Cross browser function to add a CSSRule into a CSSStyleSheet, optionally
+ * at a given index.
+ * @param {CSSStyleSheet} cssStyleSheet The CSSRule's parentStyleSheet.
+ * @param {string} cssText The text for the new CSSRule.
+ * @param {number=} opt_index The index of the cssRule in its parentStylesheet.
+ * @throws {Error} If the css rule text appears to be ill-formatted.
+ * TODO(bowdidge): Inserting at index 0 fails on Firefox 2 and 3 with an
+ *     exception warning "Node cannot be inserted at the specified point in
+ *     the hierarchy."
+ */
+goog.cssom.addCssRule = function(cssStyleSheet, cssText, opt_index) {
+  var index = opt_index;
+  if (index < 0 || index == undefined) {
+    // If no index specified, insert at the end of the current list
+    // of rules.
+    var rules = goog.cssom.getCssRulesFromStyleSheet(cssStyleSheet);
+    index = rules.length;
+  }
+  if (cssStyleSheet.insertRule) {
+    // W3C (including IE9+).
+    cssStyleSheet.insertRule(cssText, index);
+
+  } else {
+    // IE, pre 9: We have to parse the cssRule text to get the selector
+    // separated from the style text.
+    // aka Everything that isn't a colon, followed by a colon, then
+    // the rest is the style part.
+    var matches = /^([^\{]+)\{([^\{]+)\}/.exec(cssText);
+    if (matches.length == 3) {
+      var selector = matches[1];
+      var style = matches[2];
+      cssStyleSheet.addRule(selector, style, index);
+    } else {
+      throw Error('Your CSSRule appears to be ill-formatted.');
+    }
+  }
+};
+
+
+/**
+ * Cross browser function to remove a CSSRule in a CSSStyleSheet at an index.
+ * @param {CSSStyleSheet} cssStyleSheet The CSSRule's parentStyleSheet.
+ * @param {number} index The CSSRule's index in the parentStyleSheet.
+ */
+goog.cssom.removeCssRule = function(cssStyleSheet, index) {
+  if (cssStyleSheet.deleteRule) {
+    // W3C.
+    cssStyleSheet.deleteRule(index);
+
+  } else {
+    // IE.
+    cssStyleSheet.removeRule(index);
+  }
+};
+
+
+/**
+ * Appends a DOM node to HEAD containing the css text that's passed in.
+ * @param {string} cssText CSS to add to the end of the document.
+ * @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper user for
+ *     document interactions.
+ * @return {!Element} The newly created STYLE element.
+ */
+goog.cssom.addCssText = function(cssText, opt_domHelper) {
+  var document = opt_domHelper ? opt_domHelper.getDocument() :
+      goog.dom.getDocument();
+  var cssNode = document.createElement(goog.dom.TagName.STYLE);
+  cssNode.type = 'text/css';
+  var head = document.getElementsByTagName(goog.dom.TagName.HEAD)[0];
+  head.appendChild(cssNode);
+  if (cssNode.styleSheet) {
+    // IE.
+    cssNode.styleSheet.cssText = cssText;
+  } else {
+    // W3C.
+    var cssTextNode = document.createTextNode(cssText);
+    cssNode.appendChild(cssTextNode);
+  }
+  return cssNode;
+};
+
+
+/**
+ * Cross browser method to get the filename from the StyleSheet's href.
+ * Explorer only returns the filename in the href, while other agents return
+ * the full path.
+ * @param {!StyleSheet} styleSheet Any valid StyleSheet object with an href.
+ * @throws {Error} When there's no href property found.
+ * @return {?string} filename The filename, or null if not an external
+ *    styleSheet.
+ */
+goog.cssom.getFileNameFromStyleSheet = function(styleSheet) {
+  var href = styleSheet.href;
+
+  // Another IE/FF difference. IE returns an empty string, while FF and others
+  // return null for CSSStyleSheets not from an external file.
+  if (!href) {
+    return null;
+  }
+
+  // We need the regexp to ensure we get the filename minus any query params.
+  var matches = /([^\/\?]+)[^\/]*$/.exec(href);
+  var filename = matches[1];
+  return filename;
+};
+
+
+/**
+ * Recursively gets all CSS text or rules.
+ * @param {CSSStyleSheet|StyleSheetList} styleSheet The CSSStyleSheet.
+ * @param {boolean} isTextOutput If true, output is cssText, otherwise cssRules.
+ * @return {string|!Array<CSSRule>} cssText or cssRules.
+ * @private
+ */
+goog.cssom.getAllCss_ = function(styleSheet, isTextOutput) {
+  var cssOut = [];
+  var styleSheets = goog.cssom.getAllCssStyleSheets(styleSheet);
+
+  for (var i = 0; styleSheet = styleSheets[i]; i++) {
+    var cssRuleList = goog.cssom.getCssRulesFromStyleSheet(styleSheet);
+
+    if (cssRuleList && cssRuleList.length) {
+
+      // We're going to track cssRule index if we want rule output.
+      if (!isTextOutput) {
+        var ruleIndex = 0;
+      }
+
+      for (var j = 0, n = cssRuleList.length, cssRule; j < n; j++) {
+        cssRule = cssRuleList[j];
+        // Gets cssText output, ignoring CSSImportRules.
+        if (isTextOutput && !cssRule.href) {
+          var res = goog.cssom.getCssTextFromCssRule(cssRule);
+          cssOut.push(res);
+
+        } else if (!cssRule.href) {
+          // Gets cssRules output, ignoring CSSImportRules.
+          if (cssRule.style) {
+            // This is a fun little hack to get parentStyleSheet into the rule
+            // object for IE since it failed to implement rule.parentStyleSheet.
+            // We can later read this property when doing things like hunting
+            // for indexes in order to delete a given CSSRule.
+            // Unfortunately we have to use the style object to store these
+            // pieces of info since the rule object is read-only.
+            if (!cssRule.parentStyleSheet) {
+              cssRule.style['-closure-parent-stylesheet'] = styleSheet;
+            }
+
+            // This is a hack to help with possible removal of the rule later,
+            // where we just append the rule's index in its parentStyleSheet
+            // onto the style object as a property.
+            // Unfortunately we have to use the style object to store these
+            // pieces of info since the rule object is read-only.
+            cssRule.style['-closure-rule-index'] = ruleIndex;
+          }
+          cssOut.push(cssRule);
+        }
+
+        if (!isTextOutput) {
+          ruleIndex++;
+        }
+      }
+    }
+  }
+  return isTextOutput ? cssOut.join(' ') : cssOut;
+};
+

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/cssom/cssom_test_import_1.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/cssom/cssom_test_import_1.css b/externs/GCL/externs/goog/cssom/cssom_test_import_1.css
new file mode 100644
index 0000000..566f907
--- /dev/null
+++ b/externs/GCL/externs/goog/cssom/cssom_test_import_1.css
@@ -0,0 +1,11 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+@import "cssom_test_import_2.css";
+.css-import-1 {
+  display: block;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/cssom/cssom_test_import_2.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/cssom/cssom_test_import_2.css b/externs/GCL/externs/goog/cssom/cssom_test_import_2.css
new file mode 100644
index 0000000..dc31c96
--- /dev/null
+++ b/externs/GCL/externs/goog/cssom/cssom_test_import_2.css
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+.css-import-2 {
+  display: block;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/e2cad6e6/externs/GCL/externs/goog/cssom/cssom_test_link_1.css
----------------------------------------------------------------------
diff --git a/externs/GCL/externs/goog/cssom/cssom_test_link_1.css b/externs/GCL/externs/goog/cssom/cssom_test_link_1.css
new file mode 100644
index 0000000..832a8e3
--- /dev/null
+++ b/externs/GCL/externs/goog/cssom/cssom_test_link_1.css
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2010 The Closure Library Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by the Apache License, Version 2.0.
+ * See the COPYING file for details.
+ */
+
+.css-link-1 {
+  display: block;
+}


Mime
View raw message