| Index: sdk/lib/html/dartium/html_dartium.dart
|
| diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
|
| index 6615ea2212b7b0045a2339b61838f994c7a47169..601d4aeaaca7c73f234df5a2111f5ae897696485 100644
|
| --- a/sdk/lib/html/dartium/html_dartium.dart
|
| +++ b/sdk/lib/html/dartium/html_dartium.dart
|
| @@ -1745,7 +1745,7 @@ class CanvasRenderingContext2D extends CanvasRenderingContext {
|
|
|
| @DomName('CanvasRenderingContext2D.getLineDash')
|
| @DocsEditable()
|
| - List<num> getLineDash() native "CanvasRenderingContext2D_getLineDash_Callback";
|
| + List<num> _getLineDash() native "CanvasRenderingContext2D_getLineDash_Callback";
|
|
|
| bool isPointInPath(num x, num y, [String winding]) {
|
| if (winding != null) {
|
| @@ -2082,6 +2082,14 @@ class CanvasRenderingContext2D extends CanvasRenderingContext {
|
| destX, destY, destWidth, destHeight);
|
| }
|
|
|
| + @DomName('CanvasRenderingContext2D.getLineDash')
|
| + List<num> getLineDash() {
|
| + var result = _getLineDash();
|
| + if (result == null) {
|
| + result = [];
|
| + }
|
| + return result;
|
| + }
|
| // TODO(amouravski): Add Dartium native methods for drawImage once we figure
|
| // out how to not break native bindings.
|
| }
|
| @@ -35674,8 +35682,31 @@ class _Utils {
|
| }
|
| var className = MirrorSystem.getName(cls.simpleName);
|
| if (!cls.constructors.containsKey(new Symbol('$className.created'))) {
|
| - throw new UnsupportedError('Class is missing constructor $className.created');
|
| + throw new UnsupportedError(
|
| + 'Class is missing constructor $className.created');
|
| + }
|
| +
|
| + Symbol objectName = reflectClass(Object).qualifiedName;
|
| + bool isRoot(ClassMirror cls) =>
|
| + cls == null || cls.qualifiedName == objectName;
|
| + Symbol elementName = reflectClass(HtmlElement).qualifiedName;
|
| + bool isElement(ClassMirror cls) =>
|
| + cls != null && cls.qualifiedName == elementName;
|
| + ClassMirror superClass = cls.superclass;
|
| + ClassMirror nativeClass = _isBuiltinType(superClass) ? superClass : null;
|
| + while(!isRoot(superClass) && !isElement(superClass)) {
|
| + superClass = superClass.superclass;
|
| + if (nativeClass == null && _isBuiltinType(superClass)) {
|
| + nativeClass = superClass;
|
| + }
|
| + }
|
| + if (extendsTagName == null) {
|
| + if (nativeClass.reflectedType != HtmlElement) {
|
| + throw new UnsupportedError('Class must provide extendsTag if base '
|
| + 'native class is not HTMLElement');
|
| + }
|
| }
|
| +
|
| _register(document, tag, type, extendsTagName);
|
| }
|
|
|
|
|