9dd81d94a7
This is a continuation of https://codereview.chromium.org/17063007/ Basically I changed it so factory constructors are only added if the class derives from a native type. Otherwise the native type now extends Interceptor. BUG= R=sra@google.com Review URL: https://codereview.chromium.org//18054021 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24619 260f80e4-7a28-3924-810f-c04153c831b5
28 lines
952 B
Plaintext
28 lines
952 B
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.
|
|
|
|
part of $LIBRARYNAME;
|
|
|
|
$(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
|
|
$!MEMBERS
|
|
|
|
// Override default options, since IE returns SelectElement itself and it
|
|
// does not operate as a List.
|
|
List<OptionElement> get options {
|
|
var options =
|
|
this.queryAll('option').where((e) => e is OptionElement).toList();
|
|
return new UnmodifiableListView(options);
|
|
}
|
|
|
|
List<OptionElement> get selectedOptions {
|
|
// IE does not change the selected flag for single-selection items.
|
|
if (this.multiple) {
|
|
var options = this.options.where((o) => o.selected).toList();
|
|
return new UnmodifiableListView(options);
|
|
} else {
|
|
return [this.options[this.selectedIndex]];
|
|
}
|
|
}
|
|
}
|