Index: lib/html/dartium/html_dartium.dart |
diff --git a/lib/html/dartium/html_dartium.dart b/lib/html/dartium/html_dartium.dart |
index 4eb0b9999754c9dc5ee2af8f832bcdf279dbae01..3b67994815735bfb21e430f300a8112020582a37 100644 |
--- a/lib/html/dartium/html_dartium.dart |
+++ b/lib/html/dartium/html_dartium.dart |
@@ -13367,11 +13367,18 @@ class _ElementImpl extends _NodeImpl implements Element { |
// Hooks to support custom WebComponents. |
var xtag; |
- noSuchMethod(String name, List args) { |
+ noSuchMethod(InvocationMirror invocation) { |
if (dynamicUnknownElementDispatcher == null) { |
- throw new NoSuchMethodError(this, name, args); |
+ throw new NoSuchMethodError(this, invocation.memberName, |
+ invocation.positionalArguments, |
+ invocation.namedArguments); |
} else { |
- return dynamicUnknownElementDispatcher(this, name, args); |
+ String hackedName = invocation.memberName; |
+ if (invocation.isGetter) hackedName = "get:$hackedName"; |
+ if (invocation.isSetter) hackedName = "set:$hackedName"; |
+ return dynamicUnknownElementDispatcher(this, |
+ hackedName, |
+ invociation.positionalArguments); |
} |
} |