Example #1
0
        public override Value Bind(Scope scope)
        {
            var copyValues = new List<Value>(Values.Select(v => v.Bind(scope)));
            var ret = new CompoundValue(copyValues);
            ret.Scope = scope;

            return ret;
        }
Example #2
0
        /// <summary>
        /// Webkit's prefixed background-size differs from the spec
        /// in that a single value (background-size: X) is treated like (background-size: X X).
        /// 
        /// It should be treated as (background-size: X auto), this detects and inserts that case.
        /// 
        /// In the case where two values are passed, the prefixed version matches the final spec.
        /// </summary>
        private static IEnumerable<NameValueProperty> WebkitBackgroundSize(Prefix pre, NameValueProperty backgroundSize)
        {
            var asMulti = backgroundSize.Value as CompoundValue;
            if (asMulti != null) return Simple(pre, backgroundSize);

            var newValue = new CompoundValue(backgroundSize.Value, new StringValue("auto"));

            return Simple(pre, new NameValueProperty(backgroundSize.Name, newValue));
        }