   makeStyleProperty: (styleName, value) ->
     if Ember.typeOf(value) is 'number'
       value = value + @get('unitType')
+    else
+      value = escapeCSS value
     "#{styleName}:#{value};"
 
   applyStyleBindings: ->

      styleTokens = styles.map (style) =>
        @createStyleString style, lookup[style]
      styleString = styleTokens.join('')
      return styleString unless styleString.length is 0

    # add dependents to computed property
    styleComputed.property.apply(styleComputed, properties)

# Copied from https://github.com/Addepar/ember-table/blob/master/dependencies/ember-addepar-mixins/style_bindings.js

# TODO: Improve CSS value escaping
escapeCSS = (value) ->
  # Eliminate semi-colons and any content following a semi-colon
  # This prevents anything other than a single style from being
  # set. However, this may disrupt some legitimate styles and
  # and doesn't cover all XSS attack vectors.
  value.replace /;.*$/, ''

Ember.StyleBindingsMixin = Ember.Mixin.create
  isStyleBindings: true
