Files
sdk/tools/dom/templates/html/impl/impl_Event.darttemplate
T
blois@google.com de9fbf0e90 Renaming dart:html library from 'html' to 'dart.html'
This should be invisible to end users, but basically brings dart:html in-line with the core libraries.

BUG=

Review URL: https://codereview.chromium.org//12061008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17929 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 17:25:55 +00:00

50 lines
1.7 KiB
Plaintext

// Copyright (c) 2012, 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 - generated code.
part of $LIBRARYNAME;
$(ANNOTATIONS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
// In JS, canBubble and cancelable are technically required parameters to
// init*Event. In practice, though, if they aren't provided they simply
// default to false (since that's Boolean(undefined)).
//
// Contrary to JS, we default canBubble and cancelable to true, since that's
// what people want most of the time anyway.
factory $CLASSNAME(String type,
{bool canBubble: true, bool cancelable: true}) {
return new Event.eventType('Event', type, canBubble: canBubble,
cancelable: canBubble);
}
/**
* Creates a new Event object of the specified type.
*
* This is analogous to document.createEvent.
* Normally events should be created via their constructors, if available.
*
* var e = new Event.type('MouseEvent', 'mousedown', true, true);
*/
factory Event.eventType(String type, String name, {bool canBubble: true,
bool cancelable: true}) {
final Event e = document.$dom_createEvent(type);
e.$dom_initEvent(name, canBubble, cancelable);
return e;
}
$!MEMBERS
/**
* Checks to see if the event class is supported by the current platform.
*/
static bool _isTypeSupported(String eventType) {
// Browsers throw for unsupported event names.
try {
var e = document.$dom_createEvent(eventType);
return e is Event;
} catch (_) { }
return false;
}
}