| Index: lib/dom/templates/crossframe_impl.darttemplate
 | 
| diff --git a/lib/dom/templates/crossframe_impl.darttemplate b/lib/dom/templates/crossframe_impl.darttemplate
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..22219ec120db82b8c9fd00985d94819527c2c04f
 | 
| --- /dev/null
 | 
| +++ b/lib/dom/templates/crossframe_impl.darttemplate
 | 
| @@ -0,0 +1,22 @@
 | 
| +
 | 
| +class _$(NAME)CrossFrameImpl implements $(NAME) {
 | 
| +$!MEMBERS
 | 
| +  // Implementation.
 | 
| +  $(CLASSNAME) $POINTER;
 | 
| +
 | 
| +  _$(NAME)CrossFrameImpl._(this.$POINTER);
 | 
| +
 | 
| +  static _createSafe(ptr) {
 | 
| +    if (ptr === $LOCAL) {
 | 
| +      return $LOCAL;
 | 
| +    } else {
 | 
| +      // TODO(vsm): Should we cache to try to get reference equality?
 | 
| +      return new _$(NAME)CrossFrameImpl._(ptr);
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
| +  operator ==(other) {
 | 
| +    return (other is _$(NAME)CrossFrameImpl) &&
 | 
| +           (this.$POINTER === other.$POINTER);
 | 
| +  }
 | 
| +}
 | 
| 
 |