diff --git a/qooxdoo-1.5.1-sdk/framework/source/class/qx/ui/decoration/css3/BorderImage.js b/qooxdoo-1.5.1-sdk/framework/source/class/qx/ui/decoration/css3/BorderImage.js
index 94b2d8f..6003814 100755
--- a/qooxdoo-1.5.1-sdk/framework/source/class/qx/ui/decoration/css3/BorderImage.js
+++ b/qooxdoo-1.5.1-sdk/framework/source/class/qx/ui/decoration/css3/BorderImage.js
@@ -189,6 +189,16 @@ qx.Class.define("qx.ui.decoration.css3.BorderImage",
     {
       group : ["repeatX", "repeatY"],
       mode : "shorthand"
+    },
+
+    /**
+     * If set to <code>false</code>, the center image will be omitted and only
+     * the border will be drawn.
+     */
+    fill :
+    {
+      check : "Boolean",
+      init : true
     }
   },

@@ -240,12 +250,17 @@ qx.Class.define("qx.ui.decoration.css3.BorderImage",
       var repeat = [
         this.getRepeatX(),
         this.getRepeatY()
-      ].join(" ")
+      ].join(" ");
+
+       var fill = this.getFill() &&
+        this.__getBorderImageSyntax() ? " fill" : "";

       this.__markup = [
         "<div style='",
         qx.bom.element.Style.compile({
-          "borderImage" : 'url("' + source + '") ' + slice.join(" ") + " " + repeat,
+          "borderImage" : 'url("' + source + '") ' + slice.join(" ") + fill + " " + repeat,
+          borderStyle: "solid",
+          borderColor: 'transparent',
           position: "absolute",
           lineHeight: 0,
           fontSize: 0,
@@ -261,6 +276,78 @@ qx.Class.define("qx.ui.decoration.css3.BorderImage",
     },


+     /**
+     * Returns the type of syntax this client supports for its CSS border-image
+     * implementation. Some browsers do not support the "fill" keyword defined
+     * in the W3C draft (http://www.w3.org/TR/css3-background/) and will not
+     * show the border image if it's set. Others follow the standard closely and
+     * will omit the center image if "fill" is not set.
+     *
+     * @return {Boolean|null} <code>true</code> if the standard syntax is supported.
+     * <code>null</code> if the supported syntax could not be detected.
+     * @internal
+     */
+    __getBorderImageSyntax : function() {
+      var styleName = this.__getPropertyName("borderImage");
+      if (!styleName) {
+        return null;
+      }
+
+      var el = document.createElement("div");
+
+      if (styleName === "borderImage") {
+        // unprefixed implementation: check individual properties
+        el.style[styleName] = 'url("foo.png") 4 4 4 4 fill stretch';
+        if (el.style.borderImageSource.indexOf("foo.png") >= 0 &&
+            el.style.borderImageSlice.indexOf("4 fill") >= 0 &&
+            el.style.borderImageRepeat.indexOf("stretch") >= 0)
+        {
+          return true;
+        }
+      }
+      else {
+        // prefixed implementation, assume no support for "fill"
+        el.style[styleName] = 'url("foo.png") 4 4 4 4 stretch';
+        // serialized value is unreliable, so just a simple check
+        if (el.style[styleName].indexOf("foo.png") >= 0) {
+          return false;
+        }
+      }
+
+      // unable to determine syntax
+      return null;
+    },
+
+    /** Vendor-specific style property prefixes **/
+    __VENDOR_PREFIXES : ["Webkit", "Moz", "O", "ms", "Khtml"],
+
+    /**
+     * Takes the name of a style property and returns the name the browser uses
+     * for its implementation, which might include a vendor prefix.
+     *
+     * @param propertyName {String} Style property name to check
+     * @return {String|null} The supported property name or <code>null</code> if
+     * not supported
+     */
+    __getPropertyName : function(propertyName)
+    {
+      var style = document.documentElement.style;
+
+      if (style[propertyName] !== undefined) {
+        return propertyName;
+      }
+
+      for (var i=0, l=this.__VENDOR_PREFIXES.length; i<l; i++) {
+        var prefixedProp = this.__VENDOR_PREFIXES[i] +
+          qx.lang.String.firstUp(propertyName);
+        if (style[prefixedProp] !== undefined) {
+          return prefixedProp;
+        }
+      }
+
+      return null;
+    },
+
     // interface implementation
     resize : function(element, width, height)
     {
