| Index: sdk/lib/html/scripts/css_code_generator.py
 | 
| diff --git a/sdk/lib/html/scripts/css_code_generator.py b/sdk/lib/html/scripts/css_code_generator.py
 | 
| deleted file mode 100644
 | 
| index 11bf7bcbf63ab04d2a66e2c3307fbbbe35bcd465..0000000000000000000000000000000000000000
 | 
| --- a/sdk/lib/html/scripts/css_code_generator.py
 | 
| +++ /dev/null
 | 
| @@ -1,219 +0,0 @@
 | 
| -#!/usr/bin/python2.6
 | 
| -#
 | 
| -# Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
 | 
| -# for details. All rights reserved. Use of this source code is governed by a
 | 
| -# BSD-style license that can be found in the LICENSE file.
 | 
| -
 | 
| -"""Generates CSSStyleDeclaration from css property definitions defined in WebKit."""
 | 
| -
 | 
| -import tempfile, os
 | 
| -
 | 
| -COMMENT_LINE_PREFIX = '   * '
 | 
| -SOURCE_PATH = 'Source/WebCore/css/CSSPropertyNames.in'
 | 
| -INPUT_URL = 'http://trac.webkit.org/export/latest/trunk/%s' % SOURCE_PATH
 | 
| -INTERFACE_FILE = '../../html/src/CSSStyleDeclaration.dart'
 | 
| -CLASS_FILE = '../../html/src/CSSStyleDeclarationWrappingImplementation.dart'
 | 
| -
 | 
| -def main():
 | 
| -  _, css_names_file = tempfile.mkstemp('.CSSPropertyNames.in')
 | 
| -  try:
 | 
| -    if os.system('wget %s -O %s' % (INPUT_URL, css_names_file)):
 | 
| -      return 1
 | 
| -    generate_code(css_names_file)
 | 
| -    print 'Successfully generated %s and %s' % (INTERFACE_FILE, CLASS_FILE)
 | 
| -  finally:
 | 
| -    os.remove(css_names_file)
 | 
| -
 | 
| -def camelCaseName(name):
 | 
| -  """Convert a CSS property name to a lowerCamelCase name."""
 | 
| -  name = name.replace('-webkit-', '')
 | 
| -  words = []
 | 
| -  for word in name.split('-'):
 | 
| -    if words:
 | 
| -      words.append(word.title())
 | 
| -    else:
 | 
| -      words.append(word)
 | 
| -  return ''.join(words)
 | 
| -
 | 
| -def generate_code(input_path):
 | 
| -  data = open(input_path).readlines()
 | 
| -
 | 
| -  # filter CSSPropertyNames.in to only the properties
 | 
| -  data = [d[:-1] for d in data
 | 
| -          if len(d) > 1
 | 
| -          and not d.startswith('#')
 | 
| -          and not d.startswith('//')
 | 
| -          and not '=' in d]
 | 
| -
 | 
| -  interface_file = open(INTERFACE_FILE, 'w')
 | 
| -  class_file = open(CLASS_FILE, 'w')
 | 
| -
 | 
| -  interface_file.write("""
 | 
| -// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
 | 
| -// for details. All rights reserved. Use of this source code is governed by a
 | 
| -// BSD-style license that can be found in the LICENSE file.
 | 
| -
 | 
| -// WARNING: Do not edit.
 | 
| -// This file was generated by html/scripts/css_code_generator.py
 | 
| -
 | 
| -// Source of CSS properties:
 | 
| -//   %s
 | 
| -
 | 
| -// TODO(jacobr): add versions that take numeric values in px, miliseconds, etc.
 | 
| -
 | 
| -interface CSSStyleDeclaration {
 | 
| -
 | 
| -  String get cssText;
 | 
| -
 | 
| -  void set cssText(String value);
 | 
| -
 | 
| -  int get length;
 | 
| -
 | 
| -  CSSRule get parentRule;
 | 
| -
 | 
| -  CSSValue getPropertyCSSValue(String propertyName);
 | 
| -
 | 
| -  String getPropertyPriority(String propertyName);
 | 
| -
 | 
| -  String getPropertyShorthand(String propertyName);
 | 
| -
 | 
| -  String getPropertyValue(String propertyName);
 | 
| -
 | 
| -  bool isPropertyImplicit(String propertyName);
 | 
| -
 | 
| -  String item(int index);
 | 
| -
 | 
| -  String removeProperty(String propertyName);
 | 
| -
 | 
| -  void setProperty(String propertyName, String value, [String priority]);
 | 
| -
 | 
| -""".lstrip() % SOURCE_PATH)
 | 
| -
 | 
| -
 | 
| -  class_file.write("""
 | 
| -// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
 | 
| -// for details. All rights reserved. Use of this source code is governed by a
 | 
| -// BSD-style license that can be found in the LICENSE file.
 | 
| -
 | 
| -// WARNING: Do not edit.
 | 
| -// This file was generated by html/scripts/css_code_generator.py
 | 
| -
 | 
| -// Source of CSS properties:
 | 
| -//   %s
 | 
| -
 | 
| -// TODO(jacobr): add versions that take numeric values in px, miliseconds, etc.
 | 
| -
 | 
| -class CSSStyleDeclarationWrappingImplementation extends DOMWrapperBase implements CSSStyleDeclaration {
 | 
| -  static String _cachedBrowserPrefix;
 | 
| -
 | 
| -  CSSStyleDeclarationWrappingImplementation._wrap(ptr) : super._wrap(ptr) {}
 | 
| -
 | 
| -  static String get _browserPrefix {
 | 
| -    if (_cachedBrowserPrefix == null) {
 | 
| -      if (_Device.isFirefox) {
 | 
| -        _cachedBrowserPrefix = '-moz-';
 | 
| -      } else {
 | 
| -        _cachedBrowserPrefix = '-webkit-';
 | 
| -      }
 | 
| -      // TODO(jacobr): support IE 9.0 and Opera as well.
 | 
| -    }
 | 
| -    return _cachedBrowserPrefix;
 | 
| -  }
 | 
| -
 | 
| -  String get cssText { return _ptr.cssText; }
 | 
| -
 | 
| -  void set cssText(String value) { _ptr.cssText = value; }
 | 
| -
 | 
| -  int get length { return _ptr.length; }
 | 
| -
 | 
| -  CSSRule get parentRule { return LevelDom.wrapCSSRule(_ptr.parentRule); }
 | 
| -
 | 
| -  CSSValue getPropertyCSSValue(String propertyName) {
 | 
| -    return LevelDom.wrapCSSValue(_ptr.getPropertyCSSValue(propertyName));
 | 
| -  }
 | 
| -
 | 
| -  String getPropertyPriority(String propertyName) {
 | 
| -    return _ptr.getPropertyPriority(propertyName);
 | 
| -  }
 | 
| -
 | 
| -  String getPropertyShorthand(String propertyName) {
 | 
| -    return _ptr.getPropertyShorthand(propertyName);
 | 
| -  }
 | 
| -
 | 
| -  String getPropertyValue(String propertyName) {
 | 
| -    return _ptr.getPropertyValue(propertyName);
 | 
| -  }
 | 
| -
 | 
| -  bool isPropertyImplicit(String propertyName) {
 | 
| -    return _ptr.isPropertyImplicit(propertyName);
 | 
| -  }
 | 
| -
 | 
| -  String item(int index) {
 | 
| -    return _ptr.item(index);
 | 
| -  }
 | 
| -
 | 
| -  String removeProperty(String propertyName) {
 | 
| -    return _ptr.removeProperty(propertyName);
 | 
| -  }
 | 
| -
 | 
| -  void setProperty(String propertyName, String value, [String priority = '']) {
 | 
| -    _ptr.setProperty(propertyName, value, priority);
 | 
| -  }
 | 
| -
 | 
| -  String get typeName { return "CSSStyleDeclaration"; }
 | 
| -
 | 
| -""".lstrip() % SOURCE_PATH)
 | 
| -
 | 
| -  interface_lines = [];
 | 
| -  class_lines = [];
 | 
| -
 | 
| -  seen = set()
 | 
| -  for prop in sorted(data, key=lambda p: camelCaseName(p)):
 | 
| -    camel_case_name = camelCaseName(prop)
 | 
| -    upper_camel_case_name = camel_case_name[0].upper() + camel_case_name[1:];
 | 
| -    css_name = prop.replace('-webkit-', '${_browserPrefix}')
 | 
| -    base_css_name = prop.replace('-webkit-', '')
 | 
| -
 | 
| -    if base_css_name in seen:
 | 
| -      continue
 | 
| -    seen.add(base_css_name)
 | 
| -
 | 
| -    comment = '  /** %s the value of "' + base_css_name + '" */'
 | 
| -
 | 
| -    interface_lines.append(comment % 'Gets')
 | 
| -    interface_lines.append("""
 | 
| -  String get %s;
 | 
| -
 | 
| -""" % camel_case_name)
 | 
| -
 | 
| -    interface_lines.append(comment % 'Sets')
 | 
| -    interface_lines.append("""
 | 
| -  void set %s(String value);
 | 
| -
 | 
| -""" % camel_case_name)
 | 
| -
 | 
| -    class_lines.append('\n');
 | 
| -    class_lines.append(comment % 'Gets')
 | 
| -    class_lines.append("""
 | 
| -  String get %s =>
 | 
| -    getPropertyValue('%s');
 | 
| -
 | 
| -""" % (camel_case_name, css_name))
 | 
| -
 | 
| -    class_lines.append(comment % 'Sets')
 | 
| -    class_lines.append("""
 | 
| -  void set %s(String value) {
 | 
| -    setProperty('%s', value, '');
 | 
| -  }
 | 
| -""" % (camel_case_name, css_name))
 | 
| -
 | 
| -  interface_file.write(''.join(interface_lines));
 | 
| -  interface_file.write('}\n')
 | 
| -  interface_file.close()
 | 
| -
 | 
| -  class_file.write(''.join(class_lines));
 | 
| -  class_file.write('}\n')
 | 
| -  class_file.close()
 | 
| -
 | 
| -if __name__ == '__main__':
 | 
| -  main()
 | 
| 
 |