Version 0.6.11.0
svn merge -r 25435:25460 https://dart.googlecode.com/svn/branches/bleeding_edge trunk
git-svn-id: http://dart.googlecode.com/svn/trunk@25461 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkg/docgen/lib/docgen.dart b/pkg/docgen/lib/docgen.dart
index aa8cb12..72f6a13 100644
--- a/pkg/docgen/lib/docgen.dart
+++ b/pkg/docgen/lib/docgen.dart
@@ -470,11 +470,13 @@
*/
class Indexable {
String name;
+ String qualifiedName;
/// Documentation comment with converted markdown.
String comment;
Indexable(this.name, this.comment, String qualifiedName) {
+ this.qualifiedName = qualifiedName;
qualifiedNameIndex.add(qualifiedName);
}
}
@@ -499,6 +501,7 @@
/// Generates a map describing the [Library] object.
Map toMap() => {
'name': name,
+ 'qualifiedname': qualifiedName,
'comment': comment,
'variables': recurseMap(variables),
'functions': recurseMap(functions),
@@ -536,6 +539,7 @@
/// Generates a map describing the [Class] object.
Map toMap() => {
'name': name,
+ 'qualifiedname': qualifiedName,
'comment': comment,
'superclass': superclass,
'implements': new List.from(interfaces),
@@ -563,6 +567,7 @@
Map toMap() => {
'name': name,
+ 'qualifiedname': qualifiedName,
'comment': comment,
'return': returnType,
'parameters': recurseMap(parameters),
@@ -591,6 +596,7 @@
/// Generates a map describing the [Variable] object.
Map toMap() => {
'name': name,
+ 'qualifiedname': qualifiedName,
'comment': comment,
'final': isFinal.toString(),
'static': isStatic.toString(),
@@ -624,6 +630,7 @@
/// Generates a map describing the [Method] object.
Map toMap() => {
'name': name,
+ 'qualifiedname': qualifiedName,
'comment': comment,
'static': isStatic.toString(),
'abstract': isAbstract.toString(),
diff --git a/pkg/mdv/lib/src/template_iterator.dart b/pkg/mdv/lib/src/template_iterator.dart
index 8f399ef..1c76e61 100644
--- a/pkg/mdv/lib/src/template_iterator.dart
+++ b/pkg/mdv/lib/src/template_iterator.dart
@@ -31,10 +31,16 @@
}
void _addBindings(Node node, model, [BindingDelegate delegate]) {
+ List bindings = null;
if (node is Element) {
- _addAttributeBindings(node, model, delegate);
+ bindings = _parseAttributeBindings(node);
} else if (node is Text) {
- _parseAndBind(node, 'text', node.text, model, delegate);
+ var tokens = _parseMustacheTokens(node.text);
+ if (tokens != null) bindings = ['text', tokens];
+ }
+
+ if (bindings != null) {
+ _processBindings(bindings, node, model, delegate);
}
for (var c = node.firstChild; c != null; c = c.nextNode) {
@@ -42,57 +48,70 @@
}
}
-void _addAttributeBindings(Element element, model, delegate) {
- var attrs = new LinkedHashMap.from(element.attributes);
- if (element.isTemplate) {
- // Accept 'naked' bind & repeat.
- if (attrs['bind'] == '') attrs['bind'] = '{{}}';
- if (attrs['repeat'] == '') attrs['repeat'] = '{{}}';
+List _parseAttributeBindings(Element element) {
+ var bindings = null;
+ var ifFound = false;
+ var bindFound = false;
+ var isTemplateNode = element.isTemplate;
- // Treat <template if="{{expr}}"> as <template bind if="{{expr}}">
- if (attrs.containsKey('if') &&
- !attrs.containsKey('bind') &&
- !attrs.containsKey('repeat')) {
- attrs['bind'] = '{{}}';
+ element.attributes.forEach((name, value) {
+ if (isTemplateNode) {
+ if (name == 'if') {
+ ifFound = true;
+ } else if (name == 'bind' || name == 'repeat') {
+ bindFound = true;
+ if (value == '') value = '{{}}';
+ }
}
+
+ var tokens = _parseMustacheTokens(value);
+ if (tokens != null) {
+ if (bindings == null) bindings = [];
+ bindings..add(name)..add(tokens);
+ }
+ });
+
+ // Treat <template if> as <template bind if>
+ if (ifFound && !bindFound) {
+ if (bindings == null) bindings = [];
+ bindings..add('bind')..add(_parseMustacheTokens('{{}}'));
}
- attrs.forEach((name, value) {
- _parseAndBind(element, name, value, model, delegate);
- });
+ return bindings;
}
-void _parseAndBind(Node node, String name, String text, model,
+void _processBindings(List bindings, Node node, model,
BindingDelegate delegate) {
- var tokens = _parseMustacheTokens(text);
- if (tokens.length == 0 || (tokens.length == 1 && tokens[0].isText)) {
- return;
+ for (var i = 0; i < bindings.length; i += 2) {
+ _setupBinding(node, bindings[i], bindings[i + 1], model, delegate);
}
+}
+
+void _setupBinding(Node node, String name, List tokens, model,
+ BindingDelegate delegate) {
// If this is a custom element, give the .xtag a change to bind.
node = _nodeOrCustom(node);
- if (tokens.length == 1 && tokens[0].isBinding) {
- _bindOrDelegate(node, name, model, tokens[0].value, delegate);
+ if (_isSimpleBinding(tokens)) {
+ _bindOrDelegate(node, name, model, tokens[1], delegate);
return;
}
var replacementBinding = new CompoundBinding();
- for (var i = 0; i < tokens.length; i++) {
- var token = tokens[i];
- if (token.isBinding) {
- _bindOrDelegate(replacementBinding, i, model, token.value, delegate);
- }
+ for (var i = 1; i < tokens.length; i += 2) {
+ // TODO(jmesserly): not sure if this index is correct. See my comment here:
+ // https://github.com/Polymer/mdv/commit/f1af6fe683fd06eed2a7a7849f01c227db12cda3#L0L1035
+ _bindOrDelegate(replacementBinding, i, model, tokens[i], delegate);
}
replacementBinding.combinator = (values) {
var newValue = new StringBuffer();
- for (var i = 0; i < tokens.length; i++) {
- var token = tokens[i];
- if (token.isText) {
- newValue.write(token.value);
+ for (var i = 0, text = true; i < tokens.length; i++, text = !text) {
+ if (text) {
+ newValue.write(tokens[i]);
} else {
var value = values[i];
if (value != null) {
@@ -129,38 +148,41 @@
// TODO(jmesserly): remove this when we can extend Element for real.
_nodeOrCustom(node) => node is Element ? node.xtag : node;
-List<_BindingToken> _parseMustacheTokens(String s) {
- var result = [];
- var length = s.length;
- var index = 0, lastIndex = 0;
- while (lastIndex < length) {
- index = s.indexOf('{{', lastIndex);
- if (index < 0) {
- result.add(new _BindingToken(s.substring(lastIndex)));
- break;
- } else {
- // There is a non-empty text run before the next path token.
- if (index > 0 && lastIndex < index) {
- result.add(new _BindingToken(s.substring(lastIndex, index)));
- }
- lastIndex = index + 2;
- index = s.indexOf('}}', lastIndex);
- if (index < 0) {
- var text = s.substring(lastIndex - 2);
- if (result.length > 0 && result.last.isText) {
- result.last.value += text;
- } else {
- result.add(new _BindingToken(text));
- }
- break;
- }
+/** True if and only if [tokens] is of the form `['', path, '']`. */
+bool _isSimpleBinding(List<String> tokens) =>
+ tokens.length == 3 && tokens[0].isEmpty && tokens[2].isEmpty;
- var value = s.substring(lastIndex, index).trim();
- result.add(new _BindingToken(value, isBinding: true));
- lastIndex = index + 2;
+/**
+ * Parses {{ mustache }} bindings.
+ *
+ * Returns null if there are no matches. Otherwise returns
+ * [TEXT, (PATH, TEXT)+] if there is at least one mustache.
+ */
+List<String> _parseMustacheTokens(String s) {
+ if (s.isEmpty) return;
+
+ var tokens = null;
+ var length = s.length;
+ var startIndex = 0, lastIndex = 0, endIndex = 0;
+ while (lastIndex < length) {
+ startIndex = s.indexOf('{{', lastIndex);
+ endIndex = startIndex < 0 ? -1 : s.indexOf('}}', startIndex + 2);
+
+ if (endIndex < 0) {
+ if (tokens == null) return null;
+
+ tokens.add(s.substring(lastIndex));
+ break;
}
+
+ if (tokens == null) tokens = <String>[];
+ tokens.add(s.substring(lastIndex, startIndex)); // TEXT
+ tokens.add(s.substring(startIndex + 2, endIndex).trim()); // PATH
+ lastIndex = endIndex + 2;
}
- return result;
+
+ if (lastIndex == length) tokens.add('');
+ return tokens;
}
void _addTemplateInstanceRecord(fragment, model) {
@@ -178,14 +200,6 @@
}
}
-class _BindingToken {
- final String value;
- final bool isBinding;
-
- _BindingToken(this.value, {this.isBinding: false});
-
- bool get isText => !isBinding;
-}
class _TemplateIterator {
final Element _templateElement;
@@ -371,8 +385,8 @@
if (closed) return;
unobserve();
+ inputs.close();
terminators.clear();
- inputs.dispose();
closed = true;
}
diff --git a/pkg/observe/lib/src/compound_binding.dart b/pkg/observe/lib/src/compound_binding.dart
index 80877ce..625c82c 100644
--- a/pkg/observe/lib/src/compound_binding.dart
+++ b/pkg/observe/lib/src/compound_binding.dart
@@ -32,10 +32,9 @@
// TODO(jmesserly): ideally these would be String keys, but sometimes we
// use integers.
- Map<dynamic, StreamSubscription> _bindings = new Map();
+ Map<dynamic, StreamSubscription> _observers = new Map();
Map _values = new Map();
bool _scheduled = false;
- bool _disposed = false;
Object _value;
CompoundBinding([CompoundBindingCombinator combinator]) {
@@ -57,7 +56,7 @@
get value => _value;
- int get length => _bindings.length;
+ int get length => _observers.length;
void set value(newValue) {
_value = notifyPropertyChange(_VALUE, _value, newValue);
@@ -66,16 +65,16 @@
void bind(name, model, String path) {
unbind(name);
- // TODO(jmesserly): should we avoid observing until we are observed,
- // similar to PathObserver? Similar for unobserving?
- _bindings[name] = new PathObserver(model, path).bindSync((value) {
+ // TODO(jmesserly): should we delay observing until we are observed,
+ // similar to PathObserver?
+ _observers[name] = new PathObserver(model, path).bindSync((value) {
_values[name] = value;
_scheduleResolve();
});
}
void unbind(name, {bool suppressResolve: false}) {
- var binding = _bindings.remove(name);
+ var binding = _observers.remove(name);
if (binding == null) return;
binding.cancel();
@@ -93,7 +92,7 @@
}
void resolve() {
- if (_disposed) return;
+ if (_observers.isEmpty) return;
_scheduled = false;
if (_combinator == null) {
@@ -104,14 +103,20 @@
value = _combinator(_values);
}
- void dispose() {
- for (var binding in _bindings.values) {
+ /**
+ * Closes the observer.
+ *
+ * This happens automatically if the [value] property is no longer observed,
+ * but this can also be called explicitly.
+ */
+ void close() {
+ for (var binding in _observers.values) {
binding.cancel();
}
- _bindings.clear();
+ _observers.clear();
_values.clear();
-
- _disposed = true;
value = null;
}
+
+ _unobserved() => close();
}
diff --git a/pkg/pkg.status b/pkg/pkg.status
index e978abe..18f116e 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -15,11 +15,6 @@
scheduled_test/test/scheduled_server_test: Pass, Fail, Slow, Crash # Issue 9231, 9582
scheduled_test/test/scheduled_process_test: Pass, Slow # Issue 9231
-# WebDriver tests have 3rd party dependencies (we need to run
-# selenium_standalone.jar), so we skip these in our automated
-# testing.
-webdriver/test/webdriver_test: Skip
-
[ $compiler == none && $runtime == drt && $mode == debug]
mdv/test/custom_element_bindings_test: Fail # Issue 11657
@@ -65,7 +60,6 @@
[ $compiler == dart2js ]
analyzer_experimental/test/generated/ast_test: Fail, Slow # Issue 11230
-unittest/test/instance_test: Fail # http://dartbug.com/11191
stack_trace/test/trace_test: Pass, Timeout # Issue 11645
[ $compiler == dartc || $compiler == dartanalyzer || $compiler == dart2analyzer]
diff --git a/pkg/unittest/test/instance_test.dart b/pkg/unittest/test/instance_test.dart
index d9e9875..287744c 100644
--- a/pkg/unittest/test/instance_test.dart
+++ b/pkg/unittest/test/instance_test.dart
@@ -20,10 +20,9 @@
test('throwsA', () {
shouldPass(doesThrow, throwsA(equals('X')));
shouldFail(doesThrow, throwsA(equals('Y')),
- "Expected: throws 'Y' "
- "Actual: <Closure: () => dynamic "
- "from Function 'doesThrow': static.> "
- "Which: threw 'X'");
+ matches("Expected: throws 'Y'.*"
+ "Actual: <Closure.*"
+ "Which: threw 'X'"));
});
});
}
diff --git a/pkg/webdriver/lib/src/base64decoder.dart b/pkg/webdriver/lib/src/base64decoder.dart
deleted file mode 100644
index 7e9175b..0000000
--- a/pkg/webdriver/lib/src/base64decoder.dart
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright (c) 2011, 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 webdriver;
-
-/**
- * A simple base64 decoder class, used to decode web browser screenshots
- * returned by WebDriver.
- */
-class Base64Decoder {
-
- static int getVal(String s, pos) {
- int code = s.codeUnitAt(pos);
- if (code >= 65 && code < (65+26)) { // 'A'..'Z'
- return code - 65;
- } else if (code >= 97 && code < (97+26)) { // 'a'..'z'
- return code - 97 + 26;
- } else if (code >= 48 && code < (48+10)) { // '0'..'9'
- return code - 48 + 52;
- } else if (code == 43) { // '+'
- return 62;
- } else if (code == 47) { // '/'
- return 63;
- } else {
- throw 'Invalid character $s';
- }
- }
-
- static List<int> decode(String s) {
- var rtn = new List<int>();
- var pos = 0;
- while (pos < s.length) {
- if (s[pos+2] =='=') { // Single byte as two chars.
- int v = (getVal(s, pos) << 18 ) | (getVal(s, pos+1) << 12 );
- rtn.add((v >> 16) & 0xff);
- break;
- } else if (s[pos+3] == '=') { // Two bytes as 3 chars.
- int v = (getVal(s, pos) << 18 ) | (getVal(s, pos+1) << 12 ) |
- (getVal(s, pos + 2) << 6);
- rtn.add((v >> 16) & 0xff);
- rtn.add((v >> 8) & 0xff);
- break;
- } else { // Three bytes as 4 chars.
- int v = (getVal(s, pos) << 18 ) | (getVal(s, pos+1) << 12 ) |
- (getVal(s, pos + 2) << 6) | getVal(s, pos+3);
- pos += 4;
- rtn.add((v >> 16 ) & 0xff);
- rtn.add((v >> 8) & 0xff);
- rtn.add(v & 0xff);
- }
- }
- return rtn;
- }
-}
diff --git a/pkg/webdriver/lib/webdriver.dart b/pkg/webdriver/lib/webdriver.dart
deleted file mode 100644
index e9c6262..0000000
--- a/pkg/webdriver/lib/webdriver.dart
+++ /dev/null
@@ -1,1479 +0,0 @@
-// Copyright (c) 2011, 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.
-
-library webdriver;
-
-import 'dart:async';
-import 'dart:io';
-import 'dart:json' as json;
-
-part 'src/base64decoder.dart';
-
-/**
- * WebDriver bindings for Dart.
- *
-* ## Installing ##
- *
- * Use [pub][] to install this package. Add the following to your `pubspec.yaml`
- * file.
- *
- * dependencies:
- * webdriver: any
- *
- * Then run `pub install`.
- *
- * For more information, see the
- * [webdriver package on pub.dartlang.org][pkg].
- *
- * ## Using ##
- *
- * These bindings are based on the WebDriver JSON wire protocol spec
- * (http://code.google.com/p/selenium/wiki/JsonWireProtocol). Not
- * all of these commands are implemented yet by WebDriver itself.
- * Nontheless this is a complete implementation of the spec as the
- * unsupported commands may be supported in the future. Currently,
- * there are known issues with local and session storage, script
- * execution, and log access.
- *
- * To use these bindings, the Selenium standalone server must be running.
- * You can download it at http://code.google.com/p/selenium/downloads/list.
- *
- * There are a number of commands that use ids to access page elements.
- * These ids are not the HTML ids; they are opaque ids internal to
- * WebDriver. To get the id for an element you would first need to do
- * a search, get the results, and extract the WebDriver id from the returned
- * [Map] using the 'ELEMENT' key. For example:
- *
- * String id;
- * WebDriverSession session;
- * Future f = web_driver.newSession('chrome');
- * f.then((_session) {
- * session = _session;
- * return session.setUrl('http://my.web.site.com');
- * }).then((_) {
- * return session.findElement('id', 'username');
- * }).then((element) {
- * id = element['ELEMENT'];
- * return session.sendKeyStrokesToElement(id,
- * [ 'j', 'o', 'e', ' ', 'u', 's', 'e', 'r' ]);
- * }).then((_) {
- * return session.submit(id);
- * }).then((_) {
- * return session.close();
- * }).then((_) {
- * session = null;
- * });
- *
- * [pub]: http://pub.dartlang.org
- * [pkg]: http://pub.dartlang.org/packages/webdriver
- */
-
-void writeStringToFile(String fileName, String contents) {
- new File(fileName).writeAsStringSync(contents);
-}
-
-void writeBytesToFile(String fileName, List<int> contents) {
- new File(fileName).writeAsBytesSync(contents);
-}
-
-class WebDriverError {
- static List _errorTypes = null;
- static List _errorDetails = null;
- int statusCode;
- String type;
- String message;
- String details;
- String results;
-
- WebDriverError(this.statusCode, this.message, [this.results = '']) {
- /** These correspond to WebDrive exception types. */
- if (_errorTypes == null) {
- _errorTypes = [
- null,
- 'IndexOutOfBounds',
- 'NoCollection',
- 'NoString',
- 'NoStringLength',
- 'NoStringWrapper',
- 'NoSuchDriver',
- 'NoSuchElement',
- 'NoSuchFrame',
- 'UnknownCommand',
- 'ObsoleteElement',
- 'ElementNotDisplayed',
- 'InvalidElementState',
- 'Unhandled',
- 'Expected',
- 'ElementNotSelectable',
- 'NoSuchDocument',
- 'UnexpectedJavascript',
- 'NoScriptResult',
- 'XPathLookup',
- 'NoSuchCollection',
- 'TimeOut',
- 'NullPointer',
- 'NoSuchWindow',
- 'InvalidCookieDomain',
- 'UnableToSetCookie',
- 'UnexpectedAlertOpen',
- 'NoAlertOpen',
- 'ScriptTimeout',
- 'InvalidElementCoordinates',
- 'IMENotAvailable',
- 'IMEEngineActivationFailed',
- 'InvalidSelector',
- 'SessionNotCreatedException',
- 'MoveTargetOutOfBounds'
- ];
- // Explanations of the eror types. In thoses cases where the
- // explanation is the same as the type (e.g. NoCollection), that is an
- // error type used by an old version of the IE driver and is deprecated.
- _errorDetails = [
- null,
- 'IndexOutOfBounds',
- 'NoCollection',
- 'NoString',
- 'NoStringLength',
- 'NoStringWrapper',
- 'NoSuchDriver',
- 'An element could not be located on the page using the given '
- 'search parameters.',
- 'A request to switch to a frame could not be satisfied because the '
- 'frame could not be found.',
- 'The requested resource could not be found, or a request was '
- 'received using an HTTP method that is not supported by the '
- 'mapped resource.',
- 'An element command failed because the referenced element is no '
- 'longer attached to the DOM.',
- 'An element command could not be completed because the element '
- 'is not visible on the page.',
- 'An element command could not be completed because the element is in '
- 'an invalid state (e.g. attempting to click a disabled element).',
- 'An unknown server-side error occurred while processing the command.',
- 'Expected',
- 'An attempt was made to select an element that cannot be selected.',
- 'NoSuchDocument',
- 'An error occurred while executing user supplied JavaScript.',
- 'NoScriptResult',
- 'An error occurred while searching for an element by XPath.',
- 'NoSuchCollection',
- 'An operation did not complete before its timeout expired.',
- 'NullPointer',
- 'A request to switch to a different window could not be satisfied '
- 'because the window could not be found.',
- 'An illegal attempt was made to set a cookie under a different '
- 'domain than the current page.',
- 'A request to set a cookie\'s value could not be satisfied.',
- 'A modal dialog was open, blocking this operation.',
- 'An attempt was made to operate on a modal dialog when one was '
- 'not open.',
- 'A script did not complete before its timeout expired.',
- 'The coordinates provided to an interactions operation are invalid.',
- 'IME was not available.',
- 'An IME engine could not be started.',
- 'Argument was an invalid selector (e.g. XPath/CSS).',
- 'A new session could not be created.',
- 'Target provided for a move action is out of bounds.'
- ];
- }
- if (statusCode < 0 || statusCode > 32) {
- type = 'External';
- details = '';
- } else {
- type = _errorTypes[statusCode];
- details = _errorDetails[statusCode];
- }
- }
-
- String toString() {
- return '$statusCode $type: $message $results\n$details';
- }
-}
-
-/**
- * Base class for all WebDriver request classes. This class wraps up
- * an URL prefix (host, port, and initial path), and provides a client
- * function for doing HTTP requests with JSON payloads.
- */
-class WebDriverBase {
-
- String _host;
- int _port;
- String _path;
- String _url;
-
- String get path => _path;
- String get url => _url;
-
- /**
- * The default URL for WebDriver remote server is
- * http://localhost:4444/wd/hub.
- */
- WebDriverBase.fromUrl([this._url = 'http://localhost:4444/wd/hub']) {
- // Break out the URL components.
- var re = new RegExp('[^:/]+://([^/]+)(/.*)');
- var matches = re.firstMatch(_url);
- _host = matches[1];
- _path = matches[2];
- var idx = _host.indexOf(':');
- if (idx >= 0) {
- _port = int.parse(_host.substring(idx+1));
- _host = _host.substring(0, idx);
- } else {
- _port = 80;
- }
- }
-
- WebDriverBase([
- this._host = 'localhost',
- this._port = 4444,
- this._path = '/wd/hub']) {
- _url = 'http://$_host:$_port$_path';
- }
-
- void _failRequest(Completer completer, error, [stackTrace]) {
- if (completer != null) {
- var trace = stackTrace != null ? stackTrace : getAttachedStackTrace(error);
- completer.completeError(new WebDriverError(-1, error), trace);
- }
- }
-
- /**
- * Execute a request to the WebDriver server. [http_method] should be
- * one of 'GET', 'POST', or 'DELETE'. [command] is the text to append
- * to the base URL path to get the full URL. [params] are the additional
- * parameters. If a [List] or [Map] they will be posted as JSON parameters.
- * If a number or string, "/params" is appended to the URL.
- */
- void _serverRequest(String http_method, String command, Completer completer,
- {List successCodes, params, Function customHandler}) {
- var status = 0;
- var results = null;
- var message = null;
- if (successCodes == null) {
- successCodes = [ 200, 204 ];
- }
- try {
- var path = command;
- if (params != null) {
- if (params is num || params is String) {
- path = '$path/$params';
- params = null;
- } else if (http_method != 'POST') {
- throw new Exception(
- 'The http method called for ${command} is ${http_method} but it '
- 'must be POST if you want to pass the JSON params '
- '${json.stringify(params)}');
- }
- }
-
- var client = new HttpClient();
- client.open(http_method, _host, _port, path).then((req) {
- req.followRedirects = false;
- req.headers.add(HttpHeaders.ACCEPT, "application/json");
- req.headers.add(
- HttpHeaders.CONTENT_TYPE, 'application/json;charset=UTF-8');
- if (params != null) {
- var body = json.stringify(params);
- req.write(body);
- }
- req.close().then((rsp) {
- List<int> body = new List<int>();
- rsp.listen(body.addAll, onDone: () {
- var value = null;
- // For some reason we get a bunch of NULs on the end
- // of the text and the json.parse blows up on these, so
- // strip them.
- // These NULs can be seen in the TCP packet, so it is not
- // an issue with character encoding; it seems to be a bug
- // in WebDriver stack.
- results = new String.fromCharCodes(body)
- .replaceAll(new RegExp('\u{0}*\$'), '');
- if (!successCodes.contains(rsp.statusCode)) {
- _failRequest(completer,
- 'Unexpected response ${rsp.statusCode}; $results');
- completer = null;
- return;
- }
- if (status == 0 && results.length > 0) {
- // 4xx responses send plain text; others send JSON.
- if (rsp.statusCode < 400) {
- results = json.parse(results);
- status = results['status'];
- }
- if (results is Map && (results as Map).containsKey('value')) {
- value = results['value'];
- }
- if (value is Map && value.containsKey('message')) {
- message = value['message'];
- }
- }
- if (status == 0) {
- if (customHandler != null) {
- customHandler(rsp, value);
- } else if (completer != null) {
- completer.complete(value);
- }
- }
- }, onError: (error) {
- _failRequest(completer, error);
- completer = null;
- });
- })
- .catchError((error) {
- _failRequest(completer, error);
- completer = null;
- });
- })
- .catchError((error) {
- _failRequest(completer, error);
- completer = null;
- });
- } catch (e, s) {
- _failRequest(completer, e, s);
- completer = null;
- }
- }
-
- Future _get(String extraPath,
- [Completer completer, Function customHandler]) {
- if (completer == null) completer = new Completer();
- _serverRequest('GET', '${_path}/$extraPath', completer,
- customHandler: customHandler);
- return completer.future;
- }
-
- Future _post(String extraPath, [params]) {
- var completer = new Completer();
- _serverRequest('POST', '${_path}/$extraPath', completer,
- params: params);
- return completer.future;
- }
-
- Future _delete(String extraPath) {
- var completer = new Completer();
- _serverRequest('DELETE', '${_path}/$extraPath', completer);
- return completer.future;
- }
-}
-
-class WebDriver extends WebDriverBase {
-
- WebDriver(host, port, path) : super(host, port, path);
-
- /**
- * Create a new session. The server will attempt to create a session that
- * most closely matches the desired and required capabilities. Required
- * capabilities have higher priority than desired capabilities and must be
- * set for the session to be created.
- *
- * The capabilities are:
- *
- * - browserName (String) The name of the browser being used; should be one
- * of chrome|firefox|htmlunit|internet explorer|iphone.
- *
- * - version (String) The browser version, or the empty string if unknown.
- *
- * - platform (String) A key specifying which platform the browser is
- * running on. This value should be one of WINDOWS|XP|VISTA|MAC|LINUX|UNIX.
- * When requesting a new session, the client may specify ANY to indicate
- * any available platform may be used.
- *
- * - javascriptEnabled (bool) Whether the session supports executing user
- * supplied JavaScript in the context of the current page.
- *
- * - takesScreenshot (bool) Whether the session supports taking screenshots
- * of the current page.
- *
- * - handlesAlerts (bool) Whether the session can interact with modal popups,
- * such as window.alert and window.confirm.
- *
- * - databaseEnabled (bool) Whether the session can interact database storage.
- *
- * - locationContextEnabled (bool) Whether the session can set and query the
- * browser's location context.
- *
- * - applicationCacheEnabled (bool) Whether the session can interact with
- * the application cache.
- *
- * - browserConnectionEnabled (bool) Whether the session can query for the
- * browser's connectivity and disable it if desired.
- *
- * - cssSelectorsEnabled (bool) Whether the session supports CSS selectors
- * when searching for elements.
- *
- * - webStorageEnabled (bool) Whether the session supports interactions with
- * storage objects.
- *
- * - rotatable (bool) Whether the session can rotate the current page's
- * current layout between portrait and landscape orientations (only applies
- * to mobile platforms).
- *
- * - acceptSslCerts (bool) Whether the session should accept all SSL certs
- * by default.
- *
- * - nativeEvents (bool) Whether the session is capable of generating native
- * events when simulating user input.
- *
- * - proxy (proxy object) Details of any proxy to use. If no proxy is
- * specified, whatever the system's current or default state is used.
- *
- * The format of the proxy object is:
- *
- * - proxyType (String) The type of proxy being used. Possible values are:
- *
- * direct - A direct connection - no proxy in use,
- *
- * manual - Manual proxy settings configured,
- *
- * pac - Proxy autoconfiguration from a URL),
- *
- * autodetect (proxy autodetection, probably with WPAD),
- *
- * system - Use system settings
- *
- * - proxyAutoconfigUrl (String) Required if proxyType == pac, Ignored
- * otherwise. Specifies the URL to be used for proxy autoconfiguration.
- *
- * - ftpProxy, httpProxy, sslProxy (String) (Optional, Ignored if
- * proxyType != manual) Specifies the proxies to be used for FTP, HTTP
- * and HTTPS requests respectively. Behaviour is undefined if a request
- * is made, where the proxy for the particular protocol is undefined,
- * if proxyType is manual.
- *
- * Potential Errors: SessionNotCreatedException (if a required capability
- * could not be set).
- */
- Future<WebDriverSession> newSession([
- browser = 'chrome', Map additional_capabilities]) {
- var completer = new Completer();
- if (additional_capabilities == null) {
- additional_capabilities = {};
- }
-
- additional_capabilities['browserName'] = browser;
-
- _serverRequest('POST', '${_path}/session', completer,
- successCodes: [ 302 ],
- customHandler: (r, v) {
- var url = r.headers.value(HttpHeaders.LOCATION);
- var session = new WebDriverSession.fromUrl(url);
- completer.complete(session);
- },
- params: { 'desiredCapabilities': additional_capabilities });
- return completer.future;
- }
-
- /** Get the set of currently active sessions. */
- Future<List<WebDriverSession>> getSessions() {
- var completer = new Completer();
- return _get('sessions', completer, (r, v) {
- var _sessions = [];
- for (var session in v) {
- var url = 'http://${this._host}:${this._port}${this._path}/'
- 'session/${session["id"]}';
- _sessions.add(new WebDriverSession.fromUrl(url));
- }
- completer.complete(_sessions);
- });
- }
-
- /** Query the server's current status. */
- Future<Map> getStatus() => _get('status');
-}
-
-class WebDriverWindow extends WebDriverBase {
- WebDriverWindow.fromUrl(url) : super.fromUrl(url);
-
- /** Get the window size. */
- Future<Map> getSize() => _get('size');
-
- /**
- * Set the window size. Note that this is flaky and often
- * has no effect.
- *
- * Potential Errors:
- * NoSuchWindow - If the specified window cannot be found.
- */
- Future<String> setSize(int width, int height) =>
- _post('size', { 'width': width, 'height': height });
-
- /** Get the window position. */
- Future<Map> getPosition() => _get('position');
-
- /**
- * Set the window position. Note that this is flaky and often
- * has no effect.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future setPosition(int x, int y) =>
- _post('position', { 'x': x, 'y': y });
-
- /** Maximize the specified window if not already maximized. */
- Future maximize() => _post('maximize');
-}
-
-class WebDriverSession extends WebDriverBase {
- WebDriverSession.fromUrl(url) : super.fromUrl(url);
-
- /** Close the session. */
- Future close() => _delete('');
-
- /** Get the session capabilities. See [newSession] for details. */
- Future<Map> getCapabilities() => _get('');
-
- /**
- * Configure the amount of time in milliseconds that a script can execute
- * for before it is aborted and a Timeout error is returned to the client.
- */
- Future setScriptTimeout(t) =>
- _post('timeouts', { 'type': 'script', 'ms': t });
-
- /*Future<String> setImplicitWaitTimeout(t) =>
- simplePost('timeouts', { 'type': 'implicit', 'ms': t });*/
-
- /**
- * Configure the amount of time in milliseconds that a page can load for
- * before it is aborted and a Timeout error is returned to the client.
- */
- Future setPageLoadTimeout(t) =>
- _post('timeouts', { 'type': 'page load', 'ms': t });
-
- /**
- * Set the amount of time, in milliseconds, that asynchronous scripts
- * executed by /session/:sessionId/execute_async are permitted to run
- * before they are aborted and a Timeout error is returned to the client.
- */
- Future setAsyncScriptTimeout(t) =>
- _post('timeouts/async_script', { 'ms': t });
-
- /**
- * Set the amount of time the driver should wait when searching for elements.
- * When searching for a single element, the driver should poll the page until
- * an element is found or the timeout expires, whichever occurs first. When
- * searching for multiple elements, the driver should poll the page until at
- * least one element is found or the timeout expires, at which point it should
- * return an empty list.
- *
- * If this command is never sent, the driver should default to an implicit
- * wait of 0ms.
- */
- Future setImplicitWaitTimeout(t) =>
- _post('timeouts/implicit_wait', { 'ms': t });
-
- /**
- * Retrieve the current window handle.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getWindowHandle() => _get('window_handle');
-
- /**
- * Retrieve a [WebDriverWindow] for the specified window. We don't
- * have to use a Future here but do so to be consistent.
- */
- Future<WebDriverWindow> getWindow([handle = 'current']) {
- var completer = new Completer();
- completer.complete(new WebDriverWindow.fromUrl('${_url}/window/$handle'));
- return completer.future;
- }
-
- /** Retrieve the list of all window handles available to the session. */
- Future<List<String>> getWindowHandles() => _get('window_handles');
-
- /**
- * Retrieve the URL of the current page.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getUrl() => _get('url');
-
- /**
- * Navigate to a new URL.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future setUrl(String url) => _post('url', { 'url': url });
-
- /**
- * Navigate forwards in the browser history, if possible.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future navigateForward() => _post('forward');
-
- /**
- * Navigate backwards in the browser history, if possible.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future navigateBack() => _post('back');
-
- /**
- * Refresh the current page.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future refresh() => _post('refresh');
-
- /**
- * Inject a snippet of JavaScript into the page for execution in the context
- * of the currently selected frame. The executed script is assumed to be
- * synchronous and the result of evaluating the script is returned to the
- * client.
- *
- * The script argument defines the script to execute in the form of a
- * function body. The value returned by that function will be returned to
- * the client. The function will be invoked with the provided args array
- * and the values may be accessed via the arguments object in the order
- * specified.
- *
- * Arguments may be any JSON-primitive, array, or JSON object. JSON objects
- * that define a WebElement reference will be converted to the corresponding
- * DOM element. Likewise, any WebElements in the script result will be
- * returned to the client as WebElement JSON objects.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference, JavaScriptError.
- */
- Future execute(String script, [List args]) {
- if (args == null) args = [];
- return _post('execute', { 'script': script, 'args': args });
- }
-
- /**
- * Inject a snippet of JavaScript into the page for execution in the context
- * of the currently selected frame. The executed script is assumed to be
- * asynchronous and must signal that it is done by invoking the provided
- * callback, which is always provided as the final argument to the function.
- * The value to this callback will be returned to the client.
- *
- * Asynchronous script commands may not span page loads. If an unload event
- * is fired while waiting for a script result, an error should be returned
- * to the client.
- *
- * The script argument defines the script to execute in the form of a function
- * body. The function will be invoked with the provided args array and the
- * values may be accessed via the arguments object in the order specified.
- * The final argument will always be a callback function that must be invoked
- * to signal that the script has finished.
- *
- * Arguments may be any JSON-primitive, array, or JSON object. JSON objects
- * that define a WebElement reference will be converted to the corresponding
- * DOM element. Likewise, any WebElements in the script result will be
- * returned to the client as WebElement JSON objects.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference, Timeout (controlled
- * by the [setAsyncScriptTimeout] command), JavaScriptError (if the script
- * callback is not invoked before the timout expires).
- */
- Future executeAsync(String script, [List args]) {
- if (args == null) args = [];
- return _post('execute_async', { 'script': script, 'args': args });
- }
-
- /**
- * Take a screenshot of the current page (PNG).
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<List<int>> getScreenshot([fname]) {
- var completer = new Completer();
- return _get('screenshot', completer, (r, v) {
- var image = Base64Decoder.decode(v);
- if (fname != null) {
- writeBytesToFile(fname, image);
- }
- completer.complete(image);
- });
- }
-
- /**
- * List all available IME (Input Method Editor) engines on the machine.
- * To use an engine, it has to be present in this list.
- *
- * Potential Errors: ImeNotAvailableException.
- */
- Future<List<String>> getAvailableImeEngines() =>
- _get('ime/available_engines');
-
- /**
- * Get the name of the active IME engine. The name string is
- * platform specific.
- *
- * Potential Errors: ImeNotAvailableException.
- */
- Future<String> getActiveImeEngine() => _get('ime/active_engine');
-
- /**
- * Indicates whether IME input is active at the moment (not if
- * it's available).
- *
- * Potential Errors: ImeNotAvailableException.
- */
- Future<bool> getIsImeActive() => _get('ime/activated');
-
- /**
- * De-activates the currently-active IME engine.
- *
- * Potential Errors: ImeNotAvailableException.
- */
- Future deactivateIme() => _post('ime/deactivate');
-
- /**
- * Make an engine that is available (appears on the list returned by
- * getAvailableEngines) active. After this call, the engine will be added
- * to the list of engines loaded in the IME daemon and the input sent using
- * sendKeys will be converted by the active engine. Note that this is a
- * platform-independent method of activating IME (the platform-specific way
- * being using keyboard shortcuts).
- *
- * Potential Errors: ImeActivationFailedException, ImeNotAvailableException.
- */
- Future activateIme(String engine) =>
- _post('ime/activate', { 'engine': engine });
-
- /**
- * Change focus to another frame on the page. If the frame id is null,
- * the server should switch to the page's default content.
- * [id] is the Identifier for the frame to change focus to, and can be
- * a string, number, null, or JSON Object.
- *
- * Potential Errors: NoSuchWindow, NoSuchFrame.
- */
- Future setFrameFocus(id) => _post('frame', { 'id': id });
-
- /**
- * Change focus to another window. The window to change focus to may be
- * specified by [name], which is its server assigned window handle, or
- * the value of its name attribute.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future setWindowFocus(name) => _post('window', { 'name': name });
-
- /**
- * Close the current window.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future closeWindow() => _delete('window');
-
- /**
- * Retrieve all cookies visible to the current page.
- *
- * The returned List contains Maps with the following keys:
- *
- * 'name' - The name of the cookie.
- *
- * 'value' - The cookie value.
- *
- * The following keys may optionally be present:
- *
- * 'path' - The cookie path.
- *
- * 'domain' - The domain the cookie is visible to.
- *
- * 'secure' - Whether the cookie is a secure cookie.
- *
- * 'expiry' - When the cookie expires, seconds since midnight, 1/1/1970 UTC.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<List<Map>> getCookies() => _get('cookie');
-
- /**
- * Set a cookie. If the cookie path is not specified, it should be set
- * to "/". Likewise, if the domain is omitted, it should default to the
- * current page's domain. See [getCookies] for the structure of a cookie
- * Map.
- */
- Future setCookie(Map cookie) => _post('cookie', { 'cookie': cookie });
-
- /**
- * Delete all cookies visible to the current page.
- *
- * Potential Errors: InvalidCookieDomain (the cookie's domain is not
- * visible from the current page), NoSuchWindow, UnableToSetCookie (if
- * attempting to set a cookie on a page that does not support cookies,
- * e.g. pages with mime-type text/plain).
- */
- Future deleteCookies() => _delete('cookie');
-
- /**
- * Delete the cookie with the given [name]. This command should be a no-op
- * if there is no such cookie visible to the current page.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future deleteCookie(String name) => _delete('cookie/$name');
-
- /**
- * Get the current page source.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getPageSource() => _get('source');
-
- /**
- * Get the current page title.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getPageTitle() => _get('title');
-
- /**
- * Search for an element on the page, starting from the document root. The
- * first matching located element will be returned as a WebElement JSON
- * object (a [Map] with an 'ELEMENT' key whose value should be used to
- * identify the element in further requests). The [strategy] should be
- * one of:
- *
- * 'class name' - Returns an element whose class name contains the search
- * value; compound class names are not permitted.
- *
- * 'css selector' - Returns an element matching a CSS selector.
- *
- * 'id' - Returns an element whose ID attribute matches the search value.
- *
- * 'name' - Returns an element whose NAME attribute matches the search value.
- *
- * 'link text' - Returns an anchor element whose visible text matches the
- * search value.
- *
- * 'partial link text' - Returns an anchor element whose visible text
- * partially matches the search value.
- *
- * 'tag name' - Returns an element whose tag name matches the search value.
- *
- * 'xpath' - Returns an element matching an XPath expression.
- *
- * Potential Errors: NoSuchWindow, NoSuchElement, XPathLookupError (if
- * using XPath and the input expression is invalid).
- */
- Future<String> findElement(String strategy, String searchValue) =>
- _post('element', { 'using': strategy, 'value' : searchValue });
-
- /**
- * Search for multiple elements on the page, starting from the document root.
- * The located elements will be returned as WebElement JSON objects. See
- * [findElement] for the locator strategies that each server supports.
- * Elements are be returned in the order located in the DOM.
- *
- * Potential Errors: NoSuchWindow, XPathLookupError.
- */
- Future<List<String>> findElements(String strategy, String searchValue) =>
- _post('elements', { 'using': strategy, 'value' : searchValue });
-
- /**
- * Get the element on the page that currently has focus. The element will
- * be returned as a WebElement JSON object.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getElementWithFocus() => _post('element/active');
-
- /**
- * Search for an element on the page, starting from element with id [id].
- * The located element will be returned as WebElement JSON objects. See
- * [findElement] for the locator strategies that each server supports.
- *
- * Potential Errors: NoSuchWindow, XPathLookupError.
- */
- Future<String>
- findElementFromId(String id, String strategy, String searchValue) =>
- _post('element/$id/element',
- { 'using': strategy, 'value' : searchValue });
-
- /**
- * Search for multiple elements on the page, starting from the element with
- * id [id].The located elements will be returned as WebElement JSON objects.
- * See [findElement] for the locator strategies that each server supports.
- * Elements are be returned in the order located in the DOM.
- *
- * Potential Errors: NoSuchWindow, XPathLookupError.
- */
- Future<List<String>>
- findElementsFromId(String id, String strategy, String searchValue) =>
- _post('element/$id/elements',
- { 'using': strategy, 'value' : searchValue });
- /**
- * Click on an element specified by [id].
- *
- * Potential Errors: NoSuchWindow, StaleElementReference, ElementNotVisible
- * (if the referenced element is not visible on the page, either hidden
- * by CSS, or has 0-width or 0-height).
- */
- Future clickElement(String id) => _post('element/$id/click');
-
- /**
- * Submit a FORM element. The submit command may also be applied to any
- * element that is a descendant of a FORM element.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future submit(String id) => _post('element/$id/submit');
-
- /** Returns the visible text for the element.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<String> getElementText(String id) => _get('element/$id/text');
-
- /**
- * Send a sequence of key strokes to an element.
- *
- * Any UTF-8 character may be specified, however, if the server does not
- * support native key events, it will simulate key strokes for a standard
- * US keyboard layout. The Unicode Private Use Area code points,
- * 0xE000-0xF8FF, are used to represent pressable, non-text keys:
- *
- * NULL - U+E000
- *
- * Cancel - U+E001
- *
- * Help - U+E002
- *
- * Backspace - U+E003
- *
- * Tab - U+E004
- *
- * Clear - U+E005
- *
- * Return - U+E006
- *
- * Enter - U+E007
- *
- * Shift - U+E008
- *
- * Control - U+E009
- *
- * Alt - U+E00A
- *
- * Pause - U+E00B
- *
- * Escape - U+E00C
- *
- * Space - U+E00D
- *
- * Pageup - U+E00E
- *
- * Pagedown - U+E00F
- *
- * End - U+E010
- *
- * Home - U+E011
- *
- * Left arrow - U+E012
- *
- * Up arrow - U+E013
- *
- * Right arrow - U+E014
- *
- * Down arrow - U+E015
- *
- * Insert - U+E016
- *
- * Delete - U+E017
- *
- * Semicolon - U+E018
- *
- * Equals - U+E019
- *
- * Numpad 0..9 - U+E01A..U+E023
- *
- * Multiply - U+E024
- *
- * Add - U+E025
- *
- * Separator - U+E026
- *
- * Subtract - U+E027
- *
- * Decimal - U+E028
- *
- * Divide - U+E029
- *
- * F1..F12 - U+E031..U+E03C
- *
- * Command/Meta U+E03D
- *
- * The server processes the key sequence as follows:
- *
- * - Each key that appears on the keyboard without requiring modifiers is
- * sent as a keydown followed by a key up.
- *
- * - If the server does not support native events and must simulate key
- * strokes with JavaScript, it will generate keydown, keypress, and keyup
- * events, in that order. The keypress event is only fired when the
- * corresponding key is for a printable character.
- *
- * - If a key requires a modifier key (e.g. "!" on a standard US keyboard),
- * the sequence is: modifier down, key down, key up, modifier up, where
- * key is the ideal unmodified key value (using the previous example,
- * a "1").
- *
- * - Modifier keys (Ctrl, Shift, Alt, and Command/Meta) are assumed to be
- * "sticky"; each modifier is held down (e.g. only a keydown event) until
- * either the modifier is encountered again in the sequence, or the NULL
- * (U+E000) key is encountered.
- *
- * - Each key sequence is terminated with an implicit NULL key.
- * Subsequently, all depressed modifier keys are released (with
- * corresponding keyup events) at the end of the sequence.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference, ElementNotVisible.
- */
- Future sendKeyStrokesToElement(String id, List<String> keys) =>
- _post('element/$id/value', { 'value': keys });
-
- /**
- * Send a sequence of key strokes to the active element. This command is
- * similar to [sendKeyStrokesToElement] command in every aspect except the
- * implicit termination: The modifiers are not released at the end of the
- * call. Rather, the state of the modifier keys is kept between calls,
- * so mouse interactions can be performed while modifier keys are depressed.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future sendKeyStrokes(List<String> keys) => _post('keys', { 'value': keys });
-
- /**
- * Query for an element's tag name, as a lower-case string.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<String> getElementTagName(String id) => _get('element/$id/name');
-
- /**
- * Clear a TEXTAREA or text INPUT element's value.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference, ElementNotVisible,
- * InvalidElementState.
- */
- Future clearValue(String id) => _post('/element/$id/clear');
-
- /**
- * Determine if an OPTION element, or an INPUT element of type checkbox
- * or radiobutton is currently selected.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<bool> isSelected(String id) => _get('element/$id/selected');
-
- /**
- * Determine if an element is currently enabled.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<bool> isEnabled(String id) => _get('element/$id/enabled');
-
- /**
- * Get the value of an element's attribute, or null if it has no such
- * attribute.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<String> getAttribute(String id, String attribute) =>
- _get('element/$id/attribute/$attribute');
-
- /**
- * Test if two element IDs refer to the same DOM element.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<bool> areSameElement(String id, String other) =>
- _get('element/$id/equals/$other');
-
- /**
- * Determine if an element is currently displayed.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<bool> isDiplayed(String id) => _get('element/$id/displayed');
-
- /**
- * Determine an element's location on the page. The point (0, 0) refers to
- * the upper-left corner of the page. The element's coordinates are returned
- * as a [Map] object with x and y properties.
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<Map> getElementLocation(String id) => _get('element/$id/location');
-
- /**
- * Determine an element's size in pixels. The size will be returned as a
- * [Map] object with width and height properties.
- *
- * Potential Errors: NoSuchWindow, StalElementReference.
- */
- Future<Map> getElementSize(String id) => _get('element/$id/size');
-
- /**
- * Query the value of an element's computed CSS property. The CSS property
- * to query should be specified using the CSS property name, not the
- * JavaScript property name (e.g. background-color instead of
- * backgroundColor).
- *
- * Potential Errors: NoSuchWindow, StaleElementReference.
- */
- Future<String> getElementCssProperty(String id, String property) =>
- _get('element/$id/css/$property');
-
- /**
- * Get the current browser orientation ('LANDSCAPE' or 'PORTRAIT').
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getBrowserOrientation() => _get('orientation');
-
- /**
- * Gets the text of the currently displayed JavaScript alert(), confirm(),
- * or prompt() dialog.
- *
- * Potential Errors: NoAlertPresent.
- */
- Future<String> getAlertText() => _get('alert_text');
-
- /**
- * Sends keystrokes to a JavaScript prompt() dialog.
- *
- * Potential Errors: NoAlertPresent.
- */
- Future sendKeyStrokesToPrompt(String text) =>
- _post('alert_text', { 'text': text });
-
- /**
- * Accepts the currently displayed alert dialog. Usually, this is equivalent
- * to clicking on the 'OK' button in the dialog.
- *
- * Potential Errors: NoAlertPresent.
- */
- Future acceptAlert() => _post('accept_alert');
-
- /**
- * Dismisses the currently displayed alert dialog. For confirm() and prompt()
- * dialogs, this is equivalent to clicking the 'Cancel' button. For alert()
- * dialogs, this is equivalent to clicking the 'OK' button.
- *
- * Potential Errors: NoAlertPresent.
- */
- Future dismissAlert() => _post('dismiss_alert');
-
- /**
- * Move the mouse by an offset relative to a specified element. If no element
- * is specified, the move is relative to the current mouse cursor. If an
- * element is provided but no offset, the mouse will be moved to the center
- * of the element. If the element is not visible, it will be scrolled
- * into view.
- */
- Future moveTo(String id, int x, int y) {
- var json = {};
- if (id != null) {
- json['element'] = id;
- }
- if (x != null) {
- json['xoffset'] = x;
- }
- if (y != null) {
- json['yoffset'] = y;
- }
- return _post('moveto', json);
- }
-
- /**
- * Click a mouse button (at the coordinates set by the last [moveTo] command).
- * Note that calling this command after calling [buttonDown] and before
- * calling [buttonUp] (or any out-of-order interactions sequence) will yield
- * undefined behaviour).
- *
- * [button] should be 0 for left, 1 for middle, or 2 for right.
- */
- Future clickMouse([button = 0]) => _post('click', { 'button' : button });
-
- /**
- * Click and hold the left mouse button (at the coordinates set by the last
- * [moveTo] command). Note that the next mouse-related command that should
- * follow is [buttonDown]. Any other mouse command (such as [click] or
- * another call to [buttonDown]) will yield undefined behaviour.
- *
- * [button] should be 0 for left, 1 for middle, or 2 for right.
- */
- Future buttonDown([button = 0]) => _post('click', { 'button' : button });
-
- /**
- * Releases the mouse button previously held (where the mouse is currently
- * at). Must be called once for every [buttonDown] command issued. See the
- * note in [click] and [buttonDown] about implications of out-of-order
- * commands.
- *
- * [button] should be 0 for left, 1 for middle, or 2 for right.
- */
- Future buttonUp([button = 0]) => _post('click', { 'button' : button });
-
- /** Double-clicks at the current mouse coordinates (set by [moveTo]). */
- Future doubleClick() => _post('doubleclick');
-
- /** Single tap on the touch enabled device on the element with id [id]. */
- Future touchClick(String id) => _post('touch/click', { 'element': id });
-
- /** Finger down on the screen. */
- Future touchDown(int x, int y) => _post('touch/down', { 'x': x, 'y': y });
-
- /** Finger up on the screen. */
- Future touchUp(int x, int y) => _post('touch/up', { 'x': x, 'y': y });
-
- /** Finger move on the screen. */
- Future touchMove(int x, int y) => _post('touch/move', { 'x': x, 'y': y });
-
- /**
- * Scroll on the touch screen using finger based motion events. If [id] is
- * specified, scrolling will start at a particular screen location.
- */
- Future touchScroll(int xOffset, int yOffset, [String id = null]) {
- if (id == null) {
- return _post('touch/scroll', { 'xoffset': xOffset, 'yoffset': yOffset });
- } else {
- return _post('touch/scroll',
- { 'element': id, 'xoffset': xOffset, 'yoffset': yOffset });
- }
- }
-
- /** Double tap on the touch screen using finger motion events. */
- Future touchDoubleClick(String id) =>
- _post('touch/doubleclick', { 'element': id });
-
- /** Long press on the touch screen using finger motion events. */
- Future touchLongClick(String id) =>
- _post('touch/longclick', { 'element': id });
-
- /**
- * Flick on the touch screen using finger based motion events, starting
- * at a particular screen location. [speed] is in pixels-per-second.
- */
- Future touchFlickFrom(String id, int xOffset, int yOffset, int speed) =>
- _post('touch/flick',
- { 'element': id, 'xoffset': xOffset, 'yoffset': yOffset,
- 'speed': speed });
-
- /**
- * Flick on the touch screen using finger based motion events. Use this
- * instead of [touchFlickFrom] if you don'tr care where the flick starts.
- */
- Future touchFlick(int xSpeed, int ySpeed) =>
- _post('touch/flick', { 'xSpeed': xSpeed, 'ySpeed': ySpeed });
-
- /**
- * Get the current geo location. Returns a [Map] with latitude,
- * longitude and altitude properties.
- */
- Future<Map> getGeolocation() => _get('location');
-
- /** Set the current geo location. */
- Future setLocation(double latitude, double longitude, double altitude) =>
- _post('location',
- { 'latitude': latitude,
- 'longitude': longitude,
- 'altitude': altitude });
-
- /**
- * Only a few drivers actually support the JSON storage commands.
- * Currently it looks like this is the Android and iPhone drivers only.
- * For the rest, we can achieve a similar effect with Javascript
- * execution. The flag below is used to control whether to do this.
- */
- bool useJavascriptForStorageAPIs = true;
-
- /**
- * Get all keys of the local storage. Completes with [null] if there
- * are no keys or the keys could not be retrieved.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<List<String>> getLocalStorageKeys() {
- if (useJavascriptForStorageAPIs) {
- return execute(
- 'var rtn = [];'
- 'for (var i = 0; i < window.localStorage.length; i++)'
- ' rtn.push(window.localStorage.key(i));'
- 'return rtn;');
- } else {
- return _get('local_storage');
- }
- }
-
- /**
- * Set the local storage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future setLocalStorageItem(String key, String value) {
- if (useJavascriptForStorageAPIs) {
- return execute('window.localStorage.setItem(arguments[0], arguments[1]);',
- [key, value]);
- } else {
- return _post('local_storage', { 'key': key, 'value': value });
- }
- }
-
- /**
- * Clear the local storage.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future clearLocalStorage() {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.localStorage.clear();');
- } else {
- return _delete('local_storage');
- }
- }
-
- /**
- * Get the local storage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getLocalStorageValue(String key) {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.localStorage.getItem(arguments[0]);',
- [key]);
- } else {
- return _get('local_storage/key/$key');
- }
- }
-
- /**
- * Delete the local storage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future deleteLocalStorageValue(String key) {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.localStorage.removeItem(arguments[0]);',
- [key]);
- } else {
- return _delete('local_storage/key/$key');
- }
- }
-
- /**
- * Get the number of items in the local storage.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<int> getLocalStorageCount() {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.localStorage.length;');
- } else {
- return _get('local_storage/size');
- }
- }
-
- /**
- * Get all keys of the session storage.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<List<String>> getSessionStorageKeys() {
- if (useJavascriptForStorageAPIs) {
- return execute(
- 'var rtn = [];'
- 'for (var i = 0; i < window.sessionStorage.length; i++)'
- ' rtn.push(window.sessionStorage.key(i));'
- 'return rtn;');
- } else {
- return _get('session_storage');
- }
- }
-
- /**
- * Set the sessionstorage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future setSessionStorageItem(String key, String value) {
- if (useJavascriptForStorageAPIs) {
- return execute(
- 'window.sessionStorage.setItem(arguments[0], arguments[1]);',
- [key, value]);
- } else {
- return _post('session_storage', { 'key': key, 'value': value });
- }
- }
-
- /**
- * Clear the session storage.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future clearSessionStorage() {
- if (useJavascriptForStorageAPIs) {
- return execute('window.sessionStorage.clear();');
- } else {
- return _delete('session_storage');
- }
- }
-
- /**
- * Get the session storage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getSessionStorageValue(String key) {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.sessionStorage.getItem(arguments[0]);',
- [key]);
- } else {
- return _get('session_storage/key/$key');
- }
- }
-
- /**
- * Delete the session storage item for the given key.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future deleteSessionStorageValue(String key) {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.sessionStorage.removeItem(arguments[0]);',
- [key]);
- } else {
- return _delete('session_storage/key/$key');
- }
- }
-
- /**
- * Get the number of items in the session storage.
- *
- * Potential Errors: NoSuchWindow.
- */
- Future<String> getSessionStorageCount() {
- if (useJavascriptForStorageAPIs) {
- return execute('return window.sessionStorage.length;');
- } else {
- return _get('session_storage/size');
- }
- }
-
- /**
- * Get available log types ('client', 'driver', 'browser', 'server').
- * This works with Firefox but Chrome returns a 500 response due to a
- * bad cast.
- */
- Future<List<String>> getLogTypes() => _get('log/types');
-
- /**
- * Get the log for a given log type. Log buffer is reset after each request.
- * Each log entry is a [Map] with these fields:
- *
- * 'timestamp' (int) - The timestamp of the entry.
- * 'level' (String) - The log level of the entry, for example, "INFO".
- * 'message' (String) - The log message.
- *
- * This works with Firefox but Chrome returns a 500 response due to a
- * bad cast.
- */
- Future<List<Map>> getLogs(String type) => _post('log', { 'type': type });
-}
diff --git a/pkg/webdriver/pubspec.yaml b/pkg/webdriver/pubspec.yaml
deleted file mode 100644
index 8520cec..0000000
--- a/pkg/webdriver/pubspec.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-name: webdriver
-author: "Dart Team <misc@dartlang.org>"
-homepage: http://www.dartlang.org
-description: >
- Provides WedDriver bindings for Dart. These use the WebDriver JSON
- interface, and as such, require the use of the WebDriver remote server.
-
diff --git a/pkg/webdriver/test/webdriver_test.dart b/pkg/webdriver/test/webdriver_test.dart
deleted file mode 100644
index 3c4d500..0000000
--- a/pkg/webdriver/test/webdriver_test.dart
+++ /dev/null
@@ -1,466 +0,0 @@
-library webdriver_test;
-import 'dart:async' show getAttachedStackTrace;
-import 'package:webdriver/webdriver.dart';
-import 'package:unittest/unittest.dart';
-import 'package:unittest/vm_config.dart';
-
-WebDriver web_driver;
-
-/**
- * These tests are not expected to be run as part of normal automated testing,
- * as they are slow and they have external dependencies.
- */
-main() {
- useVMConfiguration();
-
- var web_driver = new WebDriver('localhost', 4444, '/wd/hub');
- var session = null;
-
- var exceptionHandler = (error) {
- var trace = getAttachedStackTrace(error);
- String traceString = trace == null ? "" : trace.toString();
- if (error is TestFailure) {
- currentTestCase.fail(error.message, traceString);
- } else {
- currentTestCase.error("Unexpected error: ${error}", traceString);
- }
- if (session != null) {
- var s = session;
- session = null;
- s.close();
- }
- };
-
- group('Sessionless tests', () {
- test('Get status', () {
- return web_driver.getStatus()
- .then((status) {
- expect(status['sessionId'], isNull);
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Basic session tests', () {
- test('Create session/get capabilities', () {
- return web_driver.newSession('chrome')
- .then((_session) {
- expect(_session, isNotNull);
- session = _session;
- return session.getCapabilities();
- })
- .then((capabilities) {
- expect(capabilities, isNotNull);
- expect(capabilities['browserName'], equals('chrome'));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- test('Create and get multiple sessions', () {
- var session2 = null;
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return web_driver.newSession('chrome');
- })
- .then((_session) {
- session2 = _session;
- return web_driver.getSessions();
- })
- .then((sessions) {
- expect(sessions.length, greaterThanOrEqualTo(2));
- return session2.close();
- })
- .then((_) {
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- test('Set/get url', () {
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.getUrl();
- })
- .then((u) {
- expect(u, equals('http://translate.google.com/'));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- test('Navigation', () {
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.setUrl('http://www.google.com');
- })
- .then((_) {
- return session.navigateBack();
- })
- .then((_) {
- return session.getUrl();
- })
- .then((u) {
- expect(u, equals('http://translate.google.com/'));
- return session.navigateForward();
- })
- .then((_) {
- return session.getUrl();
- })
- .then((url) {
- expect(url, equals('http://www.google.com/'));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- test('Take a Screen shot', () {
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.getScreenshot();
- })
- .then((image) {
- expect(image.length, greaterThan(10000));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Window tests', () {
- test('Window position and size', () {
- // We don't validate the results. Setting size and position is flaky.
- // I tried with the Selenium python client code and found it had the
- // same issue, so this is not a bug in the Dart code.
- var window;
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.getWindow();
- })
- .then((_window) {
- window = _window;
- return window.setSize(220, 400);
- })
- .then((_) {
- return window.getSize();
- })
- .then((ws) {
- return window.setPosition(100, 80);
- })
- .then((_) {
- return window.getPosition();
- })
- .then((wp) {
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Cookie tests', () {
- test('Create/query/delete', () {
- var window;
- var numcookies;
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- // Must go to a web page first to set a cookie.
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.getCookies();
- })
- .then((cookies) {
- numcookies = cookies.length;
- return session.setCookie({ 'name': 'foo', 'value': 'bar'});
- })
- .then((_) {
- return session.getCookies();
- })
- .then((cookies) {
- expect(cookies.length, equals(numcookies + 1));
- expect(cookies, someElement(allOf(
- containsPair('name', 'foo'),
- containsPair('value', 'bar'))));
- return session.deleteCookie('foo');
- })
- .then((_) {
- return session.getCookies();
- })
- .then((cookies) {
- expect(cookies.length, numcookies);
- expect(cookies, everyElement(isNot(containsPair('name', 'foo'))));
- return session.deleteCookie('foo');
- })
- .then((_) {
- return session.getCookies();
- })
- .then((cookies) {
- expect(cookies.length, numcookies);
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Storage tests', () {
- test('Local Storage Create/query/delete', () {
- var window;
- var numkeys;
- return web_driver.newSession('firefox', { 'webStorageEnabled': true })
- .then((_session) {
- session = _session;
- return session.getCapabilities();
- })
- .then((capabilities) {
- expect(capabilities, isNotNull);
- expect(capabilities['webStorageEnabled'], isTrue);
- // Must go to a web page first.
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.getLocalStorageKeys();
- })
- .then((keys) {
- numkeys = keys.length;
- return session.setLocalStorageItem('foo', 'bar');
- })
- .then((_) {
- return session.getLocalStorageKeys();
- })
- .then((keys) {
- expect(keys.length, equals(numkeys + 1));
- expect(keys, someElement(equals('foo')));
- return session.getLocalStorageCount();
- })
- .then((count) {
- expect(count, equals(numkeys + 1));
- return session.getLocalStorageValue('foo');
- })
- .then((value) {
- expect(value, equals('bar'));
- return session.setLocalStorageItem('bar', 'foo');
- })
- .then((_) {
- return session.getLocalStorageKeys();
- })
- .then((keys) {
- expect(keys.length, equals(numkeys + 2));
- expect(keys, someElement(equals('bar')));
- expect(keys, someElement(equals('foo')));
- return session.deleteLocalStorageValue('foo');
- })
- .then((_) {
- return session.getLocalStorageKeys();
- })
- .then((keys) {
- expect(keys.length, equals(numkeys + 1));
- expect(keys, everyElement(isNot(equals('foo'))));
- return session.setLocalStorageItem('foo', 'bar');
- })
- .then((_) {
- return session.clearLocalStorage();
- })
- .then((_) {
- return session.getLocalStorageKeys();
- })
- .then((keys) {
- expect(keys.length, isZero);
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- test('Session Storage Create/query/delete', () {
- var window;
- var numkeys;
- return web_driver.newSession('chrome', { 'webStorageEnabled': true })
- .then((_session) {
- session = _session;
- // Must go to a web page first.
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.getSessionStorageKeys();
- })
- .then((keys) {
- numkeys = keys.length;
- return session.setSessionStorageItem('foo', 'bar');
- })
- .then((_) {
- return session.getSessionStorageKeys();
- })
- .then((keys) {
- expect(keys.length, equals(numkeys + 1));
- expect(keys, someElement(equals('foo')));
- return session.getSessionStorageCount();
- })
- .then((count) {
- expect(count, equals(numkeys + 1));
- return session.getSessionStorageValue('foo');
- })
- .then((value) {
- expect(value, equals('bar'));
- return session.deleteSessionStorageValue('foo');
- })
- .then((_) {
- return session.getSessionStorageKeys();
- })
- .then((keys) {
- expect(keys.length, equals(numkeys));
- expect(keys, everyElement(isNot(equals('foo'))));
- return session.setSessionStorageItem('foo', 'bar');
- })
- .then((_) {
- return session.clearSessionStorage();
- })
- .then((_) {
- return session.getSessionStorageKeys();
- })
- .then((keys) {
- expect(keys.length, isZero);
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
-
- });
-
- group('Script tests', () {
- // This test is just timing out eventually with a 500 response.
-
- test('Sync script', () {
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.setUrl('http://translate.google.com');
- })
- .then((_) {
- return session.execute('return arguments[0] * arguments[1];',
- [2, 3]);
- })
- .then((value) {
- expect(value, equals(6));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Element tests', () {
- test('Elements', () {
- var w;
- return web_driver.newSession('chrome')
- .then((_session) {
- session = _session;
- return session.setUrl('http://duckduckgo.com');
- })
- .then((_) {
- return session.findElement('id', 'search_form_input_homepage');
- })
- .then((_w) {
- w = _w['ELEMENT'];
- return session.sendKeyStrokesToElement(w,
- [ 'g', 'o', 'o', 'g', 'l', 'e' ]);
- })
- .then((_) {
- return session.submit(w);
- })
- .then((_) {
- return session.findElements('class name',
- 'links_zero_click_disambig');
- })
- .then((divs) {
- expect(divs.length, greaterThan(0));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Log tests', () {
- // Currently, getLogTypes returns a 404, and attempts to get the
- // logs either return 500 with 'Unknown log type' or 500 with
- // 'Unable to convert logEntries'.
-
- test('Log retrieval', () {
- return web_driver.newSession('firefox')
- .then((_session) {
- session = _session;
- return session.getLogTypes();
- })
- .then((logTypes) {
- expect(logTypes, someElement(equals('client')));
- expect(logTypes, someElement(equals('server')));
- return session.getLogs('driver');
- })
- .then((logs) {
- expect(logs.length, greaterThan(0));
- return session.close();
- })
- .then((_) {
- session = null;
- })
- .catchError(exceptionHandler);
- });
- });
-
- group('Cleanup', () {
- test('Cleanup', () {
- web_driver = null;
- if (session != null) {
- var s = session;
- session = null;
- s.close();
- }
- });
- });
-}
-
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
index e031cda..0d1a4af 100644
--- a/runtime/lib/mirrors.cc
+++ b/runtime/lib/mirrors.cc
@@ -119,8 +119,7 @@
DARTSCOPE(isolate);
const Object& referent = Object::Handle(isolate, Api::UnwrapHandle(handle));
const MirrorReference& reference =
- MirrorReference::Handle(MirrorReference::New());
- reference.set_referent(referent);
+ MirrorReference::Handle(MirrorReference::New(referent));
return Api::NewHandle(isolate, reference.raw());
}
@@ -236,47 +235,35 @@
static Dart_Handle CreateLazyMirror(Dart_Handle target);
-static Dart_Handle CreateParameterMirrorList(Dart_Handle func) {
+static RawInstance* CreateParameterMirrorList(const Function& func) {
+ HANDLESCOPE(Isolate::Current());
+ const intptr_t param_cnt = func.num_fixed_parameters() -
+ func.NumImplicitParameters() +
+ func.NumOptionalParameters();
+ const Array& results = Array::Handle(Array::New(param_cnt));
+ const Array& args = Array::Handle(Array::New(3));
+ args.SetAt(0, MirrorReference::Handle(MirrorReference::New(func)));
+ Smi& pos = Smi::Handle();
+ Instance& param = Instance::Handle();
+ for (intptr_t i = 0; i < param_cnt; i++) {
+ pos ^= Smi::New(i);
+ args.SetAt(1, pos);
+ args.SetAt(2, (i >= func.num_fixed_parameters()) ?
+ Bool::True() : Bool::False());
+ param ^= CreateMirror(Symbols::_LocalParameterMirrorImpl(), args);
+ results.SetAt(i, param);
+ }
+ results.MakeImmutable();
+ return results.raw();
+}
+
+
+static Dart_Handle CreateParameterMirrorListUsingApi(Dart_Handle func) {
ASSERT(Dart_IsFunction(func));
- int64_t fixed_param_count;
- int64_t opt_param_count;
- Dart_Handle result = Dart_FunctionParameterCounts(func,
- &fixed_param_count,
- &opt_param_count);
- if (Dart_IsError(result)) {
- return result;
- }
-
- int64_t param_count = fixed_param_count + opt_param_count;
- Dart_Handle parameter_list = Dart_NewList(param_count);
- if (Dart_IsError(parameter_list)) {
- return result;
- }
-
- Dart_Handle param_cls_name = NewString("_LocalParameterMirrorImpl");
- Dart_Handle param_type = Dart_GetType(MirrorLib(), param_cls_name, 0, NULL);
- if (Dart_IsError(param_type)) {
- return param_type;
- }
-
- Dart_Handle reflectee = CreateMirrorReference(func);
- for (int64_t i = 0; i < param_count; i++) {
- Dart_Handle args[] = {
- reflectee,
- Dart_NewInteger(i),
- (i >= fixed_param_count) ? Api::True() : Api::False(),
- };
- Dart_Handle param =
- Dart_New(param_type, Dart_Null(), ARRAY_SIZE(args), args);
- if (Dart_IsError(param)) {
- return param;
- }
- result = Dart_ListSetAt(parameter_list, i, param);
- if (Dart_IsError(result)) {
- return result;
- }
- }
- return parameter_list;
+ Isolate* isolate = Isolate::Current();
+ return Api::NewHandle(
+ isolate, CreateParameterMirrorList(Api::UnwrapFunctionHandle(
+ isolate, func)));
}
@@ -305,7 +292,7 @@
Dart_Handle args[] = {
CreateLazyMirror(return_type),
- CreateParameterMirrorList(sig),
+ CreateParameterMirrorListUsingApi(sig),
};
return Dart_New(type, Dart_Null(), ARRAY_SIZE(args), args);
} else {
@@ -505,7 +492,6 @@
}
-static Dart_Handle CreateMemberMap(Dart_Handle owner, Dart_Handle owner_mirror);
static Dart_Handle CreateConstructorMap(Dart_Handle owner,
Dart_Handle owner_mirror);
@@ -579,7 +565,7 @@
Dart_Handle args[] = {
CreateMirrorReference(func),
owner_mirror,
- CreateParameterMirrorList(func),
+ CreateParameterMirrorListUsingApi(func),
func_obj.is_static() ? Api::True() : Api::False(),
func_obj.is_abstract() ? Api::True() : Api::False(),
func_obj.IsGetterFunction() ? Api::True() : Api::False(),
@@ -598,8 +584,7 @@
static RawInstance* CreateVariableMirror(const Field& field,
const Instance& owner_mirror) {
const MirrorReference& field_ref =
- MirrorReference::Handle(MirrorReference::New());
- field_ref.set_referent(field);
+ MirrorReference::Handle(MirrorReference::New(field));
const String& name = String::Handle(field.UserVisibleName());
@@ -615,84 +600,6 @@
}
-static Dart_Handle AddMemberClasses(Dart_Handle map,
- Dart_Handle owner,
- Dart_Handle owner_mirror) {
- ASSERT(Dart_IsLibrary(owner));
- Dart_Handle result;
- Dart_Handle names = Dart_LibraryGetClassNames(owner);
- if (Dart_IsError(names)) {
- return names;
- }
- intptr_t len;
- result = Dart_ListLength(names, &len);
- if (Dart_IsError(result)) {
- return result;
- }
- for (intptr_t i = 0; i < len; i++) {
- Dart_Handle intf_name = Dart_ListGetAt(names, i);
- Dart_Handle intf = Dart_GetClass(owner, intf_name);
- if (Dart_IsError(intf)) {
- return intf;
- }
- Dart_Handle intf_mirror =
- CreateClassMirrorUsingApi(intf, intf_name, owner_mirror);
- if (Dart_IsError(intf_mirror)) {
- return intf_mirror;
- }
- result = MapAdd(map, intf_name, intf_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- }
- return Dart_True();
-}
-
-
-static Dart_Handle AddMemberFunctions(Dart_Handle map,
- Dart_Handle owner,
- Dart_Handle owner_mirror) {
- Dart_Handle result;
- Dart_Handle names = Dart_GetFunctionNames(owner);
- if (Dart_IsError(names)) {
- return names;
- }
- intptr_t len;
- result = Dart_ListLength(names, &len);
- if (Dart_IsError(result)) {
- return result;
- }
- for (intptr_t i = 0; i < len; i++) {
- Dart_Handle func_name = Dart_ListGetAt(names, i);
- Dart_Handle func = Dart_LookupFunction(owner, func_name);
- if (Dart_IsError(func)) {
- return func;
- }
- ASSERT(!Dart_IsNull(func));
-
- bool is_constructor = false;
- result = Dart_FunctionIsConstructor(func, &is_constructor);
- if (Dart_IsError(result)) {
- return result;
- }
- if (is_constructor) {
- // Skip constructors.
- continue;
- }
-
- Dart_Handle func_mirror = CreateMethodMirrorUsingApi(func, owner_mirror);
- if (Dart_IsError(func_mirror)) {
- return func_mirror;
- }
- result = MapAdd(map, func_name, func_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- }
- return Dart_True();
-}
-
-
static Dart_Handle AddConstructors(Dart_Handle map,
Dart_Handle owner,
Dart_Handle owner_mirror) {
@@ -737,70 +644,6 @@
}
-static Dart_Handle AddMemberVariables(Dart_Handle map,
- Dart_Handle owner,
- Dart_Handle owner_mirror) {
- Isolate* isolate = Isolate::Current();
- Dart_Handle result;
- Dart_Handle names = Dart_GetVariableNames(owner);
- if (Dart_IsError(names)) {
- return names;
- }
- intptr_t len;
- result = Dart_ListLength(names, &len);
- if (Dart_IsError(result)) {
- return result;
- }
- for (intptr_t i = 0; i < len; i++) {
- Dart_Handle var_name = Dart_ListGetAt(names, i);
- Dart_Handle var = Dart_LookupVariable(owner, var_name);
- if (Dart_IsError(var)) {
- return var;
- }
- ASSERT(!Dart_IsNull(var));
- ASSERT(Dart_IsVariable(var));
- const Field& field = Api::UnwrapFieldHandle(isolate, var);
- const Instance& owner_mirror_inst =
- Api::UnwrapInstanceHandle(isolate, owner_mirror);
- const Instance& var_mirror_inst =
- Instance::Handle(CreateVariableMirror(field, owner_mirror_inst));
- Dart_Handle var_mirror = Api::NewHandle(isolate, var_mirror_inst.raw());
-
- result = MapAdd(map, var_name, var_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- }
- return Dart_True();
-}
-
-
-static Dart_Handle CreateMemberMap(Dart_Handle owner,
- Dart_Handle owner_mirror) {
- // TODO(turnidge): This should be an immutable map.
- if (Dart_IsError(owner_mirror)) {
- return owner_mirror;
- }
- Dart_Handle result;
- Dart_Handle map = MapNew();
- if (Dart_IsLibrary(owner)) {
- result = AddMemberClasses(map, owner, owner_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- }
- result = AddMemberFunctions(map, owner, owner_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- result = AddMemberVariables(map, owner, owner_mirror);
- if (Dart_IsError(result)) {
- return result;
- }
- return map;
-}
-
-
static Dart_Handle CreateConstructorMap(Dart_Handle owner,
Dart_Handle owner_mirror) {
// TODO(turnidge): This should be an immutable map.
@@ -827,15 +670,10 @@
if (Dart_IsError(lazy_lib_mirror)) {
return lazy_lib_mirror;
}
- Dart_Handle member_map = CreateMemberMap(lib, lazy_lib_mirror);
- if (Dart_IsError(member_map)) {
- return member_map;
- }
Dart_Handle args[] = {
CreateMirrorReference(lib),
Dart_LibraryName(lib),
Dart_LibraryUrl(lib),
- member_map,
};
Dart_Handle lib_mirror = Dart_New(type, Dart_Null(), ARRAY_SIZE(args), args);
if (Dart_IsError(lib_mirror)) {
@@ -1171,43 +1009,6 @@
}
-// TODO(11742): This is transitional.
-static RawInstance* Reflect(const Instance& reflectee) {
- Isolate* isolate = Isolate::Current();
- DARTSCOPE(isolate);
- return Instance::RawCast(
- Api::UnwrapHandle(
- CreateInstanceMirror(
- Api::NewHandle(isolate, reflectee.raw()))));
-}
-
-
-static void ThrowMirroredUnhandledError(const Error& original_error) {
- const UnhandledException& unhandled_ex =
- UnhandledException::Cast(original_error);
- Instance& exc = Instance::Handle(unhandled_ex.exception());
- Instance& stack = Instance::Handle(unhandled_ex.stacktrace());
-
- Object& exc_string_or_error =
- Object::Handle(DartLibraryCalls::ToString(exc));
- String& exc_string = String::Handle();
- // Ignore any errors that might occur in toString.
- if (exc_string_or_error.IsString()) {
- exc_string ^= exc_string_or_error.raw();
- }
-
- Instance& mirror_on_exc = Instance::Handle(Reflect(exc));
-
- Array& args = Array::Handle(Array::New(3));
- args.SetAt(0, mirror_on_exc);
- args.SetAt(1, exc_string);
- args.SetAt(2, stack);
-
- Exceptions::ThrowByType(Exceptions::kMirroredUncaughtExceptionError, args);
- UNREACHABLE();
-}
-
-
static void ThrowMirroredCompilationError(const String& message) {
Array& args = Array::Handle(Array::New(1));
args.SetAt(0, message);
@@ -1218,16 +1019,14 @@
static void ThrowInvokeError(const Error& error) {
- if (error.IsUnhandledException()) {
- // An ordinary runtime error.
- ThrowMirroredUnhandledError(error);
- }
if (error.IsLanguageError()) {
// A compilation error that was delayed by lazy compilation.
const LanguageError& compilation_error = LanguageError::Cast(error);
String& message = String::Handle(compilation_error.message());
ThrowMirroredCompilationError(message);
+ UNREACHABLE();
}
+ Exceptions::PropagateError(error);
UNREACHABLE();
}
@@ -1247,7 +1046,7 @@
DEFINE_NATIVE_ENTRY(ClassMirror_name, 1) {
GET_NON_NULL_NATIVE_ARGUMENT(MirrorReference, ref, arguments->NativeArgAt(0));
const Class& klass = Class::Handle(ref.GetClassReferent());
- return klass.Name();
+ return klass.UserVisibleName();
}
@@ -1303,6 +1102,51 @@
}
+DEFINE_NATIVE_ENTRY(LibraryMirror_members, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Instance,
+ owner_mirror,
+ arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(MirrorReference, ref, arguments->NativeArgAt(1));
+ const Library& library = Library::Handle(ref.GetLibraryReferent());
+
+ Instance& member_mirror = Instance::Handle();
+ const GrowableObjectArray& member_mirrors =
+ GrowableObjectArray::Handle(GrowableObjectArray::New());
+
+ Object& entry = Object::Handle();
+ DictionaryIterator entries(library);
+
+ while (entries.HasNext()) {
+ entry = entries.GetNext();
+ if (entry.IsClass()) {
+ const Class& klass = Class::Cast(entry);
+ if (!klass.IsCanonicalSignatureClass()) {
+ // The various implementations of public classes don't always have the
+ // expected superinterfaces or other properties, so we filter them out.
+ if (!RawObject::IsImplementationClassId(klass.id())) {
+ member_mirror = CreateClassMirror(klass, owner_mirror);
+ member_mirrors.Add(member_mirror);
+ }
+ }
+ } else if (entry.IsField()) {
+ const Field& field = Field::Cast(entry);
+ member_mirror = CreateVariableMirror(field, owner_mirror);
+ member_mirrors.Add(member_mirror);
+ } else if (entry.IsFunction()) {
+ const Function& func = Function::Cast(entry);
+ if (func.kind() == RawFunction::kRegularFunction ||
+ func.kind() == RawFunction::kGetterFunction ||
+ func.kind() == RawFunction::kSetterFunction) {
+ member_mirror = CreateMethodMirror(func, owner_mirror);
+ member_mirrors.Add(member_mirror);
+ }
+ }
+ }
+
+ return member_mirrors.raw();
+}
+
+
// Invoke the function, or noSuchMethod if it is null. Propagate any unhandled
// exceptions. Wrap and propagate any compilation errors.
static RawObject* ReflectivelyInvokeDynamicFunction(const Instance& receiver,
diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
index d957cc7..acd568d 100644
--- a/runtime/lib/mirrors_impl.dart
+++ b/runtime/lib/mirrors_impl.dart
@@ -194,9 +194,10 @@
}
InstanceMirror setField(Symbol memberName, Object value) {
- return reflect(this._invokeSetter(_reflectee,
- _n(memberName),
- value));
+ this._invokeSetter(_reflectee,
+ _n(memberName),
+ value);
+ return reflect(value);
}
Future<InstanceMirror> invokeAsync(Symbol memberName,
@@ -239,10 +240,10 @@
"a simple value or InstanceMirror";
}
- var result = this._invokeSetter(_reflectee,
- _n(memberName),
- unwrappedValue);
- return new Future.value(reflect(result));
+ this._invokeSetter(_reflectee,
+ _n(memberName),
+ unwrappedValue);
+ return new Future.value(reflect(unwrappedValue));
} catch(e) {
return new Future.error(e);
}
@@ -793,10 +794,8 @@
implements LibraryMirror {
_LocalLibraryMirrorImpl(reflectee,
String simpleName,
- String url,
- Map<String, Mirror> members)
+ String url)
: this.simpleName = _s(simpleName),
- this.members = _convertStringToSymbolMap(members),
this.uri = Uri.parse(url),
super(reflectee);
@@ -820,7 +819,15 @@
}
final Uri uri;
- final Map<Symbol, Mirror> members;
+
+ Map<Symbol, Mirror> _members;
+
+ Map<Symbol, Mirror> get members {
+ if (_members == null) {
+ _members = _makeMemberMap(_computeMembers(_reflectee));
+ }
+ return _members;
+ }
Map<Symbol, ClassMirror> _classes = null;
Map<Symbol, MethodMirror> _functions = null;
@@ -884,6 +891,9 @@
_invokeSetter(reflectee, setterName, value)
native 'LibraryMirror_invokeSetter';
+
+ _computeMembers(reflectee)
+ native "LibraryMirror_members";
}
class _LocalMethodMirrorImpl extends _LocalDeclarationMirrorImpl
diff --git a/runtime/lib/simd128.cc b/runtime/lib/simd128.cc
index 542eee4..0ff6da4 100644
--- a/runtime/lib/simd128.cc
+++ b/runtime/lib/simd128.cc
@@ -242,6 +242,61 @@
}
+DEFINE_NATIVE_ENTRY(Float32x4_withZWInXY, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1));
+ float _x = other.z();
+ float _y = other.w();
+ float _z = self.z();
+ float _w = self.w();
+ return Float32x4::New(_x, _y, _z, _w);
+}
+
+
+DEFINE_NATIVE_ENTRY(Float32x4_interleaveXY, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1));
+ float _x = self.x();
+ float _y = other.x();
+ float _z = self.y();
+ float _w = other.y();
+ return Float32x4::New(_x, _y, _z, _w);
+}
+
+
+DEFINE_NATIVE_ENTRY(Float32x4_interleaveZW, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1));
+ float _x = self.z();
+ float _y = other.z();
+ float _z = self.w();
+ float _w = other.w();
+ return Float32x4::New(_x, _y, _z, _w);
+}
+
+
+DEFINE_NATIVE_ENTRY(Float32x4_interleaveXYPairs, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1));
+ float _x = self.x();
+ float _y = self.y();
+ float _z = other.x();
+ float _w = other.y();
+ return Float32x4::New(_x, _y, _z, _w);
+}
+
+
+DEFINE_NATIVE_ENTRY(Float32x4_interleaveZWPairs, 2) {
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
+ GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1));
+ float _x = self.z();
+ float _y = self.w();
+ float _z = other.z();
+ float _w = other.w();
+ return Float32x4::New(_x, _y, _z, _w);
+}
+
+
DEFINE_NATIVE_ENTRY(Float32x4_setX, 2) {
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Double, x, arguments->NativeArgAt(1));
diff --git a/runtime/lib/typed_data.dart b/runtime/lib/typed_data.dart
index fef87bc..437be6a 100644
--- a/runtime/lib/typed_data.dart
+++ b/runtime/lib/typed_data.dart
@@ -2271,6 +2271,15 @@
Float32x4 get wwwz => _shuffle(0xBF);
Float32x4 get wwww => _shuffle(0xFF);
Float32x4 _shuffle(int mask) native "Float32x4_shuffle";
+
+ Float32x4 withZWInXY(Float32x4 other) native "Float32x4_withZWInXY";
+ Float32x4 interleaveXY(Float32x4 other) native "Float32x4_interleaveXY";
+ Float32x4 interleaveZW(Float32x4 other) native "Float32x4_interleaveZW";
+ Float32x4 interleaveXYPairs(Float32x4 other)
+ native "Float32x4_interleaveXYPairs";
+ Float32x4 interleaveZWPairs(Float32x4 other)
+ native "Float32x4_interleaveZWPairs";
+
Float32x4 withX(double x) native "Float32x4_setX";
Float32x4 withY(double y) native "Float32x4_setY";
Float32x4 withZ(double z) native "Float32x4_setZ";
diff --git a/runtime/tests/vm/dart/isolate_mirror_local_test.dart b/runtime/tests/vm/dart/isolate_mirror_local_test.dart
index 7ac396c..cc7d3e6 100644
--- a/runtime/tests/vm/dart/isolate_mirror_local_test.dart
+++ b/runtime/tests/vm/dart/isolate_mirror_local_test.dart
@@ -483,13 +483,9 @@
Expect.isTrue(false);
})
.catchError((error) {
- Expect.isTrue(error is MirroredUncaughtExceptionError);
- Expect.equals(const Symbol('MyException'),
- error.exception_mirror.type.simpleName);
+ Expect.isTrue(error is MyException);
Expect.equals('MyException: from methodWithException',
- error.exception_string);
- Expect.isTrue(error.stacktrace.toString().contains(
- 'isolate_mirror_local_test.dart'));
+ error.toString());
testDone('testMirrorErrors1');
});
diff --git a/runtime/vm/benchmark_test.cc b/runtime/vm/benchmark_test.cc
index ba6b949..ec82fc9 100644
--- a/runtime/vm/benchmark_test.cc
+++ b/runtime/vm/benchmark_test.cc
@@ -455,4 +455,24 @@
benchmark->set_score(snapshot->length());
}
+
+BENCHMARK(CreateMirrorSystem) {
+ const char* kScriptChars =
+ "import 'dart:mirrors';\n"
+ "\n"
+ "void benchmark() {\n"
+ " currentMirrorSystem();\n"
+ "}\n";
+
+ Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, NULL);
+ Dart_Handle args[0];
+
+ Timer timer(true, "currentMirrorSystem() benchmark");
+ timer.Start();
+ Dart_Invoke(lib, NewString("benchmark"), 0, args);
+ timer.Stop();
+ int64_t elapsed_time = timer.TotalElapsedTime();
+ benchmark->set_score(elapsed_time);
+}
+
} // namespace dart
diff --git a/runtime/vm/bootstrap_natives.h b/runtime/vm/bootstrap_natives.h
index aa4ffe8..edb6211 100644
--- a/runtime/vm/bootstrap_natives.h
+++ b/runtime/vm/bootstrap_natives.h
@@ -196,6 +196,11 @@
V(Float32x4_getZ, 1) \
V(Float32x4_getW, 1) \
V(Float32x4_shuffle, 2) \
+ V(Float32x4_withZWInXY, 2) \
+ V(Float32x4_interleaveXY, 2) \
+ V(Float32x4_interleaveZW, 2) \
+ V(Float32x4_interleaveXYPairs, 2) \
+ V(Float32x4_interleaveZWPairs, 2) \
V(Float32x4_setX, 2) \
V(Float32x4_setY, 2) \
V(Float32x4_setZ, 2) \
@@ -243,6 +248,7 @@
V(ClassMirror_name, 1) \
V(ClassMirror_library, 1) \
V(ClassMirror_members, 2) \
+ V(LibraryMirror_members, 2) \
V(ClassMirror_invoke, 4) \
V(ClassMirror_invokeGetter, 3) \
V(ClassMirror_invokeSetter, 4) \
diff --git a/runtime/vm/flow_graph_optimizer.cc b/runtime/vm/flow_graph_optimizer.cc
index 859e22d..8fd9d02 100644
--- a/runtime/vm/flow_graph_optimizer.cc
+++ b/runtime/vm/flow_graph_optimizer.cc
@@ -232,7 +232,7 @@
Token::kBIT_AND,
new Value(left_instr),
new Value(right_instr),
- bit_and_instr->deopt_id());
+ Isolate::kNoDeoptId); // BIT_AND cannot deoptimize.
bit_and_instr->ReplaceWith(smi_op, current_iterator());
}
}
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 598addc..b0bfbe8 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -8264,7 +8264,8 @@
if (count == 0) {
comments = new Comments(Object::empty_array());
} else {
- const Array& data = Array::Handle(Array::New(count * kNumberOfEntries));
+ const Array& data =
+ Array::Handle(Array::New(count * kNumberOfEntries, Heap::kOld));
comments = new Comments(data);
}
return *comments;
@@ -14345,13 +14346,20 @@
}
-RawMirrorReference* MirrorReference::New(Heap::Space space) {
+RawMirrorReference* MirrorReference::New(const Object& referent,
+ Heap::Space space) {
ASSERT(Isolate::Current()->object_store()->mirror_reference_class()
!= Class::null());
- RawObject* raw = Object::Allocate(MirrorReference::kClassId,
- MirrorReference::InstanceSize(),
- space);
- return reinterpret_cast<RawMirrorReference*>(raw);
+ MirrorReference& result = MirrorReference::Handle();
+ {
+ RawObject* raw = Object::Allocate(MirrorReference::kClassId,
+ MirrorReference::InstanceSize(),
+ space);
+ NoGCScope no_gc;
+ result ^= raw;
+ }
+ result.set_referent(referent);
+ return result.raw();
}
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index c3e5d2a..04581ae 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -5898,7 +5898,8 @@
RawLibrary* GetLibraryReferent() const;
- static RawMirrorReference* New(Heap::Space space = Heap::kNew);
+ static RawMirrorReference* New(const Object& referent,
+ Heap::Space space = Heap::kNew);
static intptr_t InstanceSize() {
return RoundedAllocationSize(sizeof(RawMirrorReference));
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index e36d722..fd433b9 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -3180,7 +3180,7 @@
TEST_CASE(MirrorReference) {
const MirrorReference& reference =
- MirrorReference::Handle(MirrorReference::New());
+ MirrorReference::Handle(MirrorReference::New(Object::Handle()));
Object& initial_referent = Object::Handle(reference.referent());
EXPECT(initial_referent.IsNull());
@@ -3193,7 +3193,7 @@
EXPECT_EQ(returned_referent.raw(), library.raw());
const MirrorReference& other_reference =
- MirrorReference::Handle(MirrorReference::New());
+ MirrorReference::Handle(MirrorReference::New(Object::Handle()));
EXPECT_NE(reference.raw(), other_reference.raw());
other_reference.set_referent(library);
EXPECT_NE(reference.raw(), other_reference.raw());
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index 6ec46b3..80e1404 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -401,6 +401,7 @@
static bool IsTypedDataClassId(intptr_t index);
static bool IsTypedDataViewClassId(intptr_t index);
static bool IsExternalTypedDataClassId(intptr_t index);
+ static bool IsImplementationClassId(intptr_t index);
static intptr_t NumberOfTypedDataClasses();
@@ -1627,7 +1628,7 @@
// Make sure this function is updated when new builtin List types are added.
ASSERT(kImmutableArrayCid == kArrayCid + 1 &&
kTypedDataCid == kGrowableObjectArrayCid + 1);
- return ((index >= kArrayCid && index < kImmutableArrayCid) ||
+ return ((index >= kArrayCid && index <= kImmutableArrayCid) ||
(index >= kGrowableObjectArrayCid && index < kTypedDataCid) ||
IsTypedDataClassId(index) ||
IsTypedDataViewClassId(index) ||
@@ -1704,6 +1705,13 @@
}
+inline bool RawObject::IsImplementationClassId(intptr_t index) {
+ return IsBuiltinListClassId(index) ||
+ IsStringClassId(index) ||
+ IsNumberClassId(index);
+}
+
+
inline intptr_t RawObject::NumberOfTypedDataClasses() {
// Make sure this is updated when new TypedData types are added.
ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12);
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index 70305b6..554e419 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -268,6 +268,7 @@
V(_A, "_A") \
V(_SpecialTypeMirrorImpl, "_SpecialTypeMirrorImpl") \
V(_LocalVariableMirrorImpl, "_LocalVariableMirrorImpl") \
+ V(_LocalParameterMirrorImpl, "_LocalParameterMirrorImpl") \
// Contains a list of frequently used strings in a canonicalized form. This
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index ca85edf..c9f131f 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -96,20 +96,6 @@
@DocsEditable()
static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error');
- @JSName('addEventListener')
- @DomName('AbstractWorker.addEventListener')
- @DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
-
- @DomName('AbstractWorker.dispatchEvent')
- @DocsEditable()
- bool dispatchEvent(Event evt) native;
-
- @JSName('removeEventListener')
- @DomName('AbstractWorker.removeEventListener')
- @DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
-
@DomName('AbstractWorker.onerror')
@DocsEditable()
Stream<ErrorEvent> get onError => errorEvent.forTarget(this);
@@ -213,6 +199,39 @@
@DocsEditable()
+@DomName('ANGLEInstancedArrays')
+@Experimental() // untriaged
+class AngleInstancedArrays extends Interceptor native "ANGLEInstancedArrays" {
+
+ @DomName('ANGLEInstancedArrays.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const int VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE;
+
+ @JSName('drawArraysInstancedANGLE')
+ @DomName('ANGLEInstancedArrays.drawArraysInstancedANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void drawArraysInstancedAngle(int mode, int first, int count, int primcount) native;
+
+ @JSName('drawElementsInstancedANGLE')
+ @DomName('ANGLEInstancedArrays.drawElementsInstancedANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void drawElementsInstancedAngle(int mode, int count, int type, int offset, int primcount) native;
+
+ @JSName('vertexAttribDivisorANGLE')
+ @DomName('ANGLEInstancedArrays.vertexAttribDivisorANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void vertexAttribDivisorAngle(int index, int divisor) native;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('WebKitAnimationEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@@ -1634,7 +1653,7 @@
@DocsEditable()
@DomName('CharacterData')
-class CharacterData extends Node native "CharacterData" {
+class CharacterData extends Node implements ChildNode native "CharacterData" {
// To suppress missing implicit constructor warnings.
factory CharacterData._() { throw new UnsupportedError("Not supported"); }
@@ -1646,14 +1665,6 @@
@DocsEditable()
final int length;
- @DomName('CharacterData.nextElementSibling')
- @DocsEditable()
- final Element nextElementSibling;
-
- @DomName('CharacterData.previousElementSibling')
- @DocsEditable()
- final Element previousElementSibling;
-
@DomName('CharacterData.appendData')
@DocsEditable()
void appendData(String data) native;
@@ -1673,6 +1684,32 @@
@DomName('CharacterData.substringData')
@DocsEditable()
String substringData(int offset, int length) native;
+
+ // From ChildNode
+
+ @DomName('CharacterData.nextElementSibling')
+ @DocsEditable()
+ final Element nextElementSibling;
+
+ @DomName('CharacterData.previousElementSibling')
+ @DocsEditable()
+ final Element previousElementSibling;
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('ChildNode')
+@Experimental() // untriaged
+abstract class ChildNode extends Interceptor {
+
+ Element nextElementSibling;
+
+ Element previousElementSibling;
+
+ void remove();
}
// 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
@@ -1961,6 +1998,11 @@
/// Checks if this type is supported on the current platform.
static bool get supported => JS('bool', '!!(window.crypto && window.crypto.getRandomValues)');
+ @DomName('Crypto.subtle')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final SubtleCrypto subtle;
+
@DomName('Crypto.getRandomValues')
@DocsEditable()
@Creates('TypedData')
@@ -2268,7 +2310,7 @@
@deprecated // deprecated
class CssMatrix extends Interceptor native "WebKitCSSMatrix" {
- @DomName('WebKitCSSMatrix.CSSMatrix')
+ @DomName('WebKitCSSMatrix.WebKitCSSMatrix')
@DocsEditable()
factory CssMatrix([String cssValue]) {
if (cssValue != null) {
@@ -2541,6 +2583,11 @@
@deprecated // deprecated
static const int UNKNOWN_RULE = 0;
+ @DomName('CSSRule.VIEWPORT_RULE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const int VIEWPORT_RULE = 15;
+
@DomName('CSSRule.WEBKIT_FILTER_RULE')
@DocsEditable()
// http://www.w3.org/TR/filter-effects/
@@ -6047,10 +6094,16 @@
@DocsEditable()
-@DomName('CustomElementConstructor')
-// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-custom-element-constructor-generation
-@deprecated // experimental
-class CustomElementConstructor extends Interceptor native "CustomElementConstructor" {
+@DomName('CSSViewportRule')
+@Experimental() // untriaged
+class CssViewportRule extends CssRule native "CSSViewportRule" {
+ // To suppress missing implicit constructor warnings.
+ factory CssViewportRule._() { throw new UnsupportedError("Not supported"); }
+
+ @DomName('CSSViewportRule.style')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final CssStyleDeclaration style;
}
// 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
@@ -6750,18 +6803,15 @@
@deprecated // nonstandard
String charset;
- @DomName('Document.childElementCount')
- @DocsEditable()
- final int childElementCount;
-
- @DomName('Document.children')
- @DocsEditable()
- final HtmlCollection children;
-
@DomName('Document.cookie')
@DocsEditable()
String cookie;
+ @DomName('Document.currentScript')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final ScriptElement currentScript;
+
WindowBase get window => _convertNativeToDart_Window(this._get_window);
@JSName('defaultView')
@DomName('Document.window')
@@ -6781,10 +6831,6 @@
@DocsEditable()
final String domain;
- @DomName('Document.firstElementChild')
- @DocsEditable()
- final Element firstElementChild;
-
@DomName('Document.fontloader')
@DocsEditable()
// http://www.w3.org/TR/css3-fonts/#document-fontloader
@@ -6801,10 +6847,6 @@
@DocsEditable()
final DomImplementation implementation;
- @DomName('Document.lastElementChild')
- @DocsEditable()
- final Element lastElementChild;
-
@JSName('lastModified')
/// Moved to [HtmlDocument].
@DomName('Document.lastModified')
@@ -6954,7 +6996,7 @@
@DomName('Document.createNodeIterator')
@DocsEditable()
@Unstable()
- NodeIterator $dom_createNodeIterator(Node root, int whatToShow, NodeFilter filter, bool expandEntityReferences) native;
+ NodeIterator $dom_createNodeIterator(Node root, [int whatToShow, NodeFilter filter, bool expandEntityReferences]) native;
@JSName('createRange')
@DomName('Document.createRange')
@@ -6992,7 +7034,7 @@
@JSName('createTreeWalker')
@DomName('Document.createTreeWalker')
@DocsEditable()
- TreeWalker $dom_createTreeWalker(Node root, int whatToShow, NodeFilter filter, bool expandEntityReferences) native;
+ TreeWalker $dom_createTreeWalker(Node root, [int whatToShow, NodeFilter filter, bool expandEntityReferences]) native;
@JSName('elementFromPoint')
@DomName('Document.elementFromPoint')
@@ -7125,35 +7167,27 @@
// http://www.w3.org/TR/css3-regions/#dom-named-flow-collection
NamedFlowCollection getNamedFlows() native;
- @DomName('Document.webkitRegister')
+ // From ParentNode
+
+ @JSName('childElementCount')
+ @DomName('Document.childElementCount')
@DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- // https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register
- CustomElementConstructor register(String name, [Map options]) {
- if (options != null) {
- var options_1 = convertDartToNative_Dictionary(options);
- return _register_1(name, options_1);
- }
- return _register_2(name);
- }
- @JSName('webkitRegister')
- @DomName('Document.webkitRegister')
+ final int $dom_childElementCount;
+
+ @JSName('children')
+ @DomName('Document.children')
@DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- // https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register
- CustomElementConstructor _register_1(name, options) native;
- @JSName('webkitRegister')
- @DomName('Document.webkitRegister')
+ final HtmlCollection $dom_children;
+
+ @JSName('firstElementChild')
+ @DomName('Document.firstElementChild')
@DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- // https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register
- CustomElementConstructor _register_2(name) native;
+ final Element $dom_firstElementChild;
+
+ @JSName('lastElementChild')
+ @DomName('Document.lastElementChild')
+ @DocsEditable()
+ final Element $dom_lastElementChild;
@DomName('Document.onabort')
@DocsEditable()
@@ -7400,7 +7434,7 @@
@DomName('DocumentFragment')
-class DocumentFragment extends Node native "DocumentFragment" {
+class DocumentFragment extends Node implements ParentNode native "DocumentFragment" {
factory DocumentFragment() => document.createDocumentFragment();
factory DocumentFragment.html(String html) {
@@ -7484,18 +7518,6 @@
// To suppress missing implicit constructor warnings.
factory DocumentFragment._() { throw new UnsupportedError("Not supported"); }
- @DomName('DocumentFragment.childElementCount')
- @DocsEditable()
- final int childElementCount;
-
- @DomName('DocumentFragment.firstElementChild')
- @DocsEditable()
- final Element firstElementChild;
-
- @DomName('DocumentFragment.lastElementChild')
- @DocsEditable()
- final Element lastElementChild;
-
@JSName('querySelector')
@DomName('DocumentFragment.querySelector')
@DocsEditable()
@@ -7508,6 +7530,23 @@
@Creates('NodeList')
List<Node> $dom_querySelectorAll(String selectors) native;
+ // From ParentNode
+
+ @JSName('childElementCount')
+ @DomName('DocumentFragment.childElementCount')
+ @DocsEditable()
+ final int $dom_childElementCount;
+
+ @JSName('firstElementChild')
+ @DomName('DocumentFragment.firstElementChild')
+ @DocsEditable()
+ final Element $dom_firstElementChild;
+
+ @JSName('lastElementChild')
+ @DomName('DocumentFragment.lastElementChild')
+ @DocsEditable()
+ final Element $dom_lastElementChild;
+
}
// 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
@@ -7518,9 +7557,11 @@
@DomName('DocumentType')
// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927
@deprecated // stable
-class DocumentType extends Node native "DocumentType" {
+class DocumentType extends Node implements ChildNode native "DocumentType" {
// To suppress missing implicit constructor warnings.
factory DocumentType._() { throw new UnsupportedError("Not supported"); }
+
+ // From ChildNode
}
// 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
@@ -7531,6 +7572,11 @@
@DomName('DOMError')
class DomError extends Interceptor native "DOMError" {
+ @DomName('DOMError.message')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String message;
+
@DomName('DOMError.name')
@DocsEditable()
final String name;
@@ -8055,7 +8101,7 @@
* An abstract class, which all HTML elements extend.
*/
@DomName('Element')
-abstract class Element extends Node implements ElementTraversal native "Element" {
+abstract class Element extends Node implements ParentNode, ChildNode native "Element" {
/**
* Creates an HTML element from a valid fragment of HTML.
@@ -9145,16 +9191,6 @@
@DocsEditable()
final _NamedNodeMap $dom_attributes;
- @JSName('childElementCount')
- @DomName('Element.childElementCount')
- @DocsEditable()
- final int $dom_childElementCount;
-
- @JSName('children')
- @DomName('Element.children')
- @DocsEditable()
- final HtmlCollection $dom_children;
-
@DomName('Element.className')
@DocsEditable()
String className;
@@ -9175,20 +9211,6 @@
@DocsEditable()
final int clientWidth;
- @JSName('firstElementChild')
- @DomName('Element.firstElementChild')
- @DocsEditable()
- final Element $dom_firstElementChild;
-
- @JSName('lastElementChild')
- @DomName('Element.lastElementChild')
- @DocsEditable()
- final Element $dom_lastElementChild;
-
- @DomName('Element.nextElementSibling')
- @DocsEditable()
- final Element nextElementSibling;
-
@DomName('Element.offsetHeight')
@DocsEditable()
final int offsetHeight;
@@ -9209,10 +9231,6 @@
@DocsEditable()
final int offsetWidth;
- @DomName('Element.previousElementSibling')
- @DocsEditable()
- final Element previousElementSibling;
-
@DomName('Element.scrollHeight')
@DocsEditable()
final int scrollHeight;
@@ -9429,6 +9447,38 @@
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Element-requestPointerLock-void
void requestPointerLock() native;
+ // From ChildNode
+
+ @DomName('Element.nextElementSibling')
+ @DocsEditable()
+ final Element nextElementSibling;
+
+ @DomName('Element.previousElementSibling')
+ @DocsEditable()
+ final Element previousElementSibling;
+
+ // From ParentNode
+
+ @JSName('childElementCount')
+ @DomName('Element.childElementCount')
+ @DocsEditable()
+ final int $dom_childElementCount;
+
+ @JSName('children')
+ @DomName('Element.children')
+ @DocsEditable()
+ final HtmlCollection $dom_children;
+
+ @JSName('firstElementChild')
+ @DomName('Element.firstElementChild')
+ @DocsEditable()
+ final Element $dom_firstElementChild;
+
+ @JSName('lastElementChild')
+ @DomName('Element.lastElementChild')
+ @DocsEditable()
+ final Element $dom_lastElementChild;
+
@DomName('Element.onabort')
@DocsEditable()
Stream<Event> get onAbort => abortEvent.forTarget(this);
@@ -9811,26 +9861,6 @@
@DocsEditable()
-@DomName('ElementTraversal')
-@Unstable()
-abstract class ElementTraversal extends Interceptor {
-
- int $dom_childElementCount;
-
- Element $dom_firstElementChild;
-
- Element $dom_lastElementChild;
-
- Element nextElementSibling;
-
- Element previousElementSibling;
-}
-// 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.
-
-
-@DocsEditable()
@DomName('HTMLEmbedElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE)
@@ -10285,42 +10315,6 @@
void stopPropagation() native;
}
-// 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.
-
-
-@DocsEditable()
-@DomName('EventException')
-@Unstable()
-class EventException extends Interceptor native "EventException" {
-
- @DomName('EventException.DISPATCH_REQUEST_ERR')
- @DocsEditable()
- static const int DISPATCH_REQUEST_ERR = 1;
-
- @DomName('EventException.UNSPECIFIED_EVENT_TYPE_ERR')
- @DocsEditable()
- static const int UNSPECIFIED_EVENT_TYPE_ERR = 0;
-
- @DomName('EventException.code')
- @DocsEditable()
- final int code;
-
- @DomName('EventException.message')
- @DocsEditable()
- @deprecated // nonstandard
- final String message;
-
- @DomName('EventException.name')
- @DocsEditable()
- @deprecated // nonstandard
- final String name;
-
- @DomName('EventException.toString')
- @DocsEditable()
- String toString() native;
-}
// Copyright (c) 2013, 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.
@@ -10976,6 +10970,21 @@
@DocsEditable()
+@DomName('Stream')
+@Experimental() // untriaged
+class FileStream extends Interceptor native "Stream" {
+
+ @DomName('Stream.type')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String type;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('DOMFileSystem')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
@@ -12418,6 +12427,11 @@
@DocsEditable()
final String statusText;
+ @DomName('XMLHttpRequest.timeout')
+ @DocsEditable()
+ @Experimental() // untriaged
+ int timeout;
+
/**
* [EventTarget] that can hold listeners to track the progress of the request.
* The events fired will be members of [HttpRequestUploadEvents].
@@ -14045,7 +14059,7 @@
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/imports/index.html#interface-import
@Experimental()
- final DocumentFragment import;
+ final Document import;
@DomName('HTMLLinkElement.media')
@DocsEditable()
@@ -14155,6 +14169,16 @@
// 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.
+
+
+@DomName('MIDISuccessCallback')
+@Experimental() // untriaged
+typedef void MidiSuccessCallback(MidiAccess access, bool sysexEnabled);
+// 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.
+
@DocsEditable()
@DomName('HTMLMapElement')
@@ -15095,65 +15119,63 @@
@DocsEditable()
-@DomName('WebKitMediaSource')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('MediaSource')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#mediasource
-class MediaSource extends EventTarget native "WebKitMediaSource" {
+@Experimental()
+class MediaSource extends EventTarget native "MediaSource" {
// To suppress missing implicit constructor warnings.
factory MediaSource._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitMediaSource.WebKitMediaSource')
+ @DomName('MediaSource.MediaSource')
@DocsEditable()
factory MediaSource() {
return MediaSource._create_1();
}
- static MediaSource _create_1() => JS('MediaSource', 'new WebKitMediaSource()');
+ static MediaSource _create_1() => JS('MediaSource', 'new MediaSource()');
- @DomName('WebKitMediaSource.activeSourceBuffers')
+ @DomName('MediaSource.activeSourceBuffers')
@DocsEditable()
final SourceBufferList activeSourceBuffers;
- @DomName('WebKitMediaSource.duration')
+ @DomName('MediaSource.duration')
@DocsEditable()
num duration;
- @DomName('WebKitMediaSource.readyState')
+ @DomName('MediaSource.readyState')
@DocsEditable()
final String readyState;
- @DomName('WebKitMediaSource.sourceBuffers')
+ @DomName('MediaSource.sourceBuffers')
@DocsEditable()
final SourceBufferList sourceBuffers;
@JSName('addEventListener')
- @DomName('WebKitMediaSource.addEventListener')
+ @DomName('MediaSource.addEventListener')
@DocsEditable()
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
- @DomName('WebKitMediaSource.addSourceBuffer')
+ @DomName('MediaSource.addSourceBuffer')
@DocsEditable()
SourceBuffer addSourceBuffer(String type) native;
- @DomName('WebKitMediaSource.dispatchEvent')
+ @DomName('MediaSource.dispatchEvent')
@DocsEditable()
bool dispatchEvent(Event event) native;
- @DomName('WebKitMediaSource.endOfStream')
+ @DomName('MediaSource.endOfStream')
@DocsEditable()
void endOfStream(String error) native;
- @DomName('WebKitMediaSource.isTypeSupported')
+ @DomName('MediaSource.isTypeSupported')
@DocsEditable()
static bool isTypeSupported(String type) native;
@JSName('removeEventListener')
- @DomName('WebKitMediaSource.removeEventListener')
+ @DomName('MediaSource.removeEventListener')
@DocsEditable()
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
- @DomName('WebKitMediaSource.removeSourceBuffer')
+ @DomName('MediaSource.removeSourceBuffer')
@DocsEditable()
void removeSourceBuffer(SourceBuffer buffer) native;
}
@@ -15355,6 +15377,11 @@
@DocsEditable()
bool dispatchEvent(Event event) native;
+ @DomName('MediaStreamTrack.getSources')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static void getSources(MediaStreamTrackSourcesCallback callback) native;
+
@JSName('removeEventListener')
@DomName('MediaStreamTrack.removeEventListener')
@DocsEditable()
@@ -15397,6 +15424,16 @@
// 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.
+
+
+@DomName('MediaStreamTrackSourcesCallback')
+@Experimental() // untriaged
+typedef void MediaStreamTrackSourcesCallback(List<SourceInfo> sources);
+// 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.
+
@DocsEditable()
@DomName('MemoryInfo')
@@ -15759,6 +15796,21 @@
@DocsEditable()
+@DomName('MIDIAccessPromise')
+@Experimental() // untriaged
+class MidiAccessPromise extends Interceptor native "MIDIAccessPromise" {
+
+ @DomName('MIDIAccessPromise.then')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void then(MidiSuccessCallback successCallback, MidiErrorCallback errorCallback) native;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('MIDIConnectionEvent')
// http://webaudio.github.io/web-midi-api/#midiconnectionevent-interface
@Experimental()
@@ -16665,6 +16717,27 @@
@Unstable()
void registerProtocolHandler(String scheme, String url, String title) native;
+ @DomName('Navigator.requestMIDIAccess')
+ @DocsEditable()
+ @Experimental() // untriaged
+ MidiAccessPromise requestMidiAccess([Map options]) {
+ if (options != null) {
+ var options_1 = convertDartToNative_Dictionary(options);
+ return _requestMidiAccess_1(options_1);
+ }
+ return _requestMidiAccess_2();
+ }
+ @JSName('requestMIDIAccess')
+ @DomName('Navigator.requestMIDIAccess')
+ @DocsEditable()
+ @Experimental() // untriaged
+ MidiAccessPromise _requestMidiAccess_1(options) native;
+ @JSName('requestMIDIAccess')
+ @DomName('Navigator.requestMIDIAccess')
+ @DocsEditable()
+ @Experimental() // untriaged
+ MidiAccessPromise _requestMidiAccess_2() native;
+
@JSName('webkitGetGamepads')
@DomName('Navigator.webkitGetGamepads')
@DocsEditable()
@@ -17945,6 +18018,24 @@
@DocsEditable()
+@DomName('ParentNode')
+@Experimental() // untriaged
+abstract class ParentNode extends Interceptor {
+
+ int $dom_childElementCount;
+
+ HtmlCollection $dom_children;
+
+ Element $dom_firstElementChild;
+
+ Element $dom_lastElementChild;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('Path')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
@Experimental()
@@ -18654,6 +18745,26 @@
@DocsEditable()
+@DomName('Promise')
+@Experimental() // untriaged
+class Promise extends Interceptor native "Promise" {
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('PromiseResolver')
+@Experimental() // untriaged
+class PromiseResolver extends Interceptor native "PromiseResolver" {
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLQuoteElement')
class QuoteElement extends _HTMLElement native "HTMLQuoteElement" {
// To suppress missing implicit constructor warnings.
@@ -20120,6 +20231,11 @@
@DocsEditable()
String innerHtml;
+ @DomName('ShadowRoot.olderShadowRoot')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final ShadowRoot olderShadowRoot;
+
@DomName('ShadowRoot.resetStyleInheritance')
@DocsEditable()
bool resetStyleInheritance;
@@ -20162,29 +20278,51 @@
@DocsEditable()
-@DomName('WebKitSourceBuffer')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('SourceBuffer')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer
-class SourceBuffer extends Interceptor native "WebKitSourceBuffer" {
+@Experimental()
+class SourceBuffer extends EventTarget native "SourceBuffer" {
+ // To suppress missing implicit constructor warnings.
+ factory SourceBuffer._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitSourceBuffer.buffered')
+ @DomName('SourceBuffer.buffered')
@DocsEditable()
final TimeRanges buffered;
- @DomName('WebKitSourceBuffer.timestampOffset')
+ @DomName('SourceBuffer.timestampOffset')
@DocsEditable()
num timestampOffset;
- @DomName('WebKitSourceBuffer.abort')
+ @DomName('SourceBuffer.updating')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final bool updating;
+
+ @DomName('SourceBuffer.abort')
@DocsEditable()
void abort() native;
- @DomName('WebKitSourceBuffer.append')
+ @JSName('addEventListener')
+ @DomName('SourceBuffer.addEventListener')
@DocsEditable()
- @Experimental() // non-standard
- void append(Uint8List data) native;
+ @Experimental() // untriaged
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
+
+ @DomName('SourceBuffer.appendBuffer')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void appendBuffer(data) native;
+
+ @DomName('SourceBuffer.dispatchEvent')
+ @DocsEditable()
+ @Experimental() // untriaged
+ bool dispatchEvent(Event event) native;
+
+ @JSName('removeEventListener')
+ @DomName('SourceBuffer.removeEventListener')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
}
// 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
@@ -20192,16 +20330,14 @@
@DocsEditable()
-@DomName('WebKitSourceBufferList')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('SourceBufferList')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist
-class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements JavaScriptIndexingBehavior, List<SourceBuffer> native "WebKitSourceBufferList" {
+@Experimental()
+class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements JavaScriptIndexingBehavior, List<SourceBuffer> native "SourceBufferList" {
// To suppress missing implicit constructor warnings.
factory SourceBufferList._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitSourceBufferList.length')
+ @DomName('SourceBufferList.length')
@DocsEditable()
int get length => JS("int", "#.length", this);
@@ -20250,20 +20386,20 @@
// -- end List<SourceBuffer> mixins.
@JSName('addEventListener')
- @DomName('WebKitSourceBufferList.addEventListener')
+ @DomName('SourceBufferList.addEventListener')
@DocsEditable()
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;
- @DomName('WebKitSourceBufferList.dispatchEvent')
+ @DomName('SourceBufferList.dispatchEvent')
@DocsEditable()
bool dispatchEvent(Event event) native;
- @DomName('WebKitSourceBufferList.item')
+ @DomName('SourceBufferList.item')
@DocsEditable()
SourceBuffer item(int index) native;
@JSName('removeEventListener')
- @DomName('WebKitSourceBufferList.removeEventListener')
+ @DomName('SourceBufferList.removeEventListener')
@DocsEditable()
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
}
@@ -20300,6 +20436,36 @@
@DocsEditable()
+@DomName('SourceInfo')
+@Experimental() // untriaged
+class SourceInfo extends Interceptor native "SourceInfo" {
+
+ @DomName('SourceInfo.facing')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String facing;
+
+ @DomName('SourceInfo.id')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String id;
+
+ @DomName('SourceInfo.kind')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String kind;
+
+ @DomName('SourceInfo.label')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String label;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLSpanElement')
class SpanElement extends _HTMLElement native "HTMLSpanElement" {
// To suppress missing implicit constructor warnings.
@@ -21304,6 +21470,16 @@
@DocsEditable()
+@DomName('SubtleCrypto')
+@Experimental() // untriaged
+class SubtleCrypto extends Interceptor native "SubtleCrypto" {
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLTableCaptionElement')
class TableCaptionElement extends _HTMLElement native "HTMLTableCaptionElement" {
// To suppress missing implicit constructor warnings.
@@ -23670,7 +23846,7 @@
@DomName('Window')
-class Window extends EventTarget implements WindowBase native "Window,DOMWindow" {
+class Window extends EventTarget implements WindowBase, WindowTimers native "Window,DOMWindow" {
/**
* Executes a [callback] after the immediate execution stack has completed.
@@ -23812,7 +23988,7 @@
* Note: The supplied [callback] needs to call [requestAnimationFrame] again
* for the animation to continue.
*/
- @DomName('DOMWindow.requestAnimationFrame')
+ @DomName('Window.requestAnimationFrame')
int requestAnimationFrame(RequestAnimationFrameCallback callback) {
_ensureRequestAnimationFrame();
return _requestAnimationFrame(callback);
@@ -23894,7 +24070,7 @@
return _requestFileSystem(persistent? 1 : 0, size);
}
- @DomName('DOMWindow.convertPointFromNodeToPage')
+ @DomName('Window.convertPointFromNodeToPage')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@@ -23904,7 +24080,7 @@
return new Point(result.x, result.y);
}
- @DomName('DOMWindow.convertPointFromPageToNode')
+ @DomName('Window.convertPointFromPageToNode')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@@ -24279,16 +24455,6 @@
@DocsEditable()
String btoa(String string) native;
- @JSName('clearInterval')
- @DomName('Window.clearInterval')
- @DocsEditable()
- void _clearInterval(int handle) native;
-
- @JSName('clearTimeout')
- @DomName('Window.clearTimeout')
- @DocsEditable()
- void _clearTimeout(int handle) native;
-
@DomName('Window.close')
@DocsEditable()
void close() native;
@@ -24396,16 +24562,6 @@
@DocsEditable()
void scrollTo(int x, int y) native;
- @JSName('setInterval')
- @DomName('Window.setInterval')
- @DocsEditable()
- int _setInterval(Object handler, int timeout) native;
-
- @JSName('setTimeout')
- @DomName('Window.setTimeout')
- @DocsEditable()
- int _setTimeout(Object handler, int timeout) native;
-
@DomName('Window.showModalDialog')
@DocsEditable()
@Creates('Null')
@@ -24481,6 +24637,28 @@
return completer.future;
}
+ // From WindowTimers
+
+ @JSName('clearInterval')
+ @DomName('Window.clearInterval')
+ @DocsEditable()
+ void _clearInterval(int handle) native;
+
+ @JSName('clearTimeout')
+ @DomName('Window.clearTimeout')
+ @DocsEditable()
+ void _clearTimeout(int handle) native;
+
+ @JSName('setInterval')
+ @DomName('Window.setInterval')
+ @DocsEditable()
+ int _setInterval(Object handler, int timeout) native;
+
+ @JSName('setTimeout')
+ @DomName('Window.setTimeout')
+ @DocsEditable()
+ int _setTimeout(Object handler, int timeout) native;
+
@DomName('Window.onDOMContentLoaded')
@DocsEditable()
Stream<Event> get onContentLoaded => contentLoadedEvent.forTarget(this);
@@ -24711,12 +24889,12 @@
Stream<AnimationEvent> get onAnimationStart => animationStartEvent.forTarget(this);
- @DomName('DOMWindow.beforeunloadEvent')
+ @DomName('Window.beforeunloadEvent')
@DocsEditable()
static const EventStreamProvider<BeforeUnloadEvent> beforeUnloadEvent =
const _BeforeUnloadEventStreamProvider('beforeunload');
- @DomName('DOMWindow.onbeforeunload')
+ @DomName('Window.onbeforeunload')
@DocsEditable()
Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
@@ -24785,6 +24963,24 @@
@DocsEditable()
+@DomName('WindowTimers')
+@Experimental() // untriaged
+abstract class WindowTimers extends Interceptor {
+
+ void clearInterval(int handle);
+
+ void clearTimeout(int handle);
+
+ int setInterval(Object handler, int timeout);
+
+ int setTimeout(Object handler, int timeout);
+}
+// 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.
+
+
+@DocsEditable()
@DomName('Worker')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@@ -24792,10 +24988,15 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker
@Experimental() // stable
-class Worker extends AbstractWorker native "Worker" {
+class Worker extends EventTarget implements AbstractWorker native "Worker" {
// To suppress missing implicit constructor warnings.
factory Worker._() { throw new UnsupportedError("Not supported"); }
+ @DomName('Worker.errorEvent')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
+
@DomName('Worker.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@@ -24818,6 +25019,11 @@
@DocsEditable()
void terminate() native;
+ @DomName('Worker.onerror')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
@DomName('Worker.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
@@ -24828,6 +25034,35 @@
@DocsEditable()
+@DomName('WorkerCrypto')
+@Experimental() // untriaged
+class WorkerCrypto extends Interceptor native "WorkerCrypto" {
+
+ @DomName('WorkerCrypto.getRandomValues')
+ @DocsEditable()
+ @Experimental() // untriaged
+ @Creates('TypedData')
+ @Returns('TypedData|Null')
+ TypedData getRandomValues(TypedData array) native;
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WorkerPerformance')
+@Experimental() // untriaged
+abstract class WorkerPerformance extends Interceptor {
+
+ num now();
+}
+// 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.
+
+
+@DocsEditable()
@DomName('XPathEvaluator')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
@deprecated // experimental
@@ -24858,43 +25093,6 @@
@DocsEditable()
-@DomName('XPathException')
-// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException
-@deprecated // experimental
-class XPathException extends Interceptor native "XPathException" {
-
- @DomName('XPathException.INVALID_EXPRESSION_ERR')
- @DocsEditable()
- static const int INVALID_EXPRESSION_ERR = 51;
-
- @DomName('XPathException.TYPE_ERR')
- @DocsEditable()
- static const int TYPE_ERR = 52;
-
- @DomName('XPathException.code')
- @DocsEditable()
- final int code;
-
- @DomName('XPathException.message')
- @DocsEditable()
- @Experimental() // non-standard
- final String message;
-
- @DomName('XPathException.name')
- @DocsEditable()
- @Experimental() // non-standard
- final String name;
-
- @DomName('XPathException.toString')
- @DocsEditable()
- String toString() native;
-}
-// 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.
-
-
-@DocsEditable()
@DomName('XPathExpression')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
@deprecated // experimental
@@ -25544,7 +25742,7 @@
@Experimental() // non-standard
class _DomPoint extends Interceptor native "WebKitPoint" {
- @DomName('WebKitPoint.DOMPoint')
+ @DomName('WebKitPoint.WebKitPoint')
@DocsEditable()
factory _DomPoint(num x, num y) {
return _DomPoint._create_1(x, y);
@@ -26060,7 +26258,7 @@
@DomName('SharedWorker')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#shared-workers-and-the-sharedworker-interface
@Experimental()
-abstract class _SharedWorker extends AbstractWorker native "SharedWorker" {
+abstract class _SharedWorker extends EventTarget implements AbstractWorker native "SharedWorker" {
// To suppress missing implicit constructor warnings.
factory _SharedWorker._() { throw new UnsupportedError("Not supported"); }
@@ -26285,12 +26483,59 @@
@DocsEditable()
+@DomName('WebKitMediaSource')
+@Experimental() // untriaged
+abstract class _WebKitMediaSource extends EventTarget native "WebKitMediaSource" {
+ // To suppress missing implicit constructor warnings.
+ factory _WebKitMediaSource._() { throw new UnsupportedError("Not supported"); }
+
+ @DomName('WebKitMediaSource.WebKitMediaSource')
+ @DocsEditable()
+ factory _WebKitMediaSource() {
+ return _WebKitMediaSource._create_1();
+ }
+ static _WebKitMediaSource _create_1() => JS('_WebKitMediaSource', 'new WebKitMediaSource()');
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WebKitSourceBuffer')
+@Experimental() // untriaged
+abstract class _WebKitSourceBuffer extends Interceptor native "WebKitSourceBuffer" {
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WebKitSourceBufferList')
+@Experimental() // untriaged
+abstract class _WebKitSourceBufferList extends EventTarget native "WebKitSourceBufferList" {
+ // To suppress missing implicit constructor warnings.
+ factory _WebKitSourceBufferList._() { throw new UnsupportedError("Not supported"); }
+
+ @JSName('item')
+ @DomName('WebKitSourceBufferList.item')
+ @DocsEditable()
+ @Experimental() // untriaged
+ _WebKitSourceBuffer _item(int index) native;
+}
+// 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.
+
+
+@DocsEditable()
@DomName('WorkerContext')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#WorkerGlobalScope-partial
@Experimental() // stable
-abstract class _WorkerContext extends EventTarget native "WorkerContext" {
- // To suppress missing implicit constructor warnings.
- factory _WorkerContext._() { throw new UnsupportedError("Not supported"); }
+abstract class _WorkerContext extends Interceptor implements EventTarget, WindowTimers native "WorkerContext" {
+
+ // From WindowTimers
}
// 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
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index f817506..2981699 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -108,18 +108,6 @@
@DocsEditable()
static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error');
- @DomName('AbstractWorker.addEventListener')
- @DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "AbstractWorker_addEventListener_Callback";
-
- @DomName('AbstractWorker.dispatchEvent')
- @DocsEditable()
- bool dispatchEvent(Event evt) native "AbstractWorker_dispatchEvent_Callback";
-
- @DomName('AbstractWorker.removeEventListener')
- @DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "AbstractWorker_removeEventListener_Callback";
-
@DomName('AbstractWorker.onerror')
@DocsEditable()
Stream<ErrorEvent> get onError => errorEvent.forTarget(this);
@@ -293,6 +281,39 @@
@DocsEditable()
+@DomName('ANGLEInstancedArrays')
+@Experimental() // untriaged
+class AngleInstancedArrays extends NativeFieldWrapperClass1 {
+
+ @DomName('ANGLEInstancedArrays.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const int VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE;
+
+ @DomName('ANGLEInstancedArrays.drawArraysInstancedANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void drawArraysInstancedAngle(int mode, int first, int count, int primcount) native "ANGLEInstancedArrays_drawArraysInstancedANGLE_Callback";
+
+ @DomName('ANGLEInstancedArrays.drawElementsInstancedANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void drawElementsInstancedAngle(int mode, int count, int type, int offset, int primcount) native "ANGLEInstancedArrays_drawElementsInstancedANGLE_Callback";
+
+ @DomName('ANGLEInstancedArrays.vertexAttribDivisorANGLE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void vertexAttribDivisorAngle(int index, int divisor) native "ANGLEInstancedArrays_vertexAttribDivisorANGLE_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('WebKitAnimationEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@@ -303,11 +324,11 @@
@DomName('WebKitAnimationEvent.animationName')
@DocsEditable()
- String get animationName native "AnimationEvent_animationName_Getter";
+ String get animationName native "WebKitAnimationEvent_animationName_Getter";
@DomName('WebKitAnimationEvent.elapsedTime')
@DocsEditable()
- num get elapsedTime native "AnimationEvent_elapsedTime_Getter";
+ num get elapsedTime native "WebKitAnimationEvent_elapsedTime_Getter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -1945,7 +1966,7 @@
@DocsEditable()
@DomName('CharacterData')
-class CharacterData extends Node {
+class CharacterData extends Node implements ChildNode {
// To suppress missing implicit constructor warnings.
factory CharacterData._() { throw new UnsupportedError("Not supported"); }
@@ -1961,14 +1982,6 @@
@DocsEditable()
int get length native "CharacterData_length_Getter";
- @DomName('CharacterData.nextElementSibling')
- @DocsEditable()
- Element get nextElementSibling native "CharacterData_nextElementSibling_Getter";
-
- @DomName('CharacterData.previousElementSibling')
- @DocsEditable()
- Element get previousElementSibling native "CharacterData_previousElementSibling_Getter";
-
@DomName('CharacterData.appendData')
@DocsEditable()
void appendData(String data) native "CharacterData_appendData_Callback";
@@ -1989,6 +2002,42 @@
@DocsEditable()
String substringData(int offset, int length) native "CharacterData_substringData_Callback";
+ @DomName('CharacterData.nextElementSibling')
+ @DocsEditable()
+ Element get nextElementSibling native "CharacterData_nextElementSibling_Getter";
+
+ @DomName('CharacterData.previousElementSibling')
+ @DocsEditable()
+ Element get previousElementSibling native "CharacterData_previousElementSibling_Getter";
+
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('ChildNode')
+@Experimental() // untriaged
+abstract class ChildNode extends NativeFieldWrapperClass1 {
+
+ @DomName('ChildNode.nextElementSibling')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Element get nextElementSibling native "ChildNode_nextElementSibling_Getter";
+
+ @DomName('ChildNode.previousElementSibling')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Element get previousElementSibling native "ChildNode_previousElementSibling_Getter";
+
+ @DomName('ChildNode.remove')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void remove() native "ChildNode_remove_Callback";
+
}
// 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
@@ -2305,6 +2354,11 @@
/// Checks if this type is supported on the current platform.
static bool get supported => true;
+ @DomName('Crypto.subtle')
+ @DocsEditable()
+ @Experimental() // untriaged
+ SubtleCrypto get subtle native "Crypto_subtle_Getter";
+
@DomName('Crypto.getRandomValues')
@DocsEditable()
TypedData getRandomValues(TypedData array) native "Crypto_getRandomValues_Callback";
@@ -2375,7 +2429,7 @@
@DomName('WebKitCSSFilterRule.style')
@DocsEditable()
- CssStyleDeclaration get style native "CSSFilterRule_style_Getter";
+ CssStyleDeclaration get style native "WebKitCSSFilterRule_style_Getter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -2446,11 +2500,11 @@
@DomName('WebKitCSSFilterValue.operationType')
@DocsEditable()
- int get operationType native "CSSFilterValue_operationType_Getter";
+ int get operationType native "WebKitCSSFilterValue_operationType_Getter";
@DomName('WebKitCSSFilterValue.__getter__')
@DocsEditable()
- _CSSValue __getter__(int index) native "CSSFilterValue___getter___Callback";
+ _CSSValue __getter__(int index) native "WebKitCSSFilterValue___getter___Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -2569,15 +2623,15 @@
@DomName('WebKitCSSKeyframeRule.keyText')
@DocsEditable()
- String get keyText native "CSSKeyframeRule_keyText_Getter";
+ String get keyText native "WebKitCSSKeyframeRule_keyText_Getter";
@DomName('WebKitCSSKeyframeRule.keyText')
@DocsEditable()
- void set keyText(String value) native "CSSKeyframeRule_keyText_Setter";
+ void set keyText(String value) native "WebKitCSSKeyframeRule_keyText_Setter";
@DomName('WebKitCSSKeyframeRule.style')
@DocsEditable()
- CssStyleDeclaration get style native "CSSKeyframeRule_style_Getter";
+ CssStyleDeclaration get style native "WebKitCSSKeyframeRule_style_Getter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -2597,31 +2651,31 @@
@DomName('WebKitCSSKeyframesRule.cssRules')
@DocsEditable()
- List<CssRule> get cssRules native "CSSKeyframesRule_cssRules_Getter";
+ List<CssRule> get cssRules native "WebKitCSSKeyframesRule_cssRules_Getter";
@DomName('WebKitCSSKeyframesRule.name')
@DocsEditable()
- String get name native "CSSKeyframesRule_name_Getter";
+ String get name native "WebKitCSSKeyframesRule_name_Getter";
@DomName('WebKitCSSKeyframesRule.name')
@DocsEditable()
- void set name(String value) native "CSSKeyframesRule_name_Setter";
+ void set name(String value) native "WebKitCSSKeyframesRule_name_Setter";
@DomName('WebKitCSSKeyframesRule.__getter__')
@DocsEditable()
- CssKeyframeRule __getter__(int index) native "CSSKeyframesRule___getter___Callback";
+ CssKeyframeRule __getter__(int index) native "WebKitCSSKeyframesRule___getter___Callback";
@DomName('WebKitCSSKeyframesRule.deleteRule')
@DocsEditable()
- void deleteRule(String key) native "CSSKeyframesRule_deleteRule_Callback";
+ void deleteRule(String key) native "WebKitCSSKeyframesRule_deleteRule_Callback";
@DomName('WebKitCSSKeyframesRule.findRule')
@DocsEditable()
- CssKeyframeRule findRule(String key) native "CSSKeyframesRule_findRule_Callback";
+ CssKeyframeRule findRule(String key) native "WebKitCSSKeyframesRule_findRule_Callback";
@DomName('WebKitCSSKeyframesRule.insertRule')
@DocsEditable()
- void appendRule(String rule) native "CSSKeyframesRule_insertRule_Callback";
+ void appendRule(String rule) native "WebKitCSSKeyframesRule_insertRule_Callback";
}
@@ -2644,230 +2698,230 @@
@deprecated // deprecated
class CssMatrix extends NativeFieldWrapperClass1 {
- @DomName('WebKitCSSMatrix.CSSMatrix')
+ @DomName('WebKitCSSMatrix.WebKitCSSMatrix')
@DocsEditable()
factory CssMatrix([String cssValue]) {
return CssMatrix._create_1(cssValue);
}
@DocsEditable()
- static CssMatrix _create_1(cssValue) native "CSSMatrix__create_1constructorCallback";
+ static CssMatrix _create_1(cssValue) native "WebKitCSSMatrix__create_1constructorCallback";
@DomName('WebKitCSSMatrix.a')
@DocsEditable()
- num get a native "CSSMatrix_a_Getter";
+ num get a native "WebKitCSSMatrix_a_Getter";
@DomName('WebKitCSSMatrix.a')
@DocsEditable()
- void set a(num value) native "CSSMatrix_a_Setter";
+ void set a(num value) native "WebKitCSSMatrix_a_Setter";
@DomName('WebKitCSSMatrix.b')
@DocsEditable()
- num get b native "CSSMatrix_b_Getter";
+ num get b native "WebKitCSSMatrix_b_Getter";
@DomName('WebKitCSSMatrix.b')
@DocsEditable()
- void set b(num value) native "CSSMatrix_b_Setter";
+ void set b(num value) native "WebKitCSSMatrix_b_Setter";
@DomName('WebKitCSSMatrix.c')
@DocsEditable()
- num get c native "CSSMatrix_c_Getter";
+ num get c native "WebKitCSSMatrix_c_Getter";
@DomName('WebKitCSSMatrix.c')
@DocsEditable()
- void set c(num value) native "CSSMatrix_c_Setter";
+ void set c(num value) native "WebKitCSSMatrix_c_Setter";
@DomName('WebKitCSSMatrix.d')
@DocsEditable()
- num get d native "CSSMatrix_d_Getter";
+ num get d native "WebKitCSSMatrix_d_Getter";
@DomName('WebKitCSSMatrix.d')
@DocsEditable()
- void set d(num value) native "CSSMatrix_d_Setter";
+ void set d(num value) native "WebKitCSSMatrix_d_Setter";
@DomName('WebKitCSSMatrix.e')
@DocsEditable()
- num get e native "CSSMatrix_e_Getter";
+ num get e native "WebKitCSSMatrix_e_Getter";
@DomName('WebKitCSSMatrix.e')
@DocsEditable()
- void set e(num value) native "CSSMatrix_e_Setter";
+ void set e(num value) native "WebKitCSSMatrix_e_Setter";
@DomName('WebKitCSSMatrix.f')
@DocsEditable()
- num get f native "CSSMatrix_f_Getter";
+ num get f native "WebKitCSSMatrix_f_Getter";
@DomName('WebKitCSSMatrix.f')
@DocsEditable()
- void set f(num value) native "CSSMatrix_f_Setter";
+ void set f(num value) native "WebKitCSSMatrix_f_Setter";
@DomName('WebKitCSSMatrix.m11')
@DocsEditable()
- num get m11 native "CSSMatrix_m11_Getter";
+ num get m11 native "WebKitCSSMatrix_m11_Getter";
@DomName('WebKitCSSMatrix.m11')
@DocsEditable()
- void set m11(num value) native "CSSMatrix_m11_Setter";
+ void set m11(num value) native "WebKitCSSMatrix_m11_Setter";
@DomName('WebKitCSSMatrix.m12')
@DocsEditable()
- num get m12 native "CSSMatrix_m12_Getter";
+ num get m12 native "WebKitCSSMatrix_m12_Getter";
@DomName('WebKitCSSMatrix.m12')
@DocsEditable()
- void set m12(num value) native "CSSMatrix_m12_Setter";
+ void set m12(num value) native "WebKitCSSMatrix_m12_Setter";
@DomName('WebKitCSSMatrix.m13')
@DocsEditable()
- num get m13 native "CSSMatrix_m13_Getter";
+ num get m13 native "WebKitCSSMatrix_m13_Getter";
@DomName('WebKitCSSMatrix.m13')
@DocsEditable()
- void set m13(num value) native "CSSMatrix_m13_Setter";
+ void set m13(num value) native "WebKitCSSMatrix_m13_Setter";
@DomName('WebKitCSSMatrix.m14')
@DocsEditable()
- num get m14 native "CSSMatrix_m14_Getter";
+ num get m14 native "WebKitCSSMatrix_m14_Getter";
@DomName('WebKitCSSMatrix.m14')
@DocsEditable()
- void set m14(num value) native "CSSMatrix_m14_Setter";
+ void set m14(num value) native "WebKitCSSMatrix_m14_Setter";
@DomName('WebKitCSSMatrix.m21')
@DocsEditable()
- num get m21 native "CSSMatrix_m21_Getter";
+ num get m21 native "WebKitCSSMatrix_m21_Getter";
@DomName('WebKitCSSMatrix.m21')
@DocsEditable()
- void set m21(num value) native "CSSMatrix_m21_Setter";
+ void set m21(num value) native "WebKitCSSMatrix_m21_Setter";
@DomName('WebKitCSSMatrix.m22')
@DocsEditable()
- num get m22 native "CSSMatrix_m22_Getter";
+ num get m22 native "WebKitCSSMatrix_m22_Getter";
@DomName('WebKitCSSMatrix.m22')
@DocsEditable()
- void set m22(num value) native "CSSMatrix_m22_Setter";
+ void set m22(num value) native "WebKitCSSMatrix_m22_Setter";
@DomName('WebKitCSSMatrix.m23')
@DocsEditable()
- num get m23 native "CSSMatrix_m23_Getter";
+ num get m23 native "WebKitCSSMatrix_m23_Getter";
@DomName('WebKitCSSMatrix.m23')
@DocsEditable()
- void set m23(num value) native "CSSMatrix_m23_Setter";
+ void set m23(num value) native "WebKitCSSMatrix_m23_Setter";
@DomName('WebKitCSSMatrix.m24')
@DocsEditable()
- num get m24 native "CSSMatrix_m24_Getter";
+ num get m24 native "WebKitCSSMatrix_m24_Getter";
@DomName('WebKitCSSMatrix.m24')
@DocsEditable()
- void set m24(num value) native "CSSMatrix_m24_Setter";
+ void set m24(num value) native "WebKitCSSMatrix_m24_Setter";
@DomName('WebKitCSSMatrix.m31')
@DocsEditable()
- num get m31 native "CSSMatrix_m31_Getter";
+ num get m31 native "WebKitCSSMatrix_m31_Getter";
@DomName('WebKitCSSMatrix.m31')
@DocsEditable()
- void set m31(num value) native "CSSMatrix_m31_Setter";
+ void set m31(num value) native "WebKitCSSMatrix_m31_Setter";
@DomName('WebKitCSSMatrix.m32')
@DocsEditable()
- num get m32 native "CSSMatrix_m32_Getter";
+ num get m32 native "WebKitCSSMatrix_m32_Getter";
@DomName('WebKitCSSMatrix.m32')
@DocsEditable()
- void set m32(num value) native "CSSMatrix_m32_Setter";
+ void set m32(num value) native "WebKitCSSMatrix_m32_Setter";
@DomName('WebKitCSSMatrix.m33')
@DocsEditable()
- num get m33 native "CSSMatrix_m33_Getter";
+ num get m33 native "WebKitCSSMatrix_m33_Getter";
@DomName('WebKitCSSMatrix.m33')
@DocsEditable()
- void set m33(num value) native "CSSMatrix_m33_Setter";
+ void set m33(num value) native "WebKitCSSMatrix_m33_Setter";
@DomName('WebKitCSSMatrix.m34')
@DocsEditable()
- num get m34 native "CSSMatrix_m34_Getter";
+ num get m34 native "WebKitCSSMatrix_m34_Getter";
@DomName('WebKitCSSMatrix.m34')
@DocsEditable()
- void set m34(num value) native "CSSMatrix_m34_Setter";
+ void set m34(num value) native "WebKitCSSMatrix_m34_Setter";
@DomName('WebKitCSSMatrix.m41')
@DocsEditable()
- num get m41 native "CSSMatrix_m41_Getter";
+ num get m41 native "WebKitCSSMatrix_m41_Getter";
@DomName('WebKitCSSMatrix.m41')
@DocsEditable()
- void set m41(num value) native "CSSMatrix_m41_Setter";
+ void set m41(num value) native "WebKitCSSMatrix_m41_Setter";
@DomName('WebKitCSSMatrix.m42')
@DocsEditable()
- num get m42 native "CSSMatrix_m42_Getter";
+ num get m42 native "WebKitCSSMatrix_m42_Getter";
@DomName('WebKitCSSMatrix.m42')
@DocsEditable()
- void set m42(num value) native "CSSMatrix_m42_Setter";
+ void set m42(num value) native "WebKitCSSMatrix_m42_Setter";
@DomName('WebKitCSSMatrix.m43')
@DocsEditable()
- num get m43 native "CSSMatrix_m43_Getter";
+ num get m43 native "WebKitCSSMatrix_m43_Getter";
@DomName('WebKitCSSMatrix.m43')
@DocsEditable()
- void set m43(num value) native "CSSMatrix_m43_Setter";
+ void set m43(num value) native "WebKitCSSMatrix_m43_Setter";
@DomName('WebKitCSSMatrix.m44')
@DocsEditable()
- num get m44 native "CSSMatrix_m44_Getter";
+ num get m44 native "WebKitCSSMatrix_m44_Getter";
@DomName('WebKitCSSMatrix.m44')
@DocsEditable()
- void set m44(num value) native "CSSMatrix_m44_Setter";
+ void set m44(num value) native "WebKitCSSMatrix_m44_Setter";
@DomName('WebKitCSSMatrix.inverse')
@DocsEditable()
- CssMatrix inverse() native "CSSMatrix_inverse_Callback";
+ CssMatrix inverse() native "WebKitCSSMatrix_inverse_Callback";
@DomName('WebKitCSSMatrix.multiply')
@DocsEditable()
- CssMatrix multiply(CssMatrix secondMatrix) native "CSSMatrix_multiply_Callback";
+ CssMatrix multiply(CssMatrix secondMatrix) native "WebKitCSSMatrix_multiply_Callback";
@DomName('WebKitCSSMatrix.rotate')
@DocsEditable()
- CssMatrix rotate(num rotX, num rotY, num rotZ) native "CSSMatrix_rotate_Callback";
+ CssMatrix rotate(num rotX, num rotY, num rotZ) native "WebKitCSSMatrix_rotate_Callback";
@DomName('WebKitCSSMatrix.rotateAxisAngle')
@DocsEditable()
- CssMatrix rotateAxisAngle(num x, num y, num z, num angle) native "CSSMatrix_rotateAxisAngle_Callback";
+ CssMatrix rotateAxisAngle(num x, num y, num z, num angle) native "WebKitCSSMatrix_rotateAxisAngle_Callback";
@DomName('WebKitCSSMatrix.scale')
@DocsEditable()
- CssMatrix scale(num scaleX, num scaleY, num scaleZ) native "CSSMatrix_scale_Callback";
+ CssMatrix scale(num scaleX, num scaleY, num scaleZ) native "WebKitCSSMatrix_scale_Callback";
@DomName('WebKitCSSMatrix.setMatrixValue')
@DocsEditable()
- void setMatrixValue(String string) native "CSSMatrix_setMatrixValue_Callback";
+ void setMatrixValue(String string) native "WebKitCSSMatrix_setMatrixValue_Callback";
@DomName('WebKitCSSMatrix.skewX')
@DocsEditable()
- CssMatrix skewX(num angle) native "CSSMatrix_skewX_Callback";
+ CssMatrix skewX(num angle) native "WebKitCSSMatrix_skewX_Callback";
@DomName('WebKitCSSMatrix.skewY')
@DocsEditable()
- CssMatrix skewY(num angle) native "CSSMatrix_skewY_Callback";
+ CssMatrix skewY(num angle) native "WebKitCSSMatrix_skewY_Callback";
@DomName('WebKitCSSMatrix.toString')
@DocsEditable()
- String toString() native "CSSMatrix_toString_Callback";
+ String toString() native "WebKitCSSMatrix_toString_Callback";
@DomName('WebKitCSSMatrix.translate')
@DocsEditable()
- CssMatrix translate(num x, num y, num z) native "CSSMatrix_translate_Callback";
+ CssMatrix translate(num x, num y, num z) native "WebKitCSSMatrix_translate_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -2964,7 +3018,7 @@
@DomName('WebKitCSSRegionRule.cssRules')
@DocsEditable()
- List<CssRule> get cssRules native "CSSRegionRule_cssRules_Getter";
+ List<CssRule> get cssRules native "WebKitCSSRegionRule_cssRules_Getter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -3018,6 +3072,11 @@
@deprecated // deprecated
static const int UNKNOWN_RULE = 0;
+ @DomName('CSSRule.VIEWPORT_RULE')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const int VIEWPORT_RULE = 15;
+
@DomName('CSSRule.WEBKIT_FILTER_RULE')
@DocsEditable()
// http://www.w3.org/TR/filter-effects/
@@ -6513,11 +6572,11 @@
@DomName('WebKitCSSTransformValue.operationType')
@DocsEditable()
- int get operationType native "CSSTransformValue_operationType_Getter";
+ int get operationType native "WebKitCSSTransformValue_operationType_Getter";
@DomName('WebKitCSSTransformValue.__getter__')
@DocsEditable()
- _CSSValue __getter__(int index) native "CSSTransformValue___getter___Callback";
+ _CSSValue __getter__(int index) native "WebKitCSSTransformValue___getter___Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -6544,10 +6603,16 @@
@DocsEditable()
-@DomName('CustomElementConstructor')
-// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-custom-element-constructor-generation
-@deprecated // experimental
-class CustomElementConstructor extends NativeFieldWrapperClass1 {
+@DomName('CSSViewportRule')
+@Experimental() // untriaged
+class CssViewportRule extends CssRule {
+ // To suppress missing implicit constructor warnings.
+ factory CssViewportRule._() { throw new UnsupportedError("Not supported"); }
+
+ @DomName('CSSViewportRule.style')
+ @DocsEditable()
+ @Experimental() // untriaged
+ CssStyleDeclaration get style native "CSSViewportRule_style_Getter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -7224,14 +7289,6 @@
@deprecated // nonstandard
void set charset(String value) native "Document_charset_Setter";
- @DomName('Document.childElementCount')
- @DocsEditable()
- int get childElementCount native "Document_childElementCount_Getter";
-
- @DomName('Document.children')
- @DocsEditable()
- HtmlCollection get children native "Document_children_Getter";
-
@DomName('Document.cookie')
@DocsEditable()
String get cookie native "Document_cookie_Getter";
@@ -7240,6 +7297,11 @@
@DocsEditable()
void set cookie(String value) native "Document_cookie_Setter";
+ @DomName('Document.currentScript')
+ @DocsEditable()
+ @Experimental() // untriaged
+ ScriptElement get currentScript native "Document_currentScript_Getter";
+
@DomName('Document.defaultView')
@DocsEditable()
WindowBase get window native "Document_defaultView_Getter";
@@ -7252,10 +7314,6 @@
@DocsEditable()
String get domain native "Document_domain_Getter";
- @DomName('Document.firstElementChild')
- @DocsEditable()
- Element get firstElementChild native "Document_firstElementChild_Getter";
-
@DomName('Document.fontloader')
@DocsEditable()
// http://www.w3.org/TR/css3-fonts/#document-fontloader
@@ -7271,10 +7329,6 @@
@DocsEditable()
DomImplementation get implementation native "Document_implementation_Getter";
- @DomName('Document.lastElementChild')
- @DocsEditable()
- Element get lastElementChild native "Document_lastElementChild_Getter";
-
/// Moved to [HtmlDocument].
@DomName('Document.lastModified')
@DocsEditable()
@@ -7429,10 +7483,26 @@
@DocsEditable()
Event $dom_createEvent(String eventType) native "Document_createEvent_Callback";
- @DomName('Document.createNodeIterator')
- @DocsEditable()
- @Unstable()
- NodeIterator $dom_createNodeIterator(Node root, int whatToShow, NodeFilter filter, bool expandEntityReferences) native "Document_createNodeIterator_Callback";
+ NodeIterator $dom_createNodeIterator(Node root, [int whatToShow, NodeFilter filter, bool expandEntityReferences]) {
+ if (expandEntityReferences != null) {
+ return _createNodeIterator_1(root, whatToShow, filter, expandEntityReferences);
+ }
+ if (filter != null) {
+ return _createNodeIterator_2(root, whatToShow, filter);
+ }
+ if (whatToShow != null) {
+ return _createNodeIterator_3(root, whatToShow);
+ }
+ return _createNodeIterator_4(root);
+ }
+
+ NodeIterator _createNodeIterator_1(root, whatToShow, filter, expandEntityReferences) native "Document__createNodeIterator_1_Callback";
+
+ NodeIterator _createNodeIterator_2(root, whatToShow, filter) native "Document__createNodeIterator_2_Callback";
+
+ NodeIterator _createNodeIterator_3(root, whatToShow) native "Document__createNodeIterator_3_Callback";
+
+ NodeIterator _createNodeIterator_4(root) native "Document__createNodeIterator_4_Callback";
@DomName('Document.createRange')
@DocsEditable()
@@ -7455,9 +7525,26 @@
@Experimental()
TouchList $dom_createTouchList() native "Document_createTouchList_Callback";
- @DomName('Document.createTreeWalker')
- @DocsEditable()
- TreeWalker $dom_createTreeWalker(Node root, int whatToShow, NodeFilter filter, bool expandEntityReferences) native "Document_createTreeWalker_Callback";
+ TreeWalker $dom_createTreeWalker(Node root, [int whatToShow, NodeFilter filter, bool expandEntityReferences]) {
+ if (expandEntityReferences != null) {
+ return _createTreeWalker_1(root, whatToShow, filter, expandEntityReferences);
+ }
+ if (filter != null) {
+ return _createTreeWalker_2(root, whatToShow, filter);
+ }
+ if (whatToShow != null) {
+ return _createTreeWalker_3(root, whatToShow);
+ }
+ return _createTreeWalker_4(root);
+ }
+
+ TreeWalker _createTreeWalker_1(root, whatToShow, filter, expandEntityReferences) native "Document__createTreeWalker_1_Callback";
+
+ TreeWalker _createTreeWalker_2(root, whatToShow, filter) native "Document__createTreeWalker_2_Callback";
+
+ TreeWalker _createTreeWalker_3(root, whatToShow) native "Document__createTreeWalker_3_Callback";
+
+ TreeWalker _createTreeWalker_4(root) native "Document__createTreeWalker_4_Callback";
@DomName('Document.elementFromPoint')
@DocsEditable()
@@ -7581,13 +7668,21 @@
// http://www.w3.org/TR/css3-regions/#dom-named-flow-collection
NamedFlowCollection getNamedFlows() native "Document_webkitGetNamedFlows_Callback";
- @DomName('Document.webkitRegister')
+ @DomName('Document.childElementCount')
@DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- // https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register
- CustomElementConstructor register(String name, [Map options]) native "Document_webkitRegister_Callback";
+ int get $dom_childElementCount native "Document_childElementCount_Getter";
+
+ @DomName('Document.children')
+ @DocsEditable()
+ HtmlCollection get $dom_children native "Document_children_Getter";
+
+ @DomName('Document.firstElementChild')
+ @DocsEditable()
+ Element get $dom_firstElementChild native "Document_firstElementChild_Getter";
+
+ @DomName('Document.lastElementChild')
+ @DocsEditable()
+ Element get $dom_lastElementChild native "Document_lastElementChild_Getter";
@DomName('Document.onabort')
@DocsEditable()
@@ -7834,7 +7929,7 @@
@DomName('DocumentFragment')
-class DocumentFragment extends Node {
+class DocumentFragment extends Node implements ParentNode {
factory DocumentFragment() => document.createDocumentFragment();
factory DocumentFragment.html(String html) {
@@ -7915,18 +8010,6 @@
// To suppress missing implicit constructor warnings.
factory DocumentFragment._() { throw new UnsupportedError("Not supported"); }
- @DomName('DocumentFragment.childElementCount')
- @DocsEditable()
- int get childElementCount native "DocumentFragment_childElementCount_Getter";
-
- @DomName('DocumentFragment.firstElementChild')
- @DocsEditable()
- Element get firstElementChild native "DocumentFragment_firstElementChild_Getter";
-
- @DomName('DocumentFragment.lastElementChild')
- @DocsEditable()
- Element get lastElementChild native "DocumentFragment_lastElementChild_Getter";
-
@DomName('DocumentFragment.querySelector')
@DocsEditable()
Element $dom_querySelector(String selectors) native "DocumentFragment_querySelector_Callback";
@@ -7935,6 +8018,18 @@
@DocsEditable()
List<Node> $dom_querySelectorAll(String selectors) native "DocumentFragment_querySelectorAll_Callback";
+ @DomName('DocumentFragment.childElementCount')
+ @DocsEditable()
+ int get $dom_childElementCount native "DocumentFragment_childElementCount_Getter";
+
+ @DomName('DocumentFragment.firstElementChild')
+ @DocsEditable()
+ Element get $dom_firstElementChild native "DocumentFragment_firstElementChild_Getter";
+
+ @DomName('DocumentFragment.lastElementChild')
+ @DocsEditable()
+ Element get $dom_lastElementChild native "DocumentFragment_lastElementChild_Getter";
+
}
// 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
@@ -7947,7 +8042,7 @@
@DomName('DocumentType')
// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927
@deprecated // stable
-class DocumentType extends Node {
+class DocumentType extends Node implements ChildNode {
// To suppress missing implicit constructor warnings.
factory DocumentType._() { throw new UnsupportedError("Not supported"); }
@@ -7963,6 +8058,11 @@
@DomName('DOMError')
class DomError extends NativeFieldWrapperClass1 {
+ @DomName('DOMError.message')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get message native "DOMError_message_Getter";
+
@DomName('DOMError.name')
@DocsEditable()
String get name native "DOMError_name_Getter";
@@ -8002,15 +8102,15 @@
@DomName('DOMException.message')
@DocsEditable()
- String get message native "DOMCoreException_message_Getter";
+ String get message native "DOMException_message_Getter";
@DomName('DOMException.name')
@DocsEditable()
- String get name native "DOMCoreException_name_Getter";
+ String get name native "DOMException_name_Getter";
@DomName('DOMException.toString')
@DocsEditable()
- String toString() native "DOMCoreException_toString_Callback";
+ String toString() native "DOMException_toString_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -8518,7 +8618,7 @@
* An abstract class, which all HTML elements extend.
*/
@DomName('Element')
-abstract class Element extends Node implements ElementTraversal {
+abstract class Element extends Node implements ParentNode, ChildNode {
/**
* Creates an HTML element from a valid fragment of HTML.
@@ -9429,14 +9529,6 @@
@DocsEditable()
_NamedNodeMap get $dom_attributes native "Element_attributes_Getter";
- @DomName('Element.childElementCount')
- @DocsEditable()
- int get $dom_childElementCount native "Element_childElementCount_Getter";
-
- @DomName('Element.children')
- @DocsEditable()
- HtmlCollection get $dom_children native "Element_children_Getter";
-
@DomName('Element.className')
@DocsEditable()
String get className native "Element_className_Getter";
@@ -9461,18 +9553,6 @@
@DocsEditable()
int get clientWidth native "Element_clientWidth_Getter";
- @DomName('Element.firstElementChild')
- @DocsEditable()
- Element get $dom_firstElementChild native "Element_firstElementChild_Getter";
-
- @DomName('Element.lastElementChild')
- @DocsEditable()
- Element get $dom_lastElementChild native "Element_lastElementChild_Getter";
-
- @DomName('Element.nextElementSibling')
- @DocsEditable()
- Element get nextElementSibling native "Element_nextElementSibling_Getter";
-
@DomName('Element.offsetHeight')
@DocsEditable()
int get offsetHeight native "Element_offsetHeight_Getter";
@@ -9493,10 +9573,6 @@
@DocsEditable()
int get offsetWidth native "Element_offsetWidth_Getter";
- @DomName('Element.previousElementSibling')
- @DocsEditable()
- Element get previousElementSibling native "Element_previousElementSibling_Getter";
-
@DomName('Element.scrollHeight')
@DocsEditable()
int get scrollHeight native "Element_scrollHeight_Getter";
@@ -9626,10 +9702,6 @@
@DocsEditable()
List<Node> $dom_querySelectorAll(String selectors) native "Element_querySelectorAll_Callback";
- @DomName('Element.remove')
- @DocsEditable()
- void remove() native "Element_remove_Callback";
-
@DomName('Element.removeAttribute')
@DocsEditable()
void $dom_removeAttribute(String name) native "Element_removeAttribute_Callback";
@@ -9726,6 +9798,34 @@
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Element-requestPointerLock-void
void requestPointerLock() native "Element_webkitRequestPointerLock_Callback";
+ @DomName('Element.nextElementSibling')
+ @DocsEditable()
+ Element get nextElementSibling native "Element_nextElementSibling_Getter";
+
+ @DomName('Element.previousElementSibling')
+ @DocsEditable()
+ Element get previousElementSibling native "Element_previousElementSibling_Getter";
+
+ @DomName('Element.remove')
+ @DocsEditable()
+ void remove() native "Element_remove_Callback";
+
+ @DomName('Element.childElementCount')
+ @DocsEditable()
+ int get $dom_childElementCount native "Element_childElementCount_Getter";
+
+ @DomName('Element.children')
+ @DocsEditable()
+ HtmlCollection get $dom_children native "Element_children_Getter";
+
+ @DomName('Element.firstElementChild')
+ @DocsEditable()
+ Element get $dom_firstElementChild native "Element_firstElementChild_Getter";
+
+ @DomName('Element.lastElementChild')
+ @DocsEditable()
+ Element get $dom_lastElementChild native "Element_lastElementChild_Getter";
+
@DomName('Element.onabort')
@DocsEditable()
Stream<Event> get onAbort => abortEvent.forTarget(this);
@@ -10118,39 +10218,6 @@
@DocsEditable()
-@DomName('ElementTraversal')
-@Unstable()
-abstract class ElementTraversal extends NativeFieldWrapperClass1 {
-
- @DomName('ElementTraversal.childElementCount')
- @DocsEditable()
- int get $dom_childElementCount native "ElementTraversal_childElementCount_Getter";
-
- @DomName('ElementTraversal.firstElementChild')
- @DocsEditable()
- Element get $dom_firstElementChild native "ElementTraversal_firstElementChild_Getter";
-
- @DomName('ElementTraversal.lastElementChild')
- @DocsEditable()
- Element get $dom_lastElementChild native "ElementTraversal_lastElementChild_Getter";
-
- @DomName('ElementTraversal.nextElementSibling')
- @DocsEditable()
- Element get nextElementSibling native "ElementTraversal_nextElementSibling_Getter";
-
- @DomName('ElementTraversal.previousElementSibling')
- @DocsEditable()
- Element get previousElementSibling native "ElementTraversal_previousElementSibling_Getter";
-
-}
-// 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.
-
-
-@DocsEditable()
@DomName('HTMLEmbedElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE)
@@ -10630,45 +10697,6 @@
void stopPropagation() native "Event_stopPropagation_Callback";
}
-// 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.
-
-
-@DocsEditable()
-@DomName('EventException')
-@Unstable()
-class EventException extends NativeFieldWrapperClass1 {
-
- @DomName('EventException.DISPATCH_REQUEST_ERR')
- @DocsEditable()
- static const int DISPATCH_REQUEST_ERR = 1;
-
- @DomName('EventException.UNSPECIFIED_EVENT_TYPE_ERR')
- @DocsEditable()
- static const int UNSPECIFIED_EVENT_TYPE_ERR = 0;
-
- @DomName('EventException.code')
- @DocsEditable()
- int get code native "EventException_code_Getter";
-
- @DomName('EventException.message')
- @DocsEditable()
- @deprecated // nonstandard
- String get message native "EventException_message_Getter";
-
- @DomName('EventException.name')
- @DocsEditable()
- @deprecated // nonstandard
- String get name native "EventException_name_Getter";
-
- @DomName('EventException.toString')
- @DocsEditable()
- String toString() native "EventException_toString_Callback";
-
-}
// Copyright (c) 2013, 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.
@@ -11345,6 +11373,24 @@
@DocsEditable()
+@DomName('Stream')
+@Experimental() // untriaged
+class FileStream extends NativeFieldWrapperClass1 {
+
+ @DomName('Stream.type')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get type native "Stream_type_Getter";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('DOMFileSystem')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
@@ -12834,6 +12880,16 @@
@DocsEditable()
String get statusText native "XMLHttpRequest_statusText_Getter";
+ @DomName('XMLHttpRequest.timeout')
+ @DocsEditable()
+ @Experimental() // untriaged
+ int get timeout native "XMLHttpRequest_timeout_Getter";
+
+ @DomName('XMLHttpRequest.timeout')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void set timeout(int value) native "XMLHttpRequest_timeout_Setter";
+
/**
* [EventTarget] that can hold listeners to track the progress of the request.
* The events fired will be members of [HttpRequestUploadEvents].
@@ -14786,7 +14842,7 @@
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/imports/index.html#interface-import
@Experimental()
- DocumentFragment get import native "HTMLLinkElement_import_Getter";
+ Document get import native "HTMLLinkElement_import_Getter";
@DomName('HTMLLinkElement.media')
@DocsEditable()
@@ -14945,6 +15001,16 @@
// WARNING: Do not edit - generated code.
+@DomName('MIDISuccessCallback')
+@Experimental() // untriaged
+typedef void MidiSuccessCallback(MidiAccess access, bool sysexEnabled);
+// 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.
+
+
@DocsEditable()
@DomName('HTMLMapElement')
class MapElement extends _HTMLElement {
@@ -16037,71 +16103,69 @@
@DocsEditable()
-@DomName('WebKitMediaSource')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('MediaSource')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#mediasource
+@Experimental()
class MediaSource extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaSource._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitMediaSource.WebKitMediaSource')
+ @DomName('MediaSource.MediaSource')
@DocsEditable()
factory MediaSource() {
return MediaSource._create_1();
}
@DocsEditable()
- static MediaSource _create_1() native "WebKitMediaSource__create_1constructorCallback";
+ static MediaSource _create_1() native "MediaSource__create_1constructorCallback";
- @DomName('WebKitMediaSource.activeSourceBuffers')
+ @DomName('MediaSource.activeSourceBuffers')
@DocsEditable()
- SourceBufferList get activeSourceBuffers native "WebKitMediaSource_activeSourceBuffers_Getter";
+ SourceBufferList get activeSourceBuffers native "MediaSource_activeSourceBuffers_Getter";
- @DomName('WebKitMediaSource.duration')
+ @DomName('MediaSource.duration')
@DocsEditable()
- num get duration native "WebKitMediaSource_duration_Getter";
+ num get duration native "MediaSource_duration_Getter";
- @DomName('WebKitMediaSource.duration')
+ @DomName('MediaSource.duration')
@DocsEditable()
- void set duration(num value) native "WebKitMediaSource_duration_Setter";
+ void set duration(num value) native "MediaSource_duration_Setter";
- @DomName('WebKitMediaSource.readyState')
+ @DomName('MediaSource.readyState')
@DocsEditable()
- String get readyState native "WebKitMediaSource_readyState_Getter";
+ String get readyState native "MediaSource_readyState_Getter";
- @DomName('WebKitMediaSource.sourceBuffers')
+ @DomName('MediaSource.sourceBuffers')
@DocsEditable()
- SourceBufferList get sourceBuffers native "WebKitMediaSource_sourceBuffers_Getter";
+ SourceBufferList get sourceBuffers native "MediaSource_sourceBuffers_Getter";
- @DomName('WebKitMediaSource.addEventListener')
+ @DomName('MediaSource.addEventListener')
@DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitMediaSource_addEventListener_Callback";
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "MediaSource_addEventListener_Callback";
- @DomName('WebKitMediaSource.addSourceBuffer')
+ @DomName('MediaSource.addSourceBuffer')
@DocsEditable()
- SourceBuffer addSourceBuffer(String type) native "WebKitMediaSource_addSourceBuffer_Callback";
+ SourceBuffer addSourceBuffer(String type) native "MediaSource_addSourceBuffer_Callback";
- @DomName('WebKitMediaSource.dispatchEvent')
+ @DomName('MediaSource.dispatchEvent')
@DocsEditable()
- bool dispatchEvent(Event event) native "WebKitMediaSource_dispatchEvent_Callback";
+ bool dispatchEvent(Event event) native "MediaSource_dispatchEvent_Callback";
- @DomName('WebKitMediaSource.endOfStream')
+ @DomName('MediaSource.endOfStream')
@DocsEditable()
- void endOfStream(String error) native "WebKitMediaSource_endOfStream_Callback";
+ void endOfStream(String error) native "MediaSource_endOfStream_Callback";
- @DomName('WebKitMediaSource.isTypeSupported')
+ @DomName('MediaSource.isTypeSupported')
@DocsEditable()
- static bool isTypeSupported(String type) native "WebKitMediaSource_isTypeSupported_Callback";
+ static bool isTypeSupported(String type) native "MediaSource_isTypeSupported_Callback";
- @DomName('WebKitMediaSource.removeEventListener')
+ @DomName('MediaSource.removeEventListener')
@DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitMediaSource_removeEventListener_Callback";
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "MediaSource_removeEventListener_Callback";
- @DomName('WebKitMediaSource.removeSourceBuffer')
+ @DomName('MediaSource.removeSourceBuffer')
@DocsEditable()
- void removeSourceBuffer(SourceBuffer buffer) native "WebKitMediaSource_removeSourceBuffer_Callback";
+ void removeSourceBuffer(SourceBuffer buffer) native "MediaSource_removeSourceBuffer_Callback";
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
@@ -16308,6 +16372,11 @@
@DocsEditable()
bool dispatchEvent(Event event) native "MediaStreamTrack_dispatchEvent_Callback";
+ @DomName('MediaStreamTrack.getSources')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static void getSources(MediaStreamTrackSourcesCallback callback) native "MediaStreamTrack_getSources_Callback";
+
@DomName('MediaStreamTrack.removeEventListener')
@DocsEditable()
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "MediaStreamTrack_removeEventListener_Callback";
@@ -16356,6 +16425,16 @@
// WARNING: Do not edit - generated code.
+@DomName('MediaStreamTrackSourcesCallback')
+@Experimental() // untriaged
+typedef void MediaStreamTrackSourcesCallback(List<SourceInfo> sources);
+// 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.
+
+
@DocsEditable()
@DomName('MemoryInfo')
@Experimental() // nonstandard
@@ -16741,6 +16820,24 @@
@DocsEditable()
+@DomName('MIDIAccessPromise')
+@Experimental() // untriaged
+class MidiAccessPromise extends NativeFieldWrapperClass1 {
+
+ @DomName('MIDIAccessPromise.then')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void then(MidiSuccessCallback successCallback, MidiErrorCallback errorCallback) native "MIDIAccessPromise_then_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('MIDIConnectionEvent')
// http://webaudio.github.io/web-midi-api/#midiconnectionevent-interface
@Experimental()
@@ -17396,39 +17493,39 @@
@DomName('WebKitNamedFlow.firstEmptyRegionIndex')
@DocsEditable()
- int get firstEmptyRegionIndex native "NamedFlow_firstEmptyRegionIndex_Getter";
+ int get firstEmptyRegionIndex native "WebKitNamedFlow_firstEmptyRegionIndex_Getter";
@DomName('WebKitNamedFlow.name')
@DocsEditable()
- String get name native "NamedFlow_name_Getter";
+ String get name native "WebKitNamedFlow_name_Getter";
@DomName('WebKitNamedFlow.overset')
@DocsEditable()
- bool get overset native "NamedFlow_overset_Getter";
+ bool get overset native "WebKitNamedFlow_overset_Getter";
@DomName('WebKitNamedFlow.addEventListener')
@DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "NamedFlow_addEventListener_Callback";
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitNamedFlow_addEventListener_Callback";
@DomName('WebKitNamedFlow.dispatchEvent')
@DocsEditable()
- bool dispatchEvent(Event event) native "NamedFlow_dispatchEvent_Callback";
+ bool dispatchEvent(Event event) native "WebKitNamedFlow_dispatchEvent_Callback";
@DomName('WebKitNamedFlow.getContent')
@DocsEditable()
- List<Node> getContent() native "NamedFlow_getContent_Callback";
+ List<Node> getContent() native "WebKitNamedFlow_getContent_Callback";
@DomName('WebKitNamedFlow.getRegions')
@DocsEditable()
- List<Node> getRegions() native "NamedFlow_getRegions_Callback";
+ List<Node> getRegions() native "WebKitNamedFlow_getRegions_Callback";
@DomName('WebKitNamedFlow.getRegionsByContent')
@DocsEditable()
- List<Node> getRegionsByContent(Node contentNode) native "NamedFlow_getRegionsByContent_Callback";
+ List<Node> getRegionsByContent(Node contentNode) native "WebKitNamedFlow_getRegionsByContent_Callback";
@DomName('WebKitNamedFlow.removeEventListener')
@DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "NamedFlow_removeEventListener_Callback";
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitNamedFlow_removeEventListener_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -17448,19 +17545,19 @@
@DomName('WebKitNamedFlowCollection.length')
@DocsEditable()
- int get length native "DOMNamedFlowCollection_length_Getter";
+ int get length native "WebKitNamedFlowCollection_length_Getter";
@DomName('WebKitNamedFlowCollection.__getter__')
@DocsEditable()
- NamedFlow __getter__(String name) native "DOMNamedFlowCollection___getter___Callback";
+ NamedFlow __getter__(String name) native "WebKitNamedFlowCollection___getter___Callback";
@DomName('WebKitNamedFlowCollection.item')
@DocsEditable()
- NamedFlow item(int index) native "DOMNamedFlowCollection_item_Callback";
+ NamedFlow item(int index) native "WebKitNamedFlowCollection_item_Callback";
@DomName('WebKitNamedFlowCollection.namedItem')
@DocsEditable()
- NamedFlow namedItem(String name) native "DOMNamedFlowCollection_namedItem_Callback";
+ NamedFlow namedItem(String name) native "WebKitNamedFlowCollection_namedItem_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -17636,6 +17733,11 @@
@Unstable()
void registerProtocolHandler(String scheme, String url, String title) native "Navigator_registerProtocolHandler_Callback";
+ @DomName('Navigator.requestMIDIAccess')
+ @DocsEditable()
+ @Experimental() // untriaged
+ MidiAccessPromise requestMidiAccess([Map options]) native "Navigator_requestMIDIAccess_Callback";
+
@DomName('Navigator.webkitGetGamepads')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@@ -19027,6 +19129,39 @@
@DocsEditable()
+@DomName('ParentNode')
+@Experimental() // untriaged
+abstract class ParentNode extends NativeFieldWrapperClass1 {
+
+ @DomName('ParentNode.childElementCount')
+ @DocsEditable()
+ @Experimental() // untriaged
+ int get $dom_childElementCount native "ParentNode_childElementCount_Getter";
+
+ @DomName('ParentNode.children')
+ @DocsEditable()
+ @Experimental() // untriaged
+ HtmlCollection get $dom_children native "ParentNode_children_Getter";
+
+ @DomName('ParentNode.firstElementChild')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Element get $dom_firstElementChild native "ParentNode_firstElementChild_Getter";
+
+ @DomName('ParentNode.lastElementChild')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Element get $dom_lastElementChild native "ParentNode_lastElementChild_Getter";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('Path')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
@Experimental()
@@ -19801,6 +19936,32 @@
@DocsEditable()
+@DomName('Promise')
+@Experimental() // untriaged
+class Promise extends NativeFieldWrapperClass1 {
+
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('PromiseResolver')
+@Experimental() // untriaged
+class PromiseResolver extends NativeFieldWrapperClass1 {
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLQuoteElement')
class QuoteElement extends _HTMLElement {
// To suppress missing implicit constructor warnings.
@@ -21317,6 +21478,11 @@
@DocsEditable()
void set innerHtml(String value) native "ShadowRoot_innerHTML_Setter";
+ @DomName('ShadowRoot.olderShadowRoot')
+ @DocsEditable()
+ @Experimental() // untriaged
+ ShadowRoot get olderShadowRoot native "ShadowRoot_olderShadowRoot_Getter";
+
@DomName('ShadowRoot.resetStyleInheritance')
@DocsEditable()
bool get resetStyleInheritance native "ShadowRoot_resetStyleInheritance_Getter";
@@ -21359,33 +21525,64 @@
@DocsEditable()
-@DomName('WebKitSourceBuffer')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('SourceBuffer')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer
-class SourceBuffer extends NativeFieldWrapperClass1 {
+@Experimental()
+class SourceBuffer extends EventTarget {
+ // To suppress missing implicit constructor warnings.
+ factory SourceBuffer._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitSourceBuffer.buffered')
+ @DomName('SourceBuffer.buffered')
@DocsEditable()
- TimeRanges get buffered native "WebKitSourceBuffer_buffered_Getter";
+ TimeRanges get buffered native "SourceBuffer_buffered_Getter";
- @DomName('WebKitSourceBuffer.timestampOffset')
+ @DomName('SourceBuffer.timestampOffset')
@DocsEditable()
- num get timestampOffset native "WebKitSourceBuffer_timestampOffset_Getter";
+ num get timestampOffset native "SourceBuffer_timestampOffset_Getter";
- @DomName('WebKitSourceBuffer.timestampOffset')
+ @DomName('SourceBuffer.timestampOffset')
@DocsEditable()
- void set timestampOffset(num value) native "WebKitSourceBuffer_timestampOffset_Setter";
+ void set timestampOffset(num value) native "SourceBuffer_timestampOffset_Setter";
- @DomName('WebKitSourceBuffer.abort')
+ @DomName('SourceBuffer.updating')
@DocsEditable()
- void abort() native "WebKitSourceBuffer_abort_Callback";
+ @Experimental() // untriaged
+ bool get updating native "SourceBuffer_updating_Getter";
- @DomName('WebKitSourceBuffer.append')
+ @DomName('SourceBuffer.abort')
@DocsEditable()
- @Experimental() // non-standard
- void append(Uint8List data) native "WebKitSourceBuffer_append_Callback";
+ void abort() native "SourceBuffer_abort_Callback";
+
+ @DomName('SourceBuffer.addEventListener')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "SourceBuffer_addEventListener_Callback";
+
+ void appendBuffer(data) {
+ if ((data is TypedData || data == null)) {
+ _appendBuffer_1(data);
+ return;
+ }
+ if ((data is ByteBuffer || data == null)) {
+ _appendBuffer_2(data);
+ return;
+ }
+ throw new ArgumentError("Incorrect number or type of arguments");
+ }
+
+ void _appendBuffer_1(data) native "SourceBuffer__appendBuffer_1_Callback";
+
+ void _appendBuffer_2(data) native "SourceBuffer__appendBuffer_2_Callback";
+
+ @DomName('SourceBuffer.dispatchEvent')
+ @DocsEditable()
+ @Experimental() // untriaged
+ bool dispatchEvent(Event event) native "SourceBuffer_dispatchEvent_Callback";
+
+ @DomName('SourceBuffer.removeEventListener')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "SourceBuffer_removeEventListener_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -21396,25 +21593,23 @@
@DocsEditable()
-@DomName('WebKitSourceBufferList')
-@SupportedBrowser(SupportedBrowser.CHROME)
-@SupportedBrowser(SupportedBrowser.SAFARI)
-@Experimental()
+@DomName('SourceBufferList')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist
+@Experimental()
class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements List<SourceBuffer> {
// To suppress missing implicit constructor warnings.
factory SourceBufferList._() { throw new UnsupportedError("Not supported"); }
- @DomName('WebKitSourceBufferList.length')
+ @DomName('SourceBufferList.length')
@DocsEditable()
- int get length native "WebKitSourceBufferList_length_Getter";
+ int get length native "SourceBufferList_length_Getter";
SourceBuffer operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _nativeIndexedGetter(index);
}
- SourceBuffer _nativeIndexedGetter(int index) native "WebKitSourceBufferList_item_Callback";
+ SourceBuffer _nativeIndexedGetter(int index) native "SourceBufferList_item_Callback";
void operator[]=(int index, SourceBuffer value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
@@ -21454,21 +21649,21 @@
SourceBuffer elementAt(int index) => this[index];
// -- end List<SourceBuffer> mixins.
- @DomName('WebKitSourceBufferList.addEventListener')
+ @DomName('SourceBufferList.addEventListener')
@DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitSourceBufferList_addEventListener_Callback";
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "SourceBufferList_addEventListener_Callback";
- @DomName('WebKitSourceBufferList.dispatchEvent')
+ @DomName('SourceBufferList.dispatchEvent')
@DocsEditable()
- bool dispatchEvent(Event event) native "WebKitSourceBufferList_dispatchEvent_Callback";
+ bool dispatchEvent(Event event) native "SourceBufferList_dispatchEvent_Callback";
- @DomName('WebKitSourceBufferList.item')
+ @DomName('SourceBufferList.item')
@DocsEditable()
- SourceBuffer item(int index) native "WebKitSourceBufferList_item_Callback";
+ SourceBuffer item(int index) native "SourceBufferList_item_Callback";
- @DomName('WebKitSourceBufferList.removeEventListener')
+ @DomName('SourceBufferList.removeEventListener')
@DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "WebKitSourceBufferList_removeEventListener_Callback";
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "SourceBufferList_removeEventListener_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -21521,6 +21716,39 @@
@DocsEditable()
+@DomName('SourceInfo')
+@Experimental() // untriaged
+class SourceInfo extends NativeFieldWrapperClass1 {
+
+ @DomName('SourceInfo.facing')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get facing native "SourceInfo_facing_Getter";
+
+ @DomName('SourceInfo.id')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get id native "SourceInfo_id_Getter";
+
+ @DomName('SourceInfo.kind')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get kind native "SourceInfo_kind_Getter";
+
+ @DomName('SourceInfo.label')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get label native "SourceInfo_label_Getter";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLSpanElement')
class SpanElement extends _HTMLElement {
// To suppress missing implicit constructor warnings.
@@ -22689,6 +22917,19 @@
@DocsEditable()
+@DomName('SubtleCrypto')
+@Experimental() // untriaged
+class SubtleCrypto extends NativeFieldWrapperClass1 {
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('HTMLTableCaptionElement')
class TableCaptionElement extends _HTMLElement {
// To suppress missing implicit constructor warnings.
@@ -24590,24 +24831,9 @@
@DomName('URL')
class Url extends NativeFieldWrapperClass1 {
- static String createObjectUrl(blob_OR_source_OR_stream) {
- if ((blob_OR_source_OR_stream is MediaSource || blob_OR_source_OR_stream == null)) {
- return _createObjectURL_1(blob_OR_source_OR_stream);
- }
- if ((blob_OR_source_OR_stream is MediaStream || blob_OR_source_OR_stream == null)) {
- return _createObjectURL_2(blob_OR_source_OR_stream);
- }
- if ((blob_OR_source_OR_stream is Blob || blob_OR_source_OR_stream == null)) {
- return _createObjectURL_3(blob_OR_source_OR_stream);
- }
- throw new ArgumentError("Incorrect number or type of arguments");
- }
-
- static String _createObjectURL_1(blob_OR_source_OR_stream) native "URL__createObjectURL_1_Callback";
-
- static String _createObjectURL_2(blob_OR_source_OR_stream) native "URL__createObjectURL_2_Callback";
-
- static String _createObjectURL_3(blob_OR_source_OR_stream) native "URL__createObjectURL_3_Callback";
+ @DomName('URL.createObjectURL')
+ @DocsEditable()
+ static String createObjectUrl(_WebKitMediaSource source) native "URL_createObjectURL_Callback";
@DomName('URL.createObjectUrlFromBlob')
@DocsEditable()
@@ -25130,7 +25356,7 @@
@DomName('Window')
-class Window extends EventTarget implements WindowBase {
+class Window extends EventTarget implements WindowBase, WindowTimers {
/**
* Executes a [callback] after the immediate execution stack has completed.
@@ -25212,7 +25438,7 @@
return _requestFileSystem(persistent? 1 : 0, size);
}
- @DomName('DOMWindow.convertPointFromNodeToPage')
+ @DomName('Window.convertPointFromNodeToPage')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@@ -25222,7 +25448,7 @@
return new Point(result.x, result.y);
}
- @DomName('DOMWindow.convertPointFromPageToNode')
+ @DomName('Window.convertPointFromPageToNode')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@@ -25331,62 +25557,62 @@
@DomName('Window.CSS')
@DocsEditable()
- Css get css native "DOMWindow_CSS_Getter";
+ Css get css native "Window_CSS_Getter";
@DomName('Window.applicationCache')
@DocsEditable()
- ApplicationCache get applicationCache native "DOMWindow_applicationCache_Getter";
+ ApplicationCache get applicationCache native "Window_applicationCache_Getter";
@DomName('Window.closed')
@DocsEditable()
- bool get closed native "DOMWindow_closed_Getter";
+ bool get closed native "Window_closed_Getter";
@DomName('Window.console')
@DocsEditable()
- Console get console native "DOMWindow_console_Getter";
+ Console get console native "Window_console_Getter";
@DomName('Window.crypto')
@DocsEditable()
// http://www.w3.org/TR/WebCryptoAPI/
@Experimental()
- Crypto get crypto native "DOMWindow_crypto_Getter";
+ Crypto get crypto native "Window_crypto_Getter";
@DomName('Window.defaultStatus')
@DocsEditable()
- String get defaultStatus native "DOMWindow_defaultStatus_Getter";
+ String get defaultStatus native "Window_defaultStatus_Getter";
@DomName('Window.defaultStatus')
@DocsEditable()
- void set defaultStatus(String value) native "DOMWindow_defaultStatus_Setter";
+ void set defaultStatus(String value) native "Window_defaultStatus_Setter";
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
- String get defaultstatus native "DOMWindow_defaultstatus_Getter";
+ String get defaultstatus native "Window_defaultstatus_Getter";
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
- void set defaultstatus(String value) native "DOMWindow_defaultstatus_Setter";
+ void set defaultstatus(String value) native "Window_defaultstatus_Setter";
@DomName('Window.devicePixelRatio')
@DocsEditable()
// http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html
@Experimental() // non-standard
- num get devicePixelRatio native "DOMWindow_devicePixelRatio_Getter";
+ num get devicePixelRatio native "Window_devicePixelRatio_Getter";
@DomName('Window.document')
@DocsEditable()
- Document get document native "DOMWindow_document_Getter";
+ Document get document native "Window_document_Getter";
@DomName('Window.event')
@DocsEditable()
@deprecated // deprecated
- Event get event native "DOMWindow_event_Getter";
+ Event get event native "Window_event_Getter";
@DomName('Window.history')
@DocsEditable()
- History get history native "DOMWindow_history_Getter";
+ History get history native "Window_history_Getter";
@DomName('Window.indexedDB')
@DocsEditable()
@@ -25394,157 +25620,157 @@
@SupportedBrowser(SupportedBrowser.FIREFOX, '15')
@SupportedBrowser(SupportedBrowser.IE, '10')
@Experimental()
- IdbFactory get indexedDB native "DOMWindow_indexedDB_Getter";
+ IdbFactory get indexedDB native "Window_indexedDB_Getter";
@DomName('Window.innerHeight')
@DocsEditable()
- int get innerHeight native "DOMWindow_innerHeight_Getter";
+ int get innerHeight native "Window_innerHeight_Getter";
@DomName('Window.innerWidth')
@DocsEditable()
- int get innerWidth native "DOMWindow_innerWidth_Getter";
+ int get innerWidth native "Window_innerWidth_Getter";
@DomName('Window.localStorage')
@DocsEditable()
- Storage get localStorage native "DOMWindow_localStorage_Getter";
+ Storage get localStorage native "Window_localStorage_Getter";
@DomName('Window.location')
@DocsEditable()
- Location get location native "DOMWindow_location_Getter";
+ Location get location native "Window_location_Getter";
@DomName('Window.locationbar')
@DocsEditable()
- BarProp get locationbar native "DOMWindow_locationbar_Getter";
+ BarProp get locationbar native "Window_locationbar_Getter";
@DomName('Window.menubar')
@DocsEditable()
- BarProp get menubar native "DOMWindow_menubar_Getter";
+ BarProp get menubar native "Window_menubar_Getter";
@DomName('Window.name')
@DocsEditable()
- String get name native "DOMWindow_name_Getter";
+ String get name native "Window_name_Getter";
@DomName('Window.name')
@DocsEditable()
- void set name(String value) native "DOMWindow_name_Setter";
+ void set name(String value) native "Window_name_Setter";
@DomName('Window.navigator')
@DocsEditable()
- Navigator get navigator native "DOMWindow_navigator_Getter";
+ Navigator get navigator native "Window_navigator_Getter";
@DomName('Window.offscreenBuffering')
@DocsEditable()
@Experimental() // non-standard
- bool get offscreenBuffering native "DOMWindow_offscreenBuffering_Getter";
+ bool get offscreenBuffering native "Window_offscreenBuffering_Getter";
@DomName('Window.opener')
@DocsEditable()
- WindowBase get opener native "DOMWindow_opener_Getter";
+ WindowBase get opener native "Window_opener_Getter";
@DomName('Window.outerHeight')
@DocsEditable()
- int get outerHeight native "DOMWindow_outerHeight_Getter";
+ int get outerHeight native "Window_outerHeight_Getter";
@DomName('Window.outerWidth')
@DocsEditable()
- int get outerWidth native "DOMWindow_outerWidth_Getter";
+ int get outerWidth native "Window_outerWidth_Getter";
@DomName('Window.pageXOffset')
@DocsEditable()
- int get pageXOffset native "DOMWindow_pageXOffset_Getter";
+ int get pageXOffset native "Window_pageXOffset_Getter";
@DomName('Window.pageYOffset')
@DocsEditable()
- int get pageYOffset native "DOMWindow_pageYOffset_Getter";
+ int get pageYOffset native "Window_pageYOffset_Getter";
@DomName('Window.parent')
@DocsEditable()
- WindowBase get parent native "DOMWindow_parent_Getter";
+ WindowBase get parent native "Window_parent_Getter";
@DomName('Window.performance')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE)
- Performance get performance native "DOMWindow_performance_Getter";
+ Performance get performance native "Window_performance_Getter";
@DomName('Window.personalbar')
@DocsEditable()
// https://developer.mozilla.org/en-US/docs/DOM/window.personalbar
@deprecated // deprecated
- BarProp get personalbar native "DOMWindow_personalbar_Getter";
+ BarProp get personalbar native "Window_personalbar_Getter";
@DomName('Window.screen')
@DocsEditable()
- Screen get screen native "DOMWindow_screen_Getter";
+ Screen get screen native "Window_screen_Getter";
@DomName('Window.screenLeft')
@DocsEditable()
- int get screenLeft native "DOMWindow_screenLeft_Getter";
+ int get screenLeft native "Window_screenLeft_Getter";
@DomName('Window.screenTop')
@DocsEditable()
- int get screenTop native "DOMWindow_screenTop_Getter";
+ int get screenTop native "Window_screenTop_Getter";
@DomName('Window.screenX')
@DocsEditable()
- int get screenX native "DOMWindow_screenX_Getter";
+ int get screenX native "Window_screenX_Getter";
@DomName('Window.screenY')
@DocsEditable()
- int get screenY native "DOMWindow_screenY_Getter";
+ int get screenY native "Window_screenY_Getter";
@DomName('Window.scrollX')
@DocsEditable()
- int get scrollX native "DOMWindow_scrollX_Getter";
+ int get scrollX native "Window_scrollX_Getter";
@DomName('Window.scrollY')
@DocsEditable()
- int get scrollY native "DOMWindow_scrollY_Getter";
+ int get scrollY native "Window_scrollY_Getter";
@DomName('Window.scrollbars')
@DocsEditable()
- BarProp get scrollbars native "DOMWindow_scrollbars_Getter";
+ BarProp get scrollbars native "Window_scrollbars_Getter";
@DomName('Window.self')
@DocsEditable()
- WindowBase get self native "DOMWindow_self_Getter";
+ WindowBase get self native "Window_self_Getter";
@DomName('Window.sessionStorage')
@DocsEditable()
- Storage get sessionStorage native "DOMWindow_sessionStorage_Getter";
+ Storage get sessionStorage native "Window_sessionStorage_Getter";
@DomName('Window.speechSynthesis')
@DocsEditable()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
- SpeechSynthesis get speechSynthesis native "DOMWindow_speechSynthesis_Getter";
+ SpeechSynthesis get speechSynthesis native "Window_speechSynthesis_Getter";
@DomName('Window.status')
@DocsEditable()
- String get status native "DOMWindow_status_Getter";
+ String get status native "Window_status_Getter";
@DomName('Window.status')
@DocsEditable()
- void set status(String value) native "DOMWindow_status_Setter";
+ void set status(String value) native "Window_status_Setter";
@DomName('Window.statusbar')
@DocsEditable()
- BarProp get statusbar native "DOMWindow_statusbar_Getter";
+ BarProp get statusbar native "Window_statusbar_Getter";
@DomName('Window.styleMedia')
@DocsEditable()
// http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html
@Experimental() // nonstandard
- StyleMedia get styleMedia native "DOMWindow_styleMedia_Getter";
+ StyleMedia get styleMedia native "Window_styleMedia_Getter";
@DomName('Window.toolbar')
@DocsEditable()
- BarProp get toolbar native "DOMWindow_toolbar_Getter";
+ BarProp get toolbar native "Window_toolbar_Getter";
@DomName('Window.top')
@DocsEditable()
- WindowBase get top native "DOMWindow_top_Getter";
+ WindowBase get top native "Window_top_Getter";
@DomName('Window.webkitNotifications')
@DocsEditable()
@@ -25553,7 +25779,7 @@
@Experimental()
// https://plus.sandbox.google.com/u/0/+GoogleChromeDevelopers/posts/8vWo8hq4pDm?e=Showroom
@deprecated // deprecated
- NotificationCenter get notifications native "DOMWindow_webkitNotifications_Getter";
+ NotificationCenter get notifications native "Window_webkitNotifications_Getter";
@DomName('Window.webkitStorageInfo')
@DocsEditable()
@@ -25562,11 +25788,11 @@
@Experimental()
// http://www.w3.org/TR/file-system-api/
@deprecated // deprecated
- StorageInfo get storageInfo native "DOMWindow_webkitStorageInfo_Getter";
+ StorageInfo get storageInfo native "Window_webkitStorageInfo_Getter";
@DomName('Window.window')
@DocsEditable()
- WindowBase get window native "DOMWindow_window_Getter";
+ WindowBase get window native "Window_window_Getter";
WindowBase __getter__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
@@ -25578,83 +25804,75 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- WindowBase ___getter___1(index_OR_name) native "DOMWindow____getter___1_Callback";
+ WindowBase ___getter___1(index_OR_name) native "Window____getter___1_Callback";
- WindowBase ___getter___2(index_OR_name) native "DOMWindow____getter___2_Callback";
+ WindowBase ___getter___2(index_OR_name) native "Window____getter___2_Callback";
@DomName('Window.addEventListener')
@DocsEditable()
- void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "DOMWindow_addEventListener_Callback";
+ void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "Window_addEventListener_Callback";
@DomName('Window.alert')
@DocsEditable()
- void alert(String message) native "DOMWindow_alert_Callback";
+ void alert(String message) native "Window_alert_Callback";
@DomName('Window.atob')
@DocsEditable()
- String atob(String string) native "DOMWindow_atob_Callback";
+ String atob(String string) native "Window_atob_Callback";
@DomName('Window.btoa')
@DocsEditable()
- String btoa(String string) native "DOMWindow_btoa_Callback";
+ String btoa(String string) native "Window_btoa_Callback";
@DomName('Window.cancelAnimationFrame')
@DocsEditable()
- void cancelAnimationFrame(int id) native "DOMWindow_cancelAnimationFrame_Callback";
-
- @DomName('Window.clearInterval')
- @DocsEditable()
- void _clearInterval(int handle) native "DOMWindow_clearInterval_Callback";
-
- @DomName('Window.clearTimeout')
- @DocsEditable()
- void _clearTimeout(int handle) native "DOMWindow_clearTimeout_Callback";
+ void cancelAnimationFrame(int id) native "Window_cancelAnimationFrame_Callback";
@DomName('Window.close')
@DocsEditable()
- void close() native "DOMWindow_close_Callback";
+ void close() native "Window_close_Callback";
@DomName('Window.confirm')
@DocsEditable()
- bool confirm(String message) native "DOMWindow_confirm_Callback";
+ bool confirm(String message) native "Window_confirm_Callback";
@DomName('Window.dispatchEvent')
@DocsEditable()
- bool dispatchEvent(Event evt) native "DOMWindow_dispatchEvent_Callback";
+ bool dispatchEvent(Event evt) native "Window_dispatchEvent_Callback";
@DomName('Window.find')
@DocsEditable()
@Experimental() // non-standard
- bool find(String string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) native "DOMWindow_find_Callback";
+ bool find(String string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) native "Window_find_Callback";
@DomName('Window.getComputedStyle')
@DocsEditable()
- CssStyleDeclaration $dom_getComputedStyle(Element element, String pseudoElement) native "DOMWindow_getComputedStyle_Callback";
+ CssStyleDeclaration $dom_getComputedStyle(Element element, String pseudoElement) native "Window_getComputedStyle_Callback";
@DomName('Window.getMatchedCSSRules')
@DocsEditable()
@Experimental() // non-standard
- List<CssRule> getMatchedCssRules(Element element, String pseudoElement) native "DOMWindow_getMatchedCSSRules_Callback";
+ List<CssRule> getMatchedCssRules(Element element, String pseudoElement) native "Window_getMatchedCSSRules_Callback";
@DomName('Window.getSelection')
@DocsEditable()
- Selection getSelection() native "DOMWindow_getSelection_Callback";
+ Selection getSelection() native "Window_getSelection_Callback";
@DomName('Window.matchMedia')
@DocsEditable()
- MediaQueryList matchMedia(String query) native "DOMWindow_matchMedia_Callback";
+ MediaQueryList matchMedia(String query) native "Window_matchMedia_Callback";
@DomName('Window.moveBy')
@DocsEditable()
- void moveBy(num x, num y) native "DOMWindow_moveBy_Callback";
+ void moveBy(num x, num y) native "Window_moveBy_Callback";
@DomName('Window.moveTo')
@DocsEditable()
- void $dom_moveTo(num x, num y) native "DOMWindow_moveTo_Callback";
+ void $dom_moveTo(num x, num y) native "Window_moveTo_Callback";
@DomName('Window.open')
@DocsEditable()
- WindowBase open(String url, String name, [String options]) native "DOMWindow_open_Callback";
+ WindowBase open(String url, String name, [String options]) native "Window_open_Callback";
@DomName('Window.openDatabase')
@DocsEditable()
@@ -25663,63 +25881,55 @@
@Experimental()
// http://www.w3.org/TR/webdatabase/
@Experimental() // deprecated
- SqlDatabase openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) native "DOMWindow_openDatabase_Callback";
+ SqlDatabase openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) native "Window_openDatabase_Callback";
@DomName('Window.postMessage')
@DocsEditable()
- void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List messagePorts]) native "DOMWindow_postMessage_Callback";
+ void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List messagePorts]) native "Window_postMessage_Callback";
@DomName('Window.print')
@DocsEditable()
- void print() native "DOMWindow_print_Callback";
+ void print() native "Window_print_Callback";
@DomName('Window.removeEventListener')
@DocsEditable()
- void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "DOMWindow_removeEventListener_Callback";
+ void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "Window_removeEventListener_Callback";
@DomName('Window.requestAnimationFrame')
@DocsEditable()
- int requestAnimationFrame(RequestAnimationFrameCallback callback) native "DOMWindow_requestAnimationFrame_Callback";
+ int requestAnimationFrame(RequestAnimationFrameCallback callback) native "Window_requestAnimationFrame_Callback";
@DomName('Window.resizeBy')
@DocsEditable()
- void resizeBy(num x, num y) native "DOMWindow_resizeBy_Callback";
+ void resizeBy(num x, num y) native "Window_resizeBy_Callback";
@DomName('Window.resizeTo')
@DocsEditable()
- void resizeTo(num width, num height) native "DOMWindow_resizeTo_Callback";
+ void resizeTo(num width, num height) native "Window_resizeTo_Callback";
@DomName('Window.scroll')
@DocsEditable()
- void scroll(int x, int y) native "DOMWindow_scroll_Callback";
+ void scroll(int x, int y) native "Window_scroll_Callback";
@DomName('Window.scrollBy')
@DocsEditable()
- void scrollBy(int x, int y) native "DOMWindow_scrollBy_Callback";
+ void scrollBy(int x, int y) native "Window_scrollBy_Callback";
@DomName('Window.scrollTo')
@DocsEditable()
- void scrollTo(int x, int y) native "DOMWindow_scrollTo_Callback";
-
- @DomName('Window.setInterval')
- @DocsEditable()
- int _setInterval(Object handler, int timeout) native "DOMWindow_setInterval_Callback";
-
- @DomName('Window.setTimeout')
- @DocsEditable()
- int _setTimeout(Object handler, int timeout) native "DOMWindow_setTimeout_Callback";
+ void scrollTo(int x, int y) native "Window_scrollTo_Callback";
@DomName('Window.showModalDialog')
@DocsEditable()
- Object showModalDialog(String url, [Object dialogArgs, String featureArgs]) native "DOMWindow_showModalDialog_Callback";
+ Object showModalDialog(String url, [Object dialogArgs, String featureArgs]) native "Window_showModalDialog_Callback";
@DomName('Window.stop')
@DocsEditable()
- void stop() native "DOMWindow_stop_Callback";
+ void stop() native "Window_stop_Callback";
@DomName('Window.toString')
@DocsEditable()
- String toString() native "DOMWindow_toString_Callback";
+ String toString() native "Window_toString_Callback";
@DomName('Window.webkitConvertPointFromNodeToPage')
@DocsEditable()
@@ -25727,7 +25937,7 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html
- _DomPoint _convertPointFromNodeToPage(Node node, _DomPoint p) native "DOMWindow_webkitConvertPointFromNodeToPage_Callback";
+ _DomPoint _convertPointFromNodeToPage(Node node, _DomPoint p) native "Window_webkitConvertPointFromNodeToPage_Callback";
@DomName('Window.webkitConvertPointFromPageToNode')
@DocsEditable()
@@ -25735,14 +25945,14 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html
- _DomPoint _convertPointFromPageToNode(Node node, _DomPoint p) native "DOMWindow_webkitConvertPointFromPageToNode_Callback";
+ _DomPoint _convertPointFromPageToNode(Node node, _DomPoint p) native "Window_webkitConvertPointFromPageToNode_Callback";
@DomName('Window.webkitRequestFileSystem')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
- void __requestFileSystem(int type, int size, _FileSystemCallback successCallback, [_ErrorCallback errorCallback]) native "DOMWindow_webkitRequestFileSystem_Callback";
+ void __requestFileSystem(int type, int size, _FileSystemCallback successCallback, [_ErrorCallback errorCallback]) native "Window_webkitRequestFileSystem_Callback";
Future<FileSystem> _requestFileSystem(int type, int size) {
var completer = new Completer<FileSystem>();
@@ -25757,7 +25967,7 @@
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
- void _resolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) native "DOMWindow_webkitResolveLocalFileSystemURL_Callback";
+ void _resolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) native "Window_webkitResolveLocalFileSystemURL_Callback";
Future<Entry> resolveLocalFileSystemUrl(String url) {
var completer = new Completer<Entry>();
@@ -25767,6 +25977,22 @@
return completer.future;
}
+ @DomName('Window.clearInterval')
+ @DocsEditable()
+ void _clearInterval(int handle) native "Window_clearInterval_Callback";
+
+ @DomName('Window.clearTimeout')
+ @DocsEditable()
+ void _clearTimeout(int handle) native "Window_clearTimeout_Callback";
+
+ @DomName('Window.setInterval')
+ @DocsEditable()
+ int _setInterval(Object handler, int timeout) native "Window_setInterval_Callback";
+
+ @DomName('Window.setTimeout')
+ @DocsEditable()
+ int _setTimeout(Object handler, int timeout) native "Window_setTimeout_Callback";
+
@DomName('Window.onDOMContentLoaded')
@DocsEditable()
Stream<Event> get onContentLoaded => contentLoadedEvent.forTarget(this);
@@ -25997,12 +26223,12 @@
Stream<AnimationEvent> get onAnimationStart => animationStartEvent.forTarget(this);
- @DomName('DOMWindow.beforeunloadEvent')
+ @DomName('Window.beforeunloadEvent')
@DocsEditable()
static const EventStreamProvider<BeforeUnloadEvent> beforeUnloadEvent =
const _BeforeUnloadEventStreamProvider('beforeunload');
- @DomName('DOMWindow.onbeforeunload')
+ @DomName('Window.onbeforeunload')
@DocsEditable()
Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
@@ -26068,6 +26294,39 @@
@DocsEditable()
+@DomName('WindowTimers')
+@Experimental() // untriaged
+abstract class WindowTimers extends NativeFieldWrapperClass1 {
+
+ @DomName('WindowTimers.clearInterval')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void clearInterval(int handle) native "WindowTimers_clearInterval_Callback";
+
+ @DomName('WindowTimers.clearTimeout')
+ @DocsEditable()
+ @Experimental() // untriaged
+ void clearTimeout(int handle) native "WindowTimers_clearTimeout_Callback";
+
+ @DomName('WindowTimers.setInterval')
+ @DocsEditable()
+ @Experimental() // untriaged
+ int setInterval(Object handler, int timeout) native "WindowTimers_setInterval_Callback";
+
+ @DomName('WindowTimers.setTimeout')
+ @DocsEditable()
+ @Experimental() // untriaged
+ int setTimeout(Object handler, int timeout) native "WindowTimers_setTimeout_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('Worker')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@@ -26075,10 +26334,15 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker
@Experimental() // stable
-class Worker extends AbstractWorker {
+class Worker extends EventTarget implements AbstractWorker {
// To suppress missing implicit constructor warnings.
factory Worker._() { throw new UnsupportedError("Not supported"); }
+ @DomName('Worker.errorEvent')
+ @DocsEditable()
+ @Experimental() // untriaged
+ static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
+
@DomName('Worker.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@@ -26103,6 +26367,11 @@
@DocsEditable()
void terminate() native "Worker_terminate_Callback";
+ @DomName('Worker.onerror')
+ @DocsEditable()
+ @Experimental() // untriaged
+ Stream<Event> get onError => errorEvent.forTarget(this);
+
@DomName('Worker.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
@@ -26116,6 +26385,42 @@
@DocsEditable()
+@DomName('WorkerCrypto')
+@Experimental() // untriaged
+class WorkerCrypto extends NativeFieldWrapperClass1 {
+
+ @DomName('WorkerCrypto.getRandomValues')
+ @DocsEditable()
+ @Experimental() // untriaged
+ TypedData getRandomValues(TypedData array) native "WorkerCrypto_getRandomValues_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WorkerPerformance')
+@Experimental() // untriaged
+abstract class WorkerPerformance extends NativeFieldWrapperClass1 {
+
+ @DomName('WorkerPerformance.now')
+ @DocsEditable()
+ @Experimental() // untriaged
+ num now() native "WorkerPerformance_now_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('XPathEvaluator')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
@deprecated // experimental
@@ -26151,46 +26456,6 @@
@DocsEditable()
-@DomName('XPathException')
-// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException
-@deprecated // experimental
-class XPathException extends NativeFieldWrapperClass1 {
-
- @DomName('XPathException.INVALID_EXPRESSION_ERR')
- @DocsEditable()
- static const int INVALID_EXPRESSION_ERR = 51;
-
- @DomName('XPathException.TYPE_ERR')
- @DocsEditable()
- static const int TYPE_ERR = 52;
-
- @DomName('XPathException.code')
- @DocsEditable()
- int get code native "XPathException_code_Getter";
-
- @DomName('XPathException.message')
- @DocsEditable()
- @Experimental() // non-standard
- String get message native "XPathException_message_Getter";
-
- @DomName('XPathException.name')
- @DocsEditable()
- @Experimental() // non-standard
- String get name native "XPathException_name_Getter";
-
- @DomName('XPathException.toString')
- @DocsEditable()
- String toString() native "XPathException_toString_Callback";
-
-}
-// 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.
-
-
-@DocsEditable()
@DomName('XPathExpression')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
@deprecated // experimental
@@ -26901,31 +27166,31 @@
@Experimental() // non-standard
class _DomPoint extends NativeFieldWrapperClass1 {
- @DomName('WebKitPoint.DOMPoint')
+ @DomName('WebKitPoint.WebKitPoint')
@DocsEditable()
factory _DomPoint(num x, num y) => _create(x, y);
@DocsEditable()
- static _DomPoint _create(x, y) native "DOMPoint_constructorCallback";
+ static _DomPoint _create(x, y) native "WebKitPoint_constructorCallback";
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('WebKitPoint.x')
@DocsEditable()
- num get x native "DOMPoint_x_Getter";
+ num get x native "WebKitPoint_x_Getter";
@DomName('WebKitPoint.x')
@DocsEditable()
- void set x(num value) native "DOMPoint_x_Setter";
+ void set x(num value) native "WebKitPoint_x_Setter";
@DomName('WebKitPoint.y')
@DocsEditable()
- num get y native "DOMPoint_y_Getter";
+ num get y native "WebKitPoint_y_Getter";
@DomName('WebKitPoint.y')
@DocsEditable()
- void set y(num value) native "DOMPoint_y_Setter";
+ void set y(num value) native "WebKitPoint_y_Setter";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -27647,7 +27912,7 @@
@DomName('SharedWorker')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#shared-workers-and-the-sharedworker-interface
@Experimental()
-abstract class _SharedWorker extends AbstractWorker {
+abstract class _SharedWorker extends EventTarget implements AbstractWorker {
// To suppress missing implicit constructor warnings.
factory _SharedWorker._() { throw new UnsupportedError("Not supported"); }
@@ -27888,12 +28153,67 @@
@DocsEditable()
+@DomName('WebKitMediaSource')
+@Experimental() // untriaged
+abstract class _WebKitMediaSource extends EventTarget {
+ // To suppress missing implicit constructor warnings.
+ factory _WebKitMediaSource._() { throw new UnsupportedError("Not supported"); }
+
+ @DomName('WebKitMediaSource.WebKitMediaSource')
+ @DocsEditable()
+ factory _WebKitMediaSource() {
+ return _WebKitMediaSource._create_1();
+ }
+
+ @DocsEditable()
+ static _WebKitMediaSource _create_1() native "WebKitMediaSource__create_1constructorCallback";
+
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WebKitSourceBuffer')
+@Experimental() // untriaged
+abstract class _WebKitSourceBuffer extends NativeFieldWrapperClass1 {
+
+}
+// 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.
+
+
+@DocsEditable()
+@DomName('WebKitSourceBufferList')
+@Experimental() // untriaged
+abstract class _WebKitSourceBufferList extends EventTarget {
+ // To suppress missing implicit constructor warnings.
+ factory _WebKitSourceBufferList._() { throw new UnsupportedError("Not supported"); }
+
+ @DomName('WebKitSourceBufferList.item')
+ @DocsEditable()
+ @Experimental() // untriaged
+ _WebKitSourceBuffer _item(int index) native "WebKitSourceBufferList_item_Callback";
+
+}
+// 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.
+
+
+@DocsEditable()
@DomName('WorkerContext')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#WorkerGlobalScope-partial
@Experimental() // stable
-abstract class _WorkerContext extends EventTarget {
- // To suppress missing implicit constructor warnings.
- factory _WorkerContext._() { throw new UnsupportedError("Not supported"); }
+abstract class _WorkerContext extends NativeFieldWrapperClass1 implements EventTarget, WindowTimers {
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -31628,20 +31948,20 @@
_DOMWindowCrossFrame.internal();
// Fields.
- HistoryBase get history native "DOMWindow_history_cross_frame_Getter";
- LocationBase get location native "DOMWindow_location_cross_frame_Getter";
- bool get closed native "DOMWindow_closed_Getter";
- int get length native "DOMWindow_length_Getter";
- WindowBase get opener native "DOMWindow_opener_Getter";
- WindowBase get parent native "DOMWindow_parent_Getter";
- WindowBase get top native "DOMWindow_top_Getter";
+ HistoryBase get history native "Window_history_cross_frame_Getter";
+ LocationBase get location native "Window_location_cross_frame_Getter";
+ bool get closed native "Window_closed_Getter";
+ int get length native "Window_length_Getter";
+ WindowBase get opener native "Window_opener_Getter";
+ WindowBase get parent native "Window_parent_Getter";
+ WindowBase get top native "Window_top_Getter";
// Methods.
- void close() native "DOMWindow_close_Callback";
- void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List messagePorts]) native "DOMWindow_postMessage_Callback";
+ void close() native "Window_close_Callback";
+ void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List messagePorts]) native "Window_postMessage_Callback";
// Implementation support.
- String get typeName => "DOMWindow";
+ String get typeName => "Window";
}
class _HistoryCrossFrame extends NativeFieldWrapperClass1 implements HistoryBase {
diff --git a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
index 0b00a166..41ec3f4 100644
--- a/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
+++ b/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart
@@ -1149,14 +1149,6 @@
@DocsEditable()
final Transaction transaction;
- @JSName('webkitErrorMessage')
- @DomName('IDBRequest.webkitErrorMessage')
- @DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- final String errorMessage;
-
@JSName('addEventListener')
@DomName('IDBRequest.addEventListener')
@DocsEditable()
@@ -1240,14 +1232,6 @@
@DocsEditable()
final String mode;
- @JSName('webkitErrorMessage')
- @DomName('IDBTransaction.webkitErrorMessage')
- @DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- final String errorMessage;
-
@DomName('IDBTransaction.abort')
@DocsEditable()
void abort() native;
@@ -1295,6 +1279,11 @@
// To suppress missing implicit constructor warnings.
factory VersionChangeEvent._() { throw new UnsupportedError("Not supported"); }
+ @DomName('IDBVersionChangeEvent.dataLoss')
+ @DocsEditable()
+ @Experimental() // untriaged
+ final String dataLoss;
+
@DomName('IDBVersionChangeEvent.newVersion')
@DocsEditable()
@Creates('int|String|Null')
diff --git a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
index e48be2a..015c8ee 100644
--- a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
+++ b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
@@ -980,13 +980,6 @@
@DocsEditable()
Transaction get transaction native "IDBRequest_transaction_Getter";
- @DomName('IDBRequest.webkitErrorMessage')
- @DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- String get errorMessage native "IDBRequest_webkitErrorMessage_Getter";
-
@DomName('IDBRequest.addEventListener')
@DocsEditable()
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native "IDBRequest_addEventListener_Callback";
@@ -1069,13 +1062,6 @@
@DocsEditable()
String get mode native "IDBTransaction_mode_Getter";
- @DomName('IDBTransaction.webkitErrorMessage')
- @DocsEditable()
- @SupportedBrowser(SupportedBrowser.CHROME)
- @SupportedBrowser(SupportedBrowser.SAFARI)
- @Experimental()
- String get errorMessage native "IDBTransaction_webkitErrorMessage_Getter";
-
@DomName('IDBTransaction.abort')
@DocsEditable()
void abort() native "IDBTransaction_abort_Callback";
@@ -1123,6 +1109,11 @@
// To suppress missing implicit constructor warnings.
factory VersionChangeEvent._() { throw new UnsupportedError("Not supported"); }
+ @DomName('IDBVersionChangeEvent.dataLoss')
+ @DocsEditable()
+ @Experimental() // untriaged
+ String get dataLoss native "IDBVersionChangeEvent_dataLoss_Getter";
+
@DomName('IDBVersionChangeEvent.newVersion')
@DocsEditable()
dynamic get newVersion native "IDBVersionChangeEvent_newVersion_Getter";
diff --git a/sdk/lib/svg/dart2js/svg_dart2js.dart b/sdk/lib/svg/dart2js/svg_dart2js.dart
index e481c15..ba93b3a 100644
--- a/sdk/lib/svg/dart2js/svg_dart2js.dart
+++ b/sdk/lib/svg/dart2js/svg_dart2js.dart
@@ -64,7 +64,7 @@
@DocsEditable()
@DomName('SVGAElement')
@Unstable()
-class AElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace native "SVGAElement" {
+class AElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace native "SVGAElement" {
// To suppress missing implicit constructor warnings.
factory AElement._() { throw new UnsupportedError("Not supported"); }
@@ -530,7 +530,7 @@
@DocsEditable()
@DomName('SVGAnimationElement')
@Unstable()
-class AnimationElement extends SvgElement implements Tests, ElementTimeControl, ExternalResourcesRequired native "SVGAnimationElement" {
+class AnimationElement extends SvgElement implements ExternalResourcesRequired, ElementTimeControl, Tests native "SVGAnimationElement" {
// To suppress missing implicit constructor warnings.
factory AnimationElement._() { throw new UnsupportedError("Not supported"); }
@@ -604,7 +604,7 @@
@DocsEditable()
@DomName('SVGCircleElement')
@Unstable()
-class CircleElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGCircleElement" {
+class CircleElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGCircleElement" {
// To suppress missing implicit constructor warnings.
factory CircleElement._() { throw new UnsupportedError("Not supported"); }
@@ -700,7 +700,7 @@
@DocsEditable()
@DomName('SVGClipPathElement')
@Unstable()
-class ClipPathElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGClipPathElement" {
+class ClipPathElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGClipPathElement" {
// To suppress missing implicit constructor warnings.
factory ClipPathElement._() { throw new UnsupportedError("Not supported"); }
@@ -788,7 +788,7 @@
@DocsEditable()
@DomName('SVGDefsElement')
@Unstable()
-class DefsElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGDefsElement" {
+class DefsElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGDefsElement" {
// To suppress missing implicit constructor warnings.
factory DefsElement._() { throw new UnsupportedError("Not supported"); }
@@ -1268,7 +1268,7 @@
@DocsEditable()
@DomName('SVGEllipseElement')
@Unstable()
-class EllipseElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGEllipseElement" {
+class EllipseElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGEllipseElement" {
// To suppress missing implicit constructor warnings.
factory EllipseElement._() { throw new UnsupportedError("Not supported"); }
@@ -2849,7 +2849,7 @@
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
-class ForeignObjectElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGForeignObjectElement" {
+class ForeignObjectElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGForeignObjectElement" {
// To suppress missing implicit constructor warnings.
factory ForeignObjectElement._() { throw new UnsupportedError("Not supported"); }
@@ -2952,7 +2952,7 @@
@DocsEditable()
@DomName('SVGGElement')
@Unstable()
-class GElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGGElement" {
+class GElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGGElement" {
// To suppress missing implicit constructor warnings.
factory GElement._() { throw new UnsupportedError("Not supported"); }
@@ -3036,7 +3036,7 @@
@DocsEditable()
@DomName('SVGImageElement')
@Unstable()
-class ImageElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace native "SVGImageElement" {
+class ImageElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace native "SVGImageElement" {
// To suppress missing implicit constructor warnings.
factory ImageElement._() { throw new UnsupportedError("Not supported"); }
@@ -3329,7 +3329,7 @@
@DocsEditable()
@DomName('SVGLineElement')
@Unstable()
-class LineElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGLineElement" {
+class LineElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGLineElement" {
// To suppress missing implicit constructor warnings.
factory LineElement._() { throw new UnsupportedError("Not supported"); }
@@ -3585,7 +3585,7 @@
@DocsEditable()
@DomName('SVGMaskElement')
@Unstable()
-class MaskElement extends StyledElement implements Tests, ExternalResourcesRequired, LangSpace native "SVGMaskElement" {
+class MaskElement extends StyledElement implements ExternalResourcesRequired, Tests, LangSpace native "SVGMaskElement" {
// To suppress missing implicit constructor warnings.
factory MaskElement._() { throw new UnsupportedError("Not supported"); }
@@ -3851,7 +3851,7 @@
@DocsEditable()
@DomName('SVGPathElement')
@Unstable()
-class PathElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGPathElement" {
+class PathElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGPathElement" {
// To suppress missing implicit constructor warnings.
factory PathElement._() { throw new UnsupportedError("Not supported"); }
@@ -4708,7 +4708,7 @@
@DocsEditable()
@DomName('SVGPatternElement')
@Unstable()
-class PatternElement extends StyledElement implements FitToViewBox, UriReference, Tests, ExternalResourcesRequired, LangSpace native "SVGPatternElement" {
+class PatternElement extends StyledElement implements FitToViewBox, UriReference, ExternalResourcesRequired, Tests, LangSpace native "SVGPatternElement" {
// To suppress missing implicit constructor warnings.
factory PatternElement._() { throw new UnsupportedError("Not supported"); }
@@ -4866,7 +4866,7 @@
@DocsEditable()
@DomName('SVGPolygonElement')
@Unstable()
-class PolygonElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGPolygonElement" {
+class PolygonElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGPolygonElement" {
// To suppress missing implicit constructor warnings.
factory PolygonElement._() { throw new UnsupportedError("Not supported"); }
@@ -4958,7 +4958,7 @@
@DocsEditable()
@DomName('SVGPolylineElement')
@Unstable()
-class PolylineElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGPolylineElement" {
+class PolylineElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGPolylineElement" {
// To suppress missing implicit constructor warnings.
factory PolylineElement._() { throw new UnsupportedError("Not supported"); }
@@ -5190,7 +5190,7 @@
@DocsEditable()
@DomName('SVGRectElement')
@Unstable()
-class RectElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGRectElement" {
+class RectElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGRectElement" {
// To suppress missing implicit constructor warnings.
factory RectElement._() { throw new UnsupportedError("Not supported"); }
@@ -5713,46 +5713,6 @@
// BSD-style license that can be found in the LICENSE file.
-@DocsEditable()
-@DomName('SVGException')
-@Unstable()
-class SvgException extends Interceptor native "SVGException" {
-
- @DomName('SVGException.SVG_INVALID_VALUE_ERR')
- @DocsEditable()
- static const int SVG_INVALID_VALUE_ERR = 1;
-
- @DomName('SVGException.SVG_MATRIX_NOT_INVERTABLE')
- @DocsEditable()
- static const int SVG_MATRIX_NOT_INVERTABLE = 2;
-
- @DomName('SVGException.SVG_WRONG_TYPE_ERR')
- @DocsEditable()
- static const int SVG_WRONG_TYPE_ERR = 0;
-
- @DomName('SVGException.code')
- @DocsEditable()
- final int code;
-
- @DomName('SVGException.message')
- @DocsEditable()
- @Experimental() // nonstandard
- final String message;
-
- @DomName('SVGException.name')
- @DocsEditable()
- @Experimental() // nonstandard
- final String name;
-
- @DomName('SVGException.toString')
- @DocsEditable()
- String toString() native;
-}
-// 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.
-
-
@DomName('SVGSVGElement')
@Unstable()
class SvgSvgElement extends StyledElement implements FitToViewBox, Transformable, Tests, ExternalResourcesRequired, ZoomAndPan, LangSpace native "SVGSVGElement" {
@@ -6018,7 +5978,7 @@
@DocsEditable()
@DomName('SVGSwitchElement')
@Unstable()
-class SwitchElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace native "SVGSwitchElement" {
+class SwitchElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace native "SVGSwitchElement" {
// To suppress missing implicit constructor warnings.
factory SwitchElement._() { throw new UnsupportedError("Not supported"); }
@@ -6178,7 +6138,7 @@
@DocsEditable()
@DomName('SVGTextContentElement')
@Unstable()
-class TextContentElement extends StyledElement implements Tests, ExternalResourcesRequired, LangSpace native "SVGTextContentElement" {
+class TextContentElement extends StyledElement implements ExternalResourcesRequired, Tests, LangSpace native "SVGTextContentElement" {
// To suppress missing implicit constructor warnings.
factory TextContentElement._() { throw new UnsupportedError("Not supported"); }
@@ -6673,7 +6633,7 @@
@DocsEditable()
@DomName('SVGUseElement')
@Unstable()
-class UseElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace native "SVGUseElement" {
+class UseElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace native "SVGUseElement" {
// To suppress missing implicit constructor warnings.
factory UseElement._() { throw new UnsupportedError("Not supported"); }
@@ -6829,12 +6789,7 @@
@DocsEditable()
@DomName('SVGViewSpec')
@Unstable()
-class ViewSpec extends Interceptor native "SVGViewSpec" {
-
- @DomName('SVGViewSpec.preserveAspectRatio')
- @DocsEditable()
- @Experimental() // nonstandard
- final AnimatedPreserveAspectRatio preserveAspectRatio;
+class ViewSpec extends Interceptor implements FitToViewBox native "SVGViewSpec" {
@DomName('SVGViewSpec.preserveAspectRatioString')
@DocsEditable()
@@ -6848,11 +6803,6 @@
@DocsEditable()
final String transformString;
- @DomName('SVGViewSpec.viewBox')
- @DocsEditable()
- @Experimental() // nonstandard
- final AnimatedRect viewBox;
-
@DomName('SVGViewSpec.viewBoxString')
@DocsEditable()
final String viewBoxString;
@@ -6869,6 +6819,18 @@
@DocsEditable()
@Experimental() // nonstandard
int zoomAndPan;
+
+ // From SVGFitToViewBox
+
+ @DomName('SVGViewSpec.preserveAspectRatio')
+ @DocsEditable()
+ @Experimental() // nonstandard
+ final AnimatedPreserveAspectRatio preserveAspectRatio;
+
+ @DomName('SVGViewSpec.viewBox')
+ @DocsEditable()
+ @Experimental() // nonstandard
+ final AnimatedRect viewBox;
}
// 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
@@ -7109,7 +7071,7 @@
@DocsEditable()
@DomName('SVGCursorElement')
@Unstable()
-abstract class _SVGCursorElement extends SvgElement implements UriReference, Tests, ExternalResourcesRequired native "SVGCursorElement" {
+abstract class _SVGCursorElement extends SvgElement implements UriReference, ExternalResourcesRequired, Tests native "SVGCursorElement" {
// To suppress missing implicit constructor warnings.
factory _SVGCursorElement._() { throw new UnsupportedError("Not supported"); }
diff --git a/sdk/lib/svg/dartium/svg_dartium.dart b/sdk/lib/svg/dartium/svg_dartium.dart
index 98774f3..0e76bcc 100644
--- a/sdk/lib/svg/dartium/svg_dartium.dart
+++ b/sdk/lib/svg/dartium/svg_dartium.dart
@@ -63,7 +63,7 @@
@DocsEditable()
@DomName('SVGAElement')
@Unstable()
-class AElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace {
+class AElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory AElement._() { throw new UnsupportedError("Not supported"); }
@@ -615,7 +615,7 @@
@DocsEditable()
@DomName('SVGAnimationElement')
@Unstable()
-class AnimationElement extends SvgElement implements Tests, ElementTimeControl, ExternalResourcesRequired {
+class AnimationElement extends SvgElement implements ExternalResourcesRequired, ElementTimeControl, Tests {
// To suppress missing implicit constructor warnings.
factory AnimationElement._() { throw new UnsupportedError("Not supported"); }
@@ -686,7 +686,7 @@
@DocsEditable()
@DomName('SVGCircleElement')
@Unstable()
-class CircleElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class CircleElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory CircleElement._() { throw new UnsupportedError("Not supported"); }
@@ -781,7 +781,7 @@
@DocsEditable()
@DomName('SVGClipPathElement')
@Unstable()
-class ClipPathElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class ClipPathElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory ClipPathElement._() { throw new UnsupportedError("Not supported"); }
@@ -868,7 +868,7 @@
@DocsEditable()
@DomName('SVGDefsElement')
@Unstable()
-class DefsElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class DefsElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory DefsElement._() { throw new UnsupportedError("Not supported"); }
@@ -1357,7 +1357,7 @@
@DocsEditable()
@DomName('SVGEllipseElement')
@Unstable()
-class EllipseElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class EllipseElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory EllipseElement._() { throw new UnsupportedError("Not supported"); }
@@ -3009,7 +3009,7 @@
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
-class ForeignObjectElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class ForeignObjectElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory ForeignObjectElement._() { throw new UnsupportedError("Not supported"); }
@@ -3111,7 +3111,7 @@
@DocsEditable()
@DomName('SVGGElement')
@Unstable()
-class GElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class GElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory GElement._() { throw new UnsupportedError("Not supported"); }
@@ -3194,7 +3194,7 @@
@DocsEditable()
@DomName('SVGImageElement')
@Unstable()
-class ImageElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace {
+class ImageElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory ImageElement._() { throw new UnsupportedError("Not supported"); }
@@ -3518,7 +3518,7 @@
@DocsEditable()
@DomName('SVGLineElement')
@Unstable()
-class LineElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class LineElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory LineElement._() { throw new UnsupportedError("Not supported"); }
@@ -3796,7 +3796,7 @@
@DocsEditable()
@DomName('SVGMaskElement')
@Unstable()
-class MaskElement extends StyledElement implements Tests, ExternalResourcesRequired, LangSpace {
+class MaskElement extends StyledElement implements ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory MaskElement._() { throw new UnsupportedError("Not supported"); }
@@ -4108,7 +4108,7 @@
@DocsEditable()
@DomName('SVGPathElement')
@Unstable()
-class PathElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class PathElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory PathElement._() { throw new UnsupportedError("Not supported"); }
@@ -5241,7 +5241,7 @@
@DocsEditable()
@DomName('SVGPatternElement')
@Unstable()
-class PatternElement extends StyledElement implements FitToViewBox, UriReference, Tests, ExternalResourcesRequired, LangSpace {
+class PatternElement extends StyledElement implements FitToViewBox, UriReference, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory PatternElement._() { throw new UnsupportedError("Not supported"); }
@@ -5414,7 +5414,7 @@
@DocsEditable()
@DomName('SVGPolygonElement')
@Unstable()
-class PolygonElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class PolygonElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory PolygonElement._() { throw new UnsupportedError("Not supported"); }
@@ -5505,7 +5505,7 @@
@DocsEditable()
@DomName('SVGPolylineElement')
@Unstable()
-class PolylineElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class PolylineElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory PolylineElement._() { throw new UnsupportedError("Not supported"); }
@@ -5769,7 +5769,7 @@
@DocsEditable()
@DomName('SVGRectElement')
@Unstable()
-class RectElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class RectElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory RectElement._() { throw new UnsupportedError("Not supported"); }
@@ -6336,49 +6336,6 @@
// 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.
-
-
-@DocsEditable()
-@DomName('SVGException')
-@Unstable()
-class SvgException extends NativeFieldWrapperClass1 {
-
- @DomName('SVGException.SVG_INVALID_VALUE_ERR')
- @DocsEditable()
- static const int SVG_INVALID_VALUE_ERR = 1;
-
- @DomName('SVGException.SVG_MATRIX_NOT_INVERTABLE')
- @DocsEditable()
- static const int SVG_MATRIX_NOT_INVERTABLE = 2;
-
- @DomName('SVGException.SVG_WRONG_TYPE_ERR')
- @DocsEditable()
- static const int SVG_WRONG_TYPE_ERR = 0;
-
- @DomName('SVGException.code')
- @DocsEditable()
- int get code native "SVGException_code_Getter";
-
- @DomName('SVGException.message')
- @DocsEditable()
- @Experimental() // nonstandard
- String get message native "SVGException_message_Getter";
-
- @DomName('SVGException.name')
- @DocsEditable()
- @Experimental() // nonstandard
- String get name native "SVGException_name_Getter";
-
- @DomName('SVGException.toString')
- @DocsEditable()
- String toString() native "SVGException_toString_Callback";
-
-}
-// 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.
-
@DomName('SVGSVGElement')
@Unstable()
@@ -6643,7 +6600,7 @@
@DocsEditable()
@DomName('SVGSwitchElement')
@Unstable()
-class SwitchElement extends StyledElement implements Transformable, Tests, ExternalResourcesRequired, LangSpace {
+class SwitchElement extends StyledElement implements Transformable, ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory SwitchElement._() { throw new UnsupportedError("Not supported"); }
@@ -6821,7 +6778,7 @@
@DocsEditable()
@DomName('SVGTextContentElement')
@Unstable()
-class TextContentElement extends StyledElement implements Tests, ExternalResourcesRequired, LangSpace {
+class TextContentElement extends StyledElement implements ExternalResourcesRequired, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory TextContentElement._() { throw new UnsupportedError("Not supported"); }
@@ -7360,7 +7317,7 @@
@DocsEditable()
@DomName('SVGUseElement')
@Unstable()
-class UseElement extends StyledElement implements UriReference, Tests, Transformable, ExternalResourcesRequired, LangSpace {
+class UseElement extends StyledElement implements Transformable, ExternalResourcesRequired, UriReference, Tests, LangSpace {
// To suppress missing implicit constructor warnings.
factory UseElement._() { throw new UnsupportedError("Not supported"); }
@@ -7514,12 +7471,7 @@
@DocsEditable()
@DomName('SVGViewSpec')
@Unstable()
-class ViewSpec extends NativeFieldWrapperClass1 {
-
- @DomName('SVGViewSpec.preserveAspectRatio')
- @DocsEditable()
- @Experimental() // nonstandard
- AnimatedPreserveAspectRatio get preserveAspectRatio native "SVGViewSpec_preserveAspectRatio_Getter";
+class ViewSpec extends NativeFieldWrapperClass1 implements FitToViewBox {
@DomName('SVGViewSpec.preserveAspectRatioString')
@DocsEditable()
@@ -7533,11 +7485,6 @@
@DocsEditable()
String get transformString native "SVGViewSpec_transformString_Getter";
- @DomName('SVGViewSpec.viewBox')
- @DocsEditable()
- @Experimental() // nonstandard
- AnimatedRect get viewBox native "SVGViewSpec_viewBox_Getter";
-
@DomName('SVGViewSpec.viewBoxString')
@DocsEditable()
String get viewBoxString native "SVGViewSpec_viewBoxString_Getter";
@@ -7560,6 +7507,16 @@
@Experimental() // nonstandard
void set zoomAndPan(int value) native "SVGViewSpec_zoomAndPan_Setter";
+ @DomName('SVGViewSpec.preserveAspectRatio')
+ @DocsEditable()
+ @Experimental() // nonstandard
+ AnimatedPreserveAspectRatio get preserveAspectRatio native "SVGViewSpec_preserveAspectRatio_Getter";
+
+ @DomName('SVGViewSpec.viewBox')
+ @DocsEditable()
+ @Experimental() // nonstandard
+ AnimatedRect get viewBox native "SVGViewSpec_viewBox_Getter";
+
}
// 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
@@ -7829,7 +7786,7 @@
@DocsEditable()
@DomName('SVGCursorElement')
@Unstable()
-abstract class _SVGCursorElement extends SvgElement implements UriReference, Tests, ExternalResourcesRequired {
+abstract class _SVGCursorElement extends SvgElement implements UriReference, ExternalResourcesRequired, Tests {
// To suppress missing implicit constructor warnings.
factory _SVGCursorElement._() { throw new UnsupportedError("Not supported"); }
diff --git a/sdk/lib/typed_data/typed_data.dart b/sdk/lib/typed_data/typed_data.dart
index 756b34a..739eae8 100644
--- a/sdk/lib/typed_data/typed_data.dart
+++ b/sdk/lib/typed_data/typed_data.dart
@@ -1383,6 +1383,26 @@
/// Returns a new [Float32x4] with lane values reordered.
Float32x4 get wwww;
+ /// Returns a new [Float32x4] with values in the X and Y lanes
+ /// replaced with the values in the Z and W lanes of [other].
+ Float32x4 withZWInXY(Float32x4 other);
+
+ /// Returns a new [Float32x4] with the X and Y lane values
+ /// from [this] and [other] interleaved.
+ Float32x4 interleaveXY(Float32x4 other);
+
+ /// Returns a new [Float32x4] with the Z and W lane values
+ /// from [this] and [other] interleaved.
+ Float32x4 interleaveZW(Float32x4 other);
+
+ /// Returns a new [Float32x4] with the X and Y lane value pairs
+ /// from [this] and [other] interleaved.
+ Float32x4 interleaveXYPairs(Float32x4 other);
+
+ /// Returns a new [Float32x4] with the Z and W lane value pairs
+ /// from [this] and [other] interleaved.
+ Float32x4 interleaveZWPairs(Float32x4 other);
+
/// Returns a new [Float32x4] copied from [this] with a new x value.
Float32x4 withX(double x);
/// Returns a new [Float32x4] copied from [this] with a new y value.
diff --git a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
index eef8b0f..11e9e01 100644
--- a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
+++ b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart
@@ -531,151 +531,151 @@
@DocsEditable()
-@DomName('EXTDrawBuffers')
+@DomName('WebGLDrawBuffers')
// http://www.khronos.org/registry/webgl/specs/latest/
@Experimental() // stable
-class ExtDrawBuffers extends Interceptor native "EXTDrawBuffers" {
+class DrawBuffers extends Interceptor native "WebGLDrawBuffers" {
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT0_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT0_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT0_EXT = 0x8CE0;
+ static const int COLOR_ATTACHMENT0_WEBGL = 0x8CE0;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT10_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT10_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT10_EXT = 0x8CEA;
+ static const int COLOR_ATTACHMENT10_WEBGL = 0x8CEA;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT11_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT11_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT11_EXT = 0x8CEB;
+ static const int COLOR_ATTACHMENT11_WEBGL = 0x8CEB;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT12_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT12_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT12_EXT = 0x8CEC;
+ static const int COLOR_ATTACHMENT12_WEBGL = 0x8CEC;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT13_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT13_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT13_EXT = 0x8CED;
+ static const int COLOR_ATTACHMENT13_WEBGL = 0x8CED;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT14_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT14_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT14_EXT = 0x8CEE;
+ static const int COLOR_ATTACHMENT14_WEBGL = 0x8CEE;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT15_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT15_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT15_EXT = 0x8CEF;
+ static const int COLOR_ATTACHMENT15_WEBGL = 0x8CEF;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT1_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT1_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT1_EXT = 0x8CE1;
+ static const int COLOR_ATTACHMENT1_WEBGL = 0x8CE1;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT2_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT2_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT2_EXT = 0x8CE2;
+ static const int COLOR_ATTACHMENT2_WEBGL = 0x8CE2;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT3_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT3_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT3_EXT = 0x8CE3;
+ static const int COLOR_ATTACHMENT3_WEBGL = 0x8CE3;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT4_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT4_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT4_EXT = 0x8CE4;
+ static const int COLOR_ATTACHMENT4_WEBGL = 0x8CE4;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT5_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT5_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT5_EXT = 0x8CE5;
+ static const int COLOR_ATTACHMENT5_WEBGL = 0x8CE5;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT6_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT6_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT6_EXT = 0x8CE6;
+ static const int COLOR_ATTACHMENT6_WEBGL = 0x8CE6;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT7_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT7_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT7_EXT = 0x8CE7;
+ static const int COLOR_ATTACHMENT7_WEBGL = 0x8CE7;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT8_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT8_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT8_EXT = 0x8CE8;
+ static const int COLOR_ATTACHMENT8_WEBGL = 0x8CE8;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT9_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT9_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT9_EXT = 0x8CE9;
+ static const int COLOR_ATTACHMENT9_WEBGL = 0x8CE9;
- @DomName('EXTDrawBuffers.DRAW_BUFFER0_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER0_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER0_EXT = 0x8825;
+ static const int DRAW_BUFFER0_WEBGL = 0x8825;
- @DomName('EXTDrawBuffers.DRAW_BUFFER10_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER10_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER10_EXT = 0x882F;
+ static const int DRAW_BUFFER10_WEBGL = 0x882F;
- @DomName('EXTDrawBuffers.DRAW_BUFFER11_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER11_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER11_EXT = 0x8830;
+ static const int DRAW_BUFFER11_WEBGL = 0x8830;
- @DomName('EXTDrawBuffers.DRAW_BUFFER12_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER12_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER12_EXT = 0x8831;
+ static const int DRAW_BUFFER12_WEBGL = 0x8831;
- @DomName('EXTDrawBuffers.DRAW_BUFFER13_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER13_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER13_EXT = 0x8832;
+ static const int DRAW_BUFFER13_WEBGL = 0x8832;
- @DomName('EXTDrawBuffers.DRAW_BUFFER14_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER14_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER14_EXT = 0x8833;
+ static const int DRAW_BUFFER14_WEBGL = 0x8833;
- @DomName('EXTDrawBuffers.DRAW_BUFFER15_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER15_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER15_EXT = 0x8834;
+ static const int DRAW_BUFFER15_WEBGL = 0x8834;
- @DomName('EXTDrawBuffers.DRAW_BUFFER1_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER1_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER1_EXT = 0x8826;
+ static const int DRAW_BUFFER1_WEBGL = 0x8826;
- @DomName('EXTDrawBuffers.DRAW_BUFFER2_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER2_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER2_EXT = 0x8827;
+ static const int DRAW_BUFFER2_WEBGL = 0x8827;
- @DomName('EXTDrawBuffers.DRAW_BUFFER3_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER3_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER3_EXT = 0x8828;
+ static const int DRAW_BUFFER3_WEBGL = 0x8828;
- @DomName('EXTDrawBuffers.DRAW_BUFFER4_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER4_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER4_EXT = 0x8829;
+ static const int DRAW_BUFFER4_WEBGL = 0x8829;
- @DomName('EXTDrawBuffers.DRAW_BUFFER5_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER5_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER5_EXT = 0x882A;
+ static const int DRAW_BUFFER5_WEBGL = 0x882A;
- @DomName('EXTDrawBuffers.DRAW_BUFFER6_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER6_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER6_EXT = 0x882B;
+ static const int DRAW_BUFFER6_WEBGL = 0x882B;
- @DomName('EXTDrawBuffers.DRAW_BUFFER7_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER7_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER7_EXT = 0x882C;
+ static const int DRAW_BUFFER7_WEBGL = 0x882C;
- @DomName('EXTDrawBuffers.DRAW_BUFFER8_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER8_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER8_EXT = 0x882D;
+ static const int DRAW_BUFFER8_WEBGL = 0x882D;
- @DomName('EXTDrawBuffers.DRAW_BUFFER9_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER9_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER9_EXT = 0x882E;
+ static const int DRAW_BUFFER9_WEBGL = 0x882E;
- @DomName('EXTDrawBuffers.MAX_COLOR_ATTACHMENTS_EXT')
+ @DomName('WebGLDrawBuffers.MAX_COLOR_ATTACHMENTS_WEBGL')
@DocsEditable()
- static const int MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF;
+ static const int MAX_COLOR_ATTACHMENTS_WEBGL = 0x8CDF;
- @DomName('EXTDrawBuffers.MAX_DRAW_BUFFERS_EXT')
+ @DomName('WebGLDrawBuffers.MAX_DRAW_BUFFERS_WEBGL')
@DocsEditable()
- static const int MAX_DRAW_BUFFERS_EXT = 0x8824;
+ static const int MAX_DRAW_BUFFERS_WEBGL = 0x8824;
- @JSName('drawBuffersEXT')
- @DomName('EXTDrawBuffers.drawBuffersEXT')
+ @JSName('drawBuffersWEBGL')
+ @DomName('WebGLDrawBuffers.drawBuffersWEBGL')
@DocsEditable()
- void drawBuffersExt(List<int> buffers) native;
+ void drawBuffersWebgl(List<int> buffers) native;
}
// 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
diff --git a/sdk/lib/web_gl/dartium/web_gl_dartium.dart b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
index 7b2efc5..7637a680 100644
--- a/sdk/lib/web_gl/dartium/web_gl_dartium.dart
+++ b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
@@ -585,150 +585,150 @@
@DocsEditable()
-@DomName('EXTDrawBuffers')
+@DomName('WebGLDrawBuffers')
// http://www.khronos.org/registry/webgl/specs/latest/
@Experimental() // stable
-class ExtDrawBuffers extends NativeFieldWrapperClass1 {
+class DrawBuffers extends NativeFieldWrapperClass1 {
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT0_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT0_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT0_EXT = 0x8CE0;
+ static const int COLOR_ATTACHMENT0_WEBGL = 0x8CE0;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT10_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT10_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT10_EXT = 0x8CEA;
+ static const int COLOR_ATTACHMENT10_WEBGL = 0x8CEA;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT11_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT11_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT11_EXT = 0x8CEB;
+ static const int COLOR_ATTACHMENT11_WEBGL = 0x8CEB;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT12_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT12_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT12_EXT = 0x8CEC;
+ static const int COLOR_ATTACHMENT12_WEBGL = 0x8CEC;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT13_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT13_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT13_EXT = 0x8CED;
+ static const int COLOR_ATTACHMENT13_WEBGL = 0x8CED;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT14_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT14_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT14_EXT = 0x8CEE;
+ static const int COLOR_ATTACHMENT14_WEBGL = 0x8CEE;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT15_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT15_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT15_EXT = 0x8CEF;
+ static const int COLOR_ATTACHMENT15_WEBGL = 0x8CEF;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT1_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT1_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT1_EXT = 0x8CE1;
+ static const int COLOR_ATTACHMENT1_WEBGL = 0x8CE1;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT2_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT2_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT2_EXT = 0x8CE2;
+ static const int COLOR_ATTACHMENT2_WEBGL = 0x8CE2;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT3_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT3_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT3_EXT = 0x8CE3;
+ static const int COLOR_ATTACHMENT3_WEBGL = 0x8CE3;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT4_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT4_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT4_EXT = 0x8CE4;
+ static const int COLOR_ATTACHMENT4_WEBGL = 0x8CE4;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT5_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT5_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT5_EXT = 0x8CE5;
+ static const int COLOR_ATTACHMENT5_WEBGL = 0x8CE5;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT6_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT6_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT6_EXT = 0x8CE6;
+ static const int COLOR_ATTACHMENT6_WEBGL = 0x8CE6;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT7_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT7_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT7_EXT = 0x8CE7;
+ static const int COLOR_ATTACHMENT7_WEBGL = 0x8CE7;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT8_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT8_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT8_EXT = 0x8CE8;
+ static const int COLOR_ATTACHMENT8_WEBGL = 0x8CE8;
- @DomName('EXTDrawBuffers.COLOR_ATTACHMENT9_EXT')
+ @DomName('WebGLDrawBuffers.COLOR_ATTACHMENT9_WEBGL')
@DocsEditable()
- static const int COLOR_ATTACHMENT9_EXT = 0x8CE9;
+ static const int COLOR_ATTACHMENT9_WEBGL = 0x8CE9;
- @DomName('EXTDrawBuffers.DRAW_BUFFER0_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER0_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER0_EXT = 0x8825;
+ static const int DRAW_BUFFER0_WEBGL = 0x8825;
- @DomName('EXTDrawBuffers.DRAW_BUFFER10_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER10_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER10_EXT = 0x882F;
+ static const int DRAW_BUFFER10_WEBGL = 0x882F;
- @DomName('EXTDrawBuffers.DRAW_BUFFER11_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER11_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER11_EXT = 0x8830;
+ static const int DRAW_BUFFER11_WEBGL = 0x8830;
- @DomName('EXTDrawBuffers.DRAW_BUFFER12_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER12_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER12_EXT = 0x8831;
+ static const int DRAW_BUFFER12_WEBGL = 0x8831;
- @DomName('EXTDrawBuffers.DRAW_BUFFER13_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER13_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER13_EXT = 0x8832;
+ static const int DRAW_BUFFER13_WEBGL = 0x8832;
- @DomName('EXTDrawBuffers.DRAW_BUFFER14_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER14_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER14_EXT = 0x8833;
+ static const int DRAW_BUFFER14_WEBGL = 0x8833;
- @DomName('EXTDrawBuffers.DRAW_BUFFER15_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER15_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER15_EXT = 0x8834;
+ static const int DRAW_BUFFER15_WEBGL = 0x8834;
- @DomName('EXTDrawBuffers.DRAW_BUFFER1_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER1_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER1_EXT = 0x8826;
+ static const int DRAW_BUFFER1_WEBGL = 0x8826;
- @DomName('EXTDrawBuffers.DRAW_BUFFER2_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER2_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER2_EXT = 0x8827;
+ static const int DRAW_BUFFER2_WEBGL = 0x8827;
- @DomName('EXTDrawBuffers.DRAW_BUFFER3_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER3_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER3_EXT = 0x8828;
+ static const int DRAW_BUFFER3_WEBGL = 0x8828;
- @DomName('EXTDrawBuffers.DRAW_BUFFER4_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER4_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER4_EXT = 0x8829;
+ static const int DRAW_BUFFER4_WEBGL = 0x8829;
- @DomName('EXTDrawBuffers.DRAW_BUFFER5_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER5_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER5_EXT = 0x882A;
+ static const int DRAW_BUFFER5_WEBGL = 0x882A;
- @DomName('EXTDrawBuffers.DRAW_BUFFER6_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER6_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER6_EXT = 0x882B;
+ static const int DRAW_BUFFER6_WEBGL = 0x882B;
- @DomName('EXTDrawBuffers.DRAW_BUFFER7_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER7_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER7_EXT = 0x882C;
+ static const int DRAW_BUFFER7_WEBGL = 0x882C;
- @DomName('EXTDrawBuffers.DRAW_BUFFER8_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER8_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER8_EXT = 0x882D;
+ static const int DRAW_BUFFER8_WEBGL = 0x882D;
- @DomName('EXTDrawBuffers.DRAW_BUFFER9_EXT')
+ @DomName('WebGLDrawBuffers.DRAW_BUFFER9_WEBGL')
@DocsEditable()
- static const int DRAW_BUFFER9_EXT = 0x882E;
+ static const int DRAW_BUFFER9_WEBGL = 0x882E;
- @DomName('EXTDrawBuffers.MAX_COLOR_ATTACHMENTS_EXT')
+ @DomName('WebGLDrawBuffers.MAX_COLOR_ATTACHMENTS_WEBGL')
@DocsEditable()
- static const int MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF;
+ static const int MAX_COLOR_ATTACHMENTS_WEBGL = 0x8CDF;
- @DomName('EXTDrawBuffers.MAX_DRAW_BUFFERS_EXT')
+ @DomName('WebGLDrawBuffers.MAX_DRAW_BUFFERS_WEBGL')
@DocsEditable()
- static const int MAX_DRAW_BUFFERS_EXT = 0x8824;
+ static const int MAX_DRAW_BUFFERS_WEBGL = 0x8824;
- @DomName('EXTDrawBuffers.drawBuffersEXT')
+ @DomName('WebGLDrawBuffers.drawBuffersWEBGL')
@DocsEditable()
- void drawBuffersExt(List<int> buffers) native "EXTDrawBuffers_drawBuffersEXT_Callback";
+ void drawBuffersWebgl(List<int> buffers) native "WebGLDrawBuffers_drawBuffersWEBGL_Callback";
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
diff --git a/tests/lib/lib.status b/tests/lib/lib.status
index 236faa9..82cb2b9 100644
--- a/tests/lib/lib.status
+++ b/tests/lib/lib.status
@@ -20,6 +20,7 @@
typed_data/float32x4_unbox_phi_test: Fail, OK
typed_data/float32x4_unbox_regress_test: Fail, OK
typed_data/float32x4_shuffle_test: Fail, OK
+typed_data/float32x4_two_arg_shuffle_test: Fail, OK
[ $compiler == dart2js && ($runtime == d8 || $runtime == ie9) ]
typed_data/byte_data_test: Fail, OK # d8/ie9 doesn't support DataView
@@ -62,12 +63,13 @@
async/run_async6_test: Fail # Issue 10957 - may be related to issue 10910
[ $compiler == dart2dart && $minified ]
-json/json_test: Fail # Issue 10961
-typed_data/float32x4_test: Fail # Issue 10961
-typed_data/float32x4_list_test: Fail # Issue 10961
-typed_data/float32x4_unbox_phi_test: Fail # Issue 10961
-typed_data/float32x4_unbox_regress_test: Fail # Issue 10961
-typed_data/float32x4_shuffle_test: Fail # Issue 10961
+json/json_test: Fail # Issue 10961
+typed_data/float32x4_test: Fail # Issue 10961
+typed_data/float32x4_list_test: Fail # Issue 10961
+typed_data/float32x4_unbox_phi_test: Fail # Issue 10961
+typed_data/float32x4_unbox_regress_test: Fail # Issue 10961
+typed_data/float32x4_shuffle_test: Fail # Issue 10961
+typed_data/float32x4_two_arg_shuffle_test: Fail # Issue 10961
[ $runtime == ff ]
# FF setTimeout can fire early: https://bugzilla.mozilla.org/show_bug.cgi?id=291386
@@ -96,9 +98,7 @@
async/run_async3_test: Fail # _enqueueImmediate runs after Timer. http://dartbug.com/9001.
mirrors/library_metadata_test: Fail # http://dartbug.com/10906
mirrors/superclass_test: Fail # http://dartbug.com/11142
-mirrors/reflect_model_test: Fail # http://dartbug.com/11219
mirrors/parameter_test: Fail # http://dartbug.com/11567
-mirrors/top_level_accessors_test: Fail # http://dartbug.com/11943
mirrors/operator_test: Fail # http://dartbug.com/11944
[ $compiler == none && $runtime == drt ]
@@ -121,4 +121,5 @@
typed_data/float32x4_list_test: Crash # Unimplemented
typed_data/float32x4_test: Crash # Unimplemented
typed_data/float32x4_shuffle_test: Crash # Unimplemented
+typed_data/float32x4_two_arg_shuffle_test: Crash # Unimplemented
diff --git a/tests/lib/typed_data/float32x4_two_arg_shuffle_test.dart b/tests/lib/typed_data/float32x4_two_arg_shuffle_test.dart
new file mode 100644
index 0000000..f991356
--- /dev/null
+++ b/tests/lib/typed_data/float32x4_two_arg_shuffle_test.dart
@@ -0,0 +1,69 @@
+// Copyright (c) 2013, 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.
+
+// Library tag to be able to run in html test framework.
+library float32x4_two_arg_shuffle_test;
+
+import "package:expect/expect.dart";
+import 'dart:typed_data';
+
+testWithZWInXY() {
+ Float32x4 a = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ Float32x4 b = new Float32x4(5.0, 6.0, 7.0, 8.0);
+ Float32x4 c = a.withZWInXY(b);
+ Expect.equals(7.0, c.x);
+ Expect.equals(8.0, c.y);
+ Expect.equals(3.0, c.z);
+ Expect.equals(4.0, c.w);
+}
+
+testInterleaveXY() {
+ Float32x4 a = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ Float32x4 b = new Float32x4(5.0, 6.0, 7.0, 8.0);
+ Float32x4 c = a.interleaveXY(b);
+ Expect.equals(1.0, c.x);
+ Expect.equals(5.0, c.y);
+ Expect.equals(2.0, c.z);
+ Expect.equals(6.0, c.w);
+}
+
+testInterleaveZW() {
+ Float32x4 a = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ Float32x4 b = new Float32x4(5.0, 6.0, 7.0, 8.0);
+ Float32x4 c = a.interleaveZW(b);
+ Expect.equals(3.0, c.x);
+ Expect.equals(7.0, c.y);
+ Expect.equals(4.0, c.z);
+ Expect.equals(8.0, c.w);
+}
+
+testInterleaveXYPairs() {
+ Float32x4 a = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ Float32x4 b = new Float32x4(5.0, 6.0, 7.0, 8.0);
+ Float32x4 c = a.interleaveXYPairs(b);
+ Expect.equals(1.0, c.x);
+ Expect.equals(2.0, c.y);
+ Expect.equals(5.0, c.z);
+ Expect.equals(6.0, c.w);
+}
+
+testInterleaveZWPairs() {
+ Float32x4 a = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ Float32x4 b = new Float32x4(5.0, 6.0, 7.0, 8.0);
+ Float32x4 c = a.interleaveZWPairs(b);
+ Expect.equals(3.0, c.x);
+ Expect.equals(4.0, c.y);
+ Expect.equals(7.0, c.z);
+ Expect.equals(8.0, c.w);
+}
+
+main() {
+ for (int i = 0; i < 4000; i++) {
+ testWithZWInXY();
+ testInterleaveXY();
+ testInterleaveZW();
+ testInterleaveXYPairs();
+ testInterleaveZWPairs();
+ }
+}
diff --git a/tools/VERSION b/tools/VERSION
index f6f9fc8..ac61405 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
MAJOR 0
MINOR 6
-BUILD 10
+BUILD 11
PATCH 0
diff --git a/tools/dom/dom.json b/tools/dom/dom.json
index 9c560e4..946b502 100644
--- a/tools/dom/dom.json
+++ b/tools/dom/dom.json
@@ -1,4 +1,21 @@
{
+ "ANGLEInstancedArrays": {
+ "members": {
+ "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE": {
+ "support_level": "untriaged"
+ },
+ "drawArraysInstancedANGLE": {
+ "support_level": "untriaged"
+ },
+ "drawElementsInstancedANGLE": {
+ "support_level": "untriaged"
+ },
+ "vertexAttribDivisorANGLE": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"AbstractWorker": {
"comment": "http://www.w3.org/TR/workers/#the-abstractworker-abstract-interface",
"members": {
@@ -23,14 +40,6 @@
},
"support_level": "experimental"
},
- "AnimationEvent": {
- "comment": "http://www.w3.org/TR/css3-animations/#AnimationEvent-interface",
- "members": {
- "animationName": {},
- "elapsedTime": {}
- },
- "support_level": "stable"
- },
"ArrayBuffer": {
"comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
"members": {
@@ -302,34 +311,6 @@
},
"support_level": "experimental"
},
- "CSSFilterRule": {
- "comment": "http://www.w3.org/TR/filter-effects/",
- "members": {
- "style": {}
- },
- "support_level": "experimental"
- },
- "CSSFilterValue": {
- "comment": "http://dev.w3.org/csswg/cssom/",
- "dart_action": "suppress",
- "members": {
- "CSS_FILTER_BLUR": {},
- "CSS_FILTER_BRIGHTNESS": {},
- "CSS_FILTER_CONTRAST": {},
- "CSS_FILTER_CUSTOM": {},
- "CSS_FILTER_DROP_SHADOW": {},
- "CSS_FILTER_GRAYSCALE": {},
- "CSS_FILTER_HUE_ROTATE": {},
- "CSS_FILTER_INVERT": {},
- "CSS_FILTER_OPACITY": {},
- "CSS_FILTER_REFERENCE": {},
- "CSS_FILTER_SATURATE": {},
- "CSS_FILTER_SEPIA": {},
- "__getter__": {},
- "operationType": {}
- },
- "support_level": "deprecated"
- },
"CSSFontFaceLoadEvent": {
"comment": "http://www.w3.org/TR/css3-fonts/",
"members": {
@@ -363,66 +344,6 @@
},
"support_level": "stable"
},
- "CSSKeyframeRule": {
- "comment": "http://www.w3.org/TR/css3-animations/#CSSKeyframeRule-interface",
- "members": {
- "keyText": {},
- "style": {}
- },
- "support_level": "experimental"
- },
- "CSSKeyframesRule": {
- "comment": "http://www.w3.org/TR/css3-animations/#csskeyframesrule",
- "members": {
- "__getter__": {},
- "cssRules": {},
- "deleteRule": {},
- "findRule": {},
- "insertRule": {},
- "name": {}
- },
- "support_level": "experimental"
- },
- "CSSMatrix": {
- "comment": "http://dev.w3.org/csswg/cssom/",
- "dart_action": "suppress",
- "members": {
- "CSSMatrix": {},
- "a": {},
- "b": {},
- "c": {},
- "d": {},
- "e": {},
- "f": {},
- "inverse": {},
- "m11": {},
- "m12": {},
- "m13": {},
- "m14": {},
- "m21": {},
- "m22": {},
- "m23": {},
- "m24": {},
- "m31": {},
- "m32": {},
- "m33": {},
- "m34": {},
- "m41": {},
- "m42": {},
- "m43": {},
- "m44": {},
- "multiply": {},
- "rotate": {},
- "rotateAxisAngle": {},
- "scale": {},
- "setMatrixValue": {},
- "skewX": {},
- "skewY": {},
- "toString": {},
- "translate": {}
- },
- "support_level": "deprecated"
- },
"CSSMediaRule": {
"comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule",
"members": {
@@ -433,12 +354,6 @@
},
"support_level": "stable"
},
- "CSSMixFunctionValue": {
- "comment": "http://dev.w3.org/csswg/cssom/",
- "dart_action": "suppress",
- "members": {},
- "support_level": "deprecated"
- },
"CSSPageRule": {
"comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule",
"members": {
@@ -492,13 +407,6 @@
},
"support_level": "deprecated"
},
- "CSSRegionRule": {
- "comment": "http://dev.w3.org/csswg/css-regions/#region-style-rule-interface",
- "members": {
- "cssRules": {}
- },
- "support_level": "experimental"
- },
"CSSRule": {
"comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule",
"members": {
@@ -518,6 +426,9 @@
"dart_action": "suppress",
"support_level": "deprecated"
},
+ "VIEWPORT_RULE": {
+ "support_level": "untriaged"
+ },
"WEBKIT_FILTER_RULE": {
"comment": "http://www.w3.org/TR/filter-effects/",
"support_level": "experimental"
@@ -552,6 +463,9 @@
"CSSStyleDeclaration": {
"comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
"members": {
+ "__getter__": {
+ "support_level": "untriaged"
+ },
"__setter__": {},
"cssText": {},
"getPropertyCSSValue": {
@@ -606,36 +520,6 @@
},
"support_level": "standard"
},
- "CSSTransformValue": {
- "comment": "http://dev.w3.org/csswg/cssom/",
- "dart_action": "suppress",
- "members": {
- "CSS_MATRIX": {},
- "CSS_MATRIX3D": {},
- "CSS_PERSPECTIVE": {},
- "CSS_ROTATE": {},
- "CSS_ROTATE3D": {},
- "CSS_ROTATEX": {},
- "CSS_ROTATEY": {},
- "CSS_ROTATEZ": {},
- "CSS_SCALE": {},
- "CSS_SCALE3D": {},
- "CSS_SCALEX": {},
- "CSS_SCALEY": {},
- "CSS_SCALEZ": {},
- "CSS_SKEW": {},
- "CSS_SKEWX": {},
- "CSS_SKEWY": {},
- "CSS_TRANSLATE": {},
- "CSS_TRANSLATE3D": {},
- "CSS_TRANSLATEX": {},
- "CSS_TRANSLATEY": {},
- "CSS_TRANSLATEZ": {},
- "__getter__": {},
- "operationType": {}
- },
- "support_level": "deprecated"
- },
"CSSUnknownRule": {
"comment": "http://dev.w3.org/csswg/cssom/#the-cssstylesheet-interface",
"dart_action": "suppress",
@@ -664,6 +548,14 @@
},
"support_level": "deprecated"
},
+ "CSSViewportRule": {
+ "members": {
+ "style": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"Canvas2DContextAttributes": {
"comment": "http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL",
"members": {
@@ -850,6 +742,20 @@
},
"support_level": "stable"
},
+ "ChildNode": {
+ "members": {
+ "nextElementSibling": {
+ "support_level": "untriaged"
+ },
+ "previousElementSibling": {
+ "support_level": "untriaged"
+ },
+ "remove": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"ClientRect": {
"comment": "http://www.w3.org/TR/cssom-view/#the-clientrect-interface",
"members": {
@@ -1004,7 +910,10 @@
"Crypto": {
"comment": "http://www.w3.org/TR/WebCryptoAPI/",
"members": {
- "getRandomValues": {}
+ "getRandomValues": {},
+ "subtle": {
+ "support_level": "untriaged"
+ }
},
"support_level": "experimental"
},
@@ -1050,7 +959,17 @@
},
"support_level": "stable"
},
- "DOMCoreException": {
+ "DOMError": {
+ "comment": "http://www.w3.org/TR/dom/#interface-domerror",
+ "members": {
+ "message": {
+ "support_level": "untriaged"
+ },
+ "name": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMException": {
"comment": "http://www.w3.org/TR/dom/#domexception (Should be DOMException)",
"dart_action": "unstable",
"members": {
@@ -1165,13 +1084,6 @@
},
"support_level": "stable"
},
- "DOMError": {
- "comment": "http://www.w3.org/TR/dom/#interface-domerror",
- "members": {
- "name": {}
- },
- "support_level": "stable"
- },
"DOMFileSystem": {
"comment": "http://www.w3.org/TR/file-system-api/",
"members": {
@@ -1201,16 +1113,6 @@
},
"support_level": "stable"
},
- "DOMNamedFlowCollection": {
- "comment": "http://dev.w3.org/csswg/css-regions/#dom-named-flow-collection",
- "members": {
- "__getter__": {},
- "item": {},
- "length": {},
- "namedItem": {}
- },
- "support_level": "experimental"
- },
"DOMParser": {
"members": {
"DOMParser": {},
@@ -1218,16 +1120,6 @@
},
"support_level": "stable"
},
- "DOMPoint": {
- "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
- "members": {
- "DOMPoint": {},
- "_DomPoint": {},
- "x": {},
- "y": {}
- },
- "support_level": "nonstandard"
- },
"DOMSettableTokenList": {
"comment": "http://dev.w3.org/html5/spec-LC/common-dom-interfaces.html#domsettabletokenlist-0",
"members": {
@@ -1265,325 +1157,6 @@
},
"support_level": "stable"
},
- "Window": {
- "members": {
- "CSS": {
- "comment": "http://www.w3.org/TR/css3-conditional/#the-css-interface"
- },
- "PERSISTENT": {
- "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
- "support_level": "experimental"
- },
- "TEMPORARY": {
- "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
- "support_level": "experimental"
- },
- "__getter__": {},
- "addEventListener": {},
- "alert": {},
- "applicationCache": {},
- "atob": {},
- "blur": {
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "btoa": {},
- "cancelAnimationFrame": {},
- "captureEvents": {
- "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "clearInterval": {},
- "clearTimeout": {},
- "clientInformation": {
- "support_level": "nonstandard"
- },
- "close": {},
- "closed": {},
- "confirm": {},
- "console": {},
- "crypto": {
- "comment": "http://www.w3.org/TR/WebCryptoAPI/",
- "support_level": "experimental"
- },
- "defaultStatus": {},
- "defaultstatus": {
- "support_level": "nonstandard"
- },
- "devicePixelRatio": {
- "comment": "http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html",
- "support_level": "nonstandard"
- },
- "dispatchEvent": {},
- "document": {},
- "event": {
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "find": {
- "support_level": "nonstandard"
- },
- "focus": {
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "frameElement": {},
- "frames": {},
- "getComputedStyle": {},
- "getMatchedCSSRules": {
- "support_level": "nonstandard"
- },
- "getSelection": {},
- "history": {},
- "indexedDB": {},
- "innerHeight": {},
- "innerWidth": {},
- "length": {
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "localStorage": {},
- "location": {},
- "locationbar": {},
- "matchMedia": {},
- "menubar": {},
- "moveBy": {},
- "moveTo": {},
- "name": {},
- "navigator": {},
- "offscreenBuffering": {
- "support_level": "nonstandard"
- },
- "onDOMContentLoaded": {},
- "onabort": {},
- "onbeforeunload": {},
- "onblur": {},
- "oncanplay": {},
- "oncanplaythrough": {},
- "onchange": {},
- "onclick": {},
- "oncontextmenu": {},
- "ondblclick": {},
- "ondevicemotion": {
- "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
- "support_level": "experimental"
- },
- "ondeviceorientation": {
- "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
- "support_level": "experimental"
- },
- "ondrag": {},
- "ondragend": {},
- "ondragenter": {},
- "ondragleave": {},
- "ondragover": {},
- "ondragstart": {},
- "ondrop": {},
- "ondurationchange": {},
- "onemptied": {},
- "onended": {},
- "onerror": {},
- "onfocus": {},
- "onhashchange": {},
- "oninput": {},
- "oninvalid": {
- "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1"
- },
- "onkeydown": {},
- "onkeypress": {},
- "onkeyup": {},
- "onload": {},
- "onloadeddata": {},
- "onloadedmetadata": {},
- "onloadstart": {},
- "onmessage": {},
- "onmousedown": {},
- "onmousemove": {},
- "onmouseout": {},
- "onmouseover": {},
- "onmouseup": {},
- "onmousewheel": {},
- "onoffline": {},
- "ononline": {},
- "onpagehide": {},
- "onpageshow": {},
- "onpause": {},
- "onplay": {},
- "onplaying": {},
- "onpopstate": {},
- "onprogress": {},
- "onratechange": {},
- "onreset": {},
- "onresize": {},
- "onscroll": {},
- "onsearch": {
- "comment": "http://www.w3.org/TR/html-markup/input.search.html",
- "support_level": "experimental"
- },
- "onseeked": {},
- "onseeking": {},
- "onselect": {},
- "onstalled": {},
- "onstorage": {},
- "onsubmit": {},
- "onsuspend": {},
- "ontimeupdate": {},
- "ontouchcancel": {
- "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
- "support_level": "experimental"
- },
- "ontouchend": {
- "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
- "support_level": "experimental"
- },
- "ontouchmove": {
- "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
- "support_level": "experimental"
- },
- "ontouchstart": {
- "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
- "support_level": "experimental"
- },
- "ontransitionend": {},
- "onunload": {},
- "onvolumechange": {},
- "onwaiting": {},
- "onwebkitAnimationEnd": {
- "support_level": "experimental"
- },
- "onwebkitAnimationIteration": {
- "support_level": "experimental"
- },
- "onwebkitAnimationStart": {
- "support_level": "experimental"
- },
- "onwebkitTransitionEnd": {
- "support_level": "deprecated"
- },
- "onwebkitanimationend": {
- "support_level": "experimental"
- },
- "onwebkitanimationiteration": {
- "support_level": "experimental"
- },
- "onwebkitanimationstart": {
- "support_level": "experimental"
- },
- "onwebkittransitionend": {
- "support_level": "deprecated"
- },
- "open": {},
- "openDatabase": {
- "comment": "http://www.w3.org/TR/webdatabase/",
- "dart_action": "experimental",
- "support_level": "deprecated"
- },
- "opener": {},
- "outerHeight": {},
- "outerWidth": {},
- "pagePopupController": {
- "dart_action": "suppress",
- "support_level": "nonstandard"
- },
- "pageXOffset": {},
- "pageYOffset": {},
- "parent": {},
- "performance": {
- "comment": "http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute"
- },
- "personalbar": {
- "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.personalbar",
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "postMessage": {},
- "print": {},
- "prompt": {},
- "releaseEvents": {
- "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "removeEventListener": {},
- "requestAnimationFrame": {},
- "resizeBy": {},
- "resizeTo": {},
- "screen": {},
- "screenLeft": {},
- "screenTop": {},
- "screenX": {},
- "screenY": {},
- "scroll": {},
- "scrollBy": {},
- "scrollTo": {},
- "scrollX": {},
- "scrollY": {},
- "scrollbars": {},
- "self": {},
- "sessionStorage": {},
- "setInterval": {},
- "setTimeout": {},
- "showModalDialog": {},
- "speechSynthesis": {
- "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section",
- "support_level": "experimental"
- },
- "status": {},
- "statusbar": {},
- "stop": {},
- "styleMedia": {
- "comment": "http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html",
- "dart_action": "experimental",
- "support_level": "nonstandard"
- },
- "toString": {},
- "toolbar": {},
- "top": {},
- "webkitCancelAnimationFrame": {
- "support_level": "experimental"
- },
- "webkitCancelRequestAnimationFrame": {
- "support_level": "experimental"
- },
- "webkitConvertPointFromNodeToPage": {
- "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
- "support_level": "experimental"
- },
- "webkitConvertPointFromPageToNode": {
- "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
- "support_level": "experimental"
- },
- "webkitIndexedDB": {
- "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBEnvironment",
- "support_level": "experimental"
- },
- "webkitNotifications": {
- "comment": "https://plus.sandbox.google.com/u/0/+GoogleChromeDevelopers/posts/8vWo8hq4pDm?e=Showroom",
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "webkitRequestAnimationFrame": {
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "webkitRequestFileSystem": {
- "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
- "support_level": "experimental"
- },
- "webkitResolveLocalFileSystemURL": {
- "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
- "support_level": "experimental"
- },
- "webkitStorageInfo": {
- "comment": "http://www.w3.org/TR/file-system-api/",
- "dart_action": "suppress",
- "support_level": "deprecated"
- },
- "window": {}
- },
- "support_level": "stable"
- },
"DataTransferItem": {
"comment": "http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface",
"members": {
@@ -1832,6 +1405,9 @@
"support_level": "experimental"
},
"createTreeWalker": {},
+ "currentScript": {
+ "support_level": "untriaged"
+ },
"defaultCharset": {
"dart_action": "suppress",
"support_level": "nonstandard"
@@ -2130,48 +1706,6 @@
},
"support_level": "experimental"
},
- "EXTDrawBuffers": {
- "comment": "http://www.khronos.org/registry/webgl/specs/latest/",
- "dart_action": "experimental",
- "members": {
- "COLOR_ATTACHMENT0_EXT": {},
- "COLOR_ATTACHMENT10_EXT": {},
- "COLOR_ATTACHMENT11_EXT": {},
- "COLOR_ATTACHMENT12_EXT": {},
- "COLOR_ATTACHMENT13_EXT": {},
- "COLOR_ATTACHMENT14_EXT": {},
- "COLOR_ATTACHMENT15_EXT": {},
- "COLOR_ATTACHMENT1_EXT": {},
- "COLOR_ATTACHMENT2_EXT": {},
- "COLOR_ATTACHMENT3_EXT": {},
- "COLOR_ATTACHMENT4_EXT": {},
- "COLOR_ATTACHMENT5_EXT": {},
- "COLOR_ATTACHMENT6_EXT": {},
- "COLOR_ATTACHMENT7_EXT": {},
- "COLOR_ATTACHMENT8_EXT": {},
- "COLOR_ATTACHMENT9_EXT": {},
- "DRAW_BUFFER0_EXT": {},
- "DRAW_BUFFER10_EXT": {},
- "DRAW_BUFFER11_EXT": {},
- "DRAW_BUFFER12_EXT": {},
- "DRAW_BUFFER13_EXT": {},
- "DRAW_BUFFER14_EXT": {},
- "DRAW_BUFFER15_EXT": {},
- "DRAW_BUFFER1_EXT": {},
- "DRAW_BUFFER2_EXT": {},
- "DRAW_BUFFER3_EXT": {},
- "DRAW_BUFFER4_EXT": {},
- "DRAW_BUFFER5_EXT": {},
- "DRAW_BUFFER6_EXT": {},
- "DRAW_BUFFER7_EXT": {},
- "DRAW_BUFFER8_EXT": {},
- "DRAW_BUFFER9_EXT": {},
- "MAX_COLOR_ATTACHMENTS_EXT": {},
- "MAX_DRAW_BUFFERS_EXT": {},
- "drawBuffersEXT": {}
- },
- "support_level": "stable"
- },
"EXTFragDepth": {
"comment": "http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/",
"members": {},
@@ -5188,6 +4722,9 @@
"comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent",
"dart_action": "unstable",
"members": {
+ "dataLoss": {
+ "support_level": "untriaged"
+ },
"newVersion": {},
"oldVersion": {}
},
@@ -5335,6 +4872,14 @@
},
"support_level": "experimental"
},
+ "MIDIAccessPromise": {
+ "members": {
+ "then": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"MIDIConnectionEvent": {
"comment": "http://webaudio.github.io/web-midi-api/#midiconnectionevent-interface",
"members": {
@@ -5384,6 +4929,10 @@
},
"support_level": "experimental"
},
+ "MIDISuccessCallback": {
+ "members": {},
+ "support_level": "untriaged"
+ },
"MediaController": {
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#mediacontroller",
"members": {
@@ -5534,6 +5083,24 @@
},
"support_level": "stable"
},
+ "MediaSource": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#mediasource",
+ "members": {
+ "MediaSource": {},
+ "activeSourceBuffers": {},
+ "addEventListener": {},
+ "addSourceBuffer": {},
+ "dispatchEvent": {},
+ "duration": {},
+ "endOfStream": {},
+ "isTypeSupported": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "removeSourceBuffer": {},
+ "sourceBuffers": {}
+ },
+ "support_level": "experimental"
+ },
"MediaStream": {
"comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastream",
"members": {
@@ -5585,6 +5152,9 @@
"addEventListener": {},
"dispatchEvent": {},
"enabled": {},
+ "getSources": {
+ "support_level": "untriaged"
+ },
"id": {},
"kind": {},
"label": {},
@@ -5603,6 +5173,10 @@
},
"support_level": "experimental"
},
+ "MediaStreamTrackSourcesCallback": {
+ "members": {},
+ "support_level": "untriaged"
+ },
"MemoryInfo": {
"dart_action": "experimental",
"members": {
@@ -5788,21 +5362,6 @@
},
"support_level": "stable"
},
- "NamedFlow": {
- "comment": "http://www.w3.org/TR/css3-regions/#dom-named-flow-collection",
- "members": {
- "addEventListener": {},
- "dispatchEvent": {},
- "firstEmptyRegionIndex": {},
- "getContent": {},
- "getRegions": {},
- "getRegionsByContent": {},
- "name": {},
- "overset": {},
- "removeEventListener": {}
- },
- "support_level": "experimental"
- },
"NamedNodeMap": {
"comment": "http://dom.spec.whatwg.org/#namednodemap",
"dart_action": "suppress",
@@ -5885,6 +5444,9 @@
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorcontentutils",
"dart_action": "unstable"
},
+ "requestMIDIAccess": {
+ "support_level": "untriaged"
+ },
"userAgent": {
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
},
@@ -6090,6 +5652,9 @@
"NodeList": {
"comment": "http://dom.spec.whatwg.org/#nodelist",
"members": {
+ "__getter__": {
+ "support_level": "untriaged"
+ },
"item": {},
"length": {}
},
@@ -6351,6 +5916,23 @@
},
"support_level": "experimental"
},
+ "ParentNode": {
+ "members": {
+ "childElementCount": {
+ "support_level": "untriaged"
+ },
+ "children": {
+ "support_level": "untriaged"
+ },
+ "firstElementChild": {
+ "support_level": "untriaged"
+ },
+ "lastElementChild": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"Path": {
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects",
"members": {
@@ -6597,6 +6179,14 @@
},
"support_level": "stable"
},
+ "Promise": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "PromiseResolver": {
+ "members": {},
+ "support_level": "untriaged"
+ },
"RGBColor": {
"comment": "http://dev.w3.org/csswg/cssom/",
"dart_action": "suppress",
@@ -10140,6 +9730,9 @@
"getElementsByTagNameNS": {},
"getSelection": {},
"innerHTML": {},
+ "olderShadowRoot": {
+ "support_level": "untriaged"
+ },
"resetStyleInheritance": {}
},
"support_level": "experimental"
@@ -10161,6 +9754,61 @@
},
"support_level": "nonstandard"
},
+ "SourceBuffer": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer",
+ "members": {
+ "abort": {},
+ "addEventListener": {
+ "support_level": "untriaged"
+ },
+ "append": {
+ "support_level": "nonstandard"
+ },
+ "appendBuffer": {
+ "support_level": "untriaged"
+ },
+ "buffered": {},
+ "dispatchEvent": {
+ "support_level": "untriaged"
+ },
+ "removeEventListener": {
+ "support_level": "untriaged"
+ },
+ "timestampOffset": {},
+ "updating": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "SourceBufferList": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "item": {},
+ "length": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "SourceInfo": {
+ "members": {
+ "facing": {
+ "support_level": "untriaged"
+ },
+ "id": {
+ "support_level": "untriaged"
+ },
+ "kind": {
+ "support_level": "untriaged"
+ },
+ "label": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"SpeechGrammar": {
"comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammar",
"members": {
@@ -10398,6 +10046,14 @@
},
"support_level": "experimental"
},
+ "Stream": {
+ "members": {
+ "type": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"StringCallback": {
"comment": "http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface",
"members": {
@@ -10436,6 +10092,10 @@
},
"support_level": "stable"
},
+ "SubtleCrypto": {
+ "members": {},
+ "support_level": "untriaged"
+ },
"Text": {
"comment": "http://dom.spec.whatwg.org/#interface-text",
"members": {
@@ -10710,6 +10370,9 @@
"URL": {
"comment": "http://www.w3.org/TR/FileAPI/#URL-object",
"members": {
+ "_createObjectUrlFromWebKitMediaSource": {
+ "support_level": "untriaged"
+ },
"createObjectURL": {},
"createObjectUrlFromBlob": {},
"createObjectUrlFromSource": {},
@@ -10886,6 +10549,48 @@
},
"support_level": "experimental"
},
+ "WebGLDrawBuffers": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/",
+ "dart_action": "experimental",
+ "members": {
+ "COLOR_ATTACHMENT0_WEBGL": {},
+ "COLOR_ATTACHMENT10_WEBGL": {},
+ "COLOR_ATTACHMENT11_WEBGL": {},
+ "COLOR_ATTACHMENT12_WEBGL": {},
+ "COLOR_ATTACHMENT13_WEBGL": {},
+ "COLOR_ATTACHMENT14_WEBGL": {},
+ "COLOR_ATTACHMENT15_WEBGL": {},
+ "COLOR_ATTACHMENT1_WEBGL": {},
+ "COLOR_ATTACHMENT2_WEBGL": {},
+ "COLOR_ATTACHMENT3_WEBGL": {},
+ "COLOR_ATTACHMENT4_WEBGL": {},
+ "COLOR_ATTACHMENT5_WEBGL": {},
+ "COLOR_ATTACHMENT6_WEBGL": {},
+ "COLOR_ATTACHMENT7_WEBGL": {},
+ "COLOR_ATTACHMENT8_WEBGL": {},
+ "COLOR_ATTACHMENT9_WEBGL": {},
+ "DRAW_BUFFER0_WEBGL": {},
+ "DRAW_BUFFER10_WEBGL": {},
+ "DRAW_BUFFER11_WEBGL": {},
+ "DRAW_BUFFER12_WEBGL": {},
+ "DRAW_BUFFER13_WEBGL": {},
+ "DRAW_BUFFER14_WEBGL": {},
+ "DRAW_BUFFER15_WEBGL": {},
+ "DRAW_BUFFER1_WEBGL": {},
+ "DRAW_BUFFER2_WEBGL": {},
+ "DRAW_BUFFER3_WEBGL": {},
+ "DRAW_BUFFER4_WEBGL": {},
+ "DRAW_BUFFER5_WEBGL": {},
+ "DRAW_BUFFER6_WEBGL": {},
+ "DRAW_BUFFER7_WEBGL": {},
+ "DRAW_BUFFER8_WEBGL": {},
+ "DRAW_BUFFER9_WEBGL": {},
+ "MAX_COLOR_ATTACHMENTS_WEBGL": {},
+ "MAX_DRAW_BUFFERS_WEBGL": {},
+ "drawBuffersWEBGL": {}
+ },
+ "support_level": "stable"
+ },
"WebGLFramebuffer": {
"comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.5",
"dart_action": "unstable",
@@ -11407,47 +11112,198 @@
"members": {},
"support_level": "experimental"
},
+ "WebKitAnimationEvent": {
+ "comment": "http://www.w3.org/TR/css3-animations/#AnimationEvent-interface",
+ "members": {
+ "animationName": {},
+ "elapsedTime": {}
+ },
+ "support_level": "stable"
+ },
+ "WebKitCSSFilterRule": {
+ "comment": "http://www.w3.org/TR/filter-effects/",
+ "members": {
+ "style": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitCSSFilterValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "CSS_FILTER_BLUR": {},
+ "CSS_FILTER_BRIGHTNESS": {},
+ "CSS_FILTER_CONTRAST": {},
+ "CSS_FILTER_CUSTOM": {},
+ "CSS_FILTER_DROP_SHADOW": {},
+ "CSS_FILTER_GRAYSCALE": {},
+ "CSS_FILTER_HUE_ROTATE": {},
+ "CSS_FILTER_INVERT": {},
+ "CSS_FILTER_OPACITY": {},
+ "CSS_FILTER_REFERENCE": {},
+ "CSS_FILTER_SATURATE": {},
+ "CSS_FILTER_SEPIA": {},
+ "__getter__": {},
+ "operationType": {}
+ },
+ "support_level": "deprecated"
+ },
+ "WebKitCSSKeyframeRule": {
+ "comment": "http://www.w3.org/TR/css3-animations/#CSSKeyframeRule-interface",
+ "members": {
+ "keyText": {},
+ "style": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitCSSKeyframesRule": {
+ "comment": "http://www.w3.org/TR/css3-animations/#csskeyframesrule",
+ "members": {
+ "__getter__": {},
+ "cssRules": {},
+ "deleteRule": {},
+ "findRule": {},
+ "insertRule": {},
+ "name": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitCSSMatrix": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "WebKitCSSMatrix": {},
+ "a": {},
+ "b": {},
+ "c": {},
+ "d": {},
+ "e": {},
+ "f": {},
+ "inverse": {},
+ "m11": {},
+ "m12": {},
+ "m13": {},
+ "m14": {},
+ "m21": {},
+ "m22": {},
+ "m23": {},
+ "m24": {},
+ "m31": {},
+ "m32": {},
+ "m33": {},
+ "m34": {},
+ "m41": {},
+ "m42": {},
+ "m43": {},
+ "m44": {},
+ "multiply": {},
+ "rotate": {},
+ "rotateAxisAngle": {},
+ "scale": {},
+ "setMatrixValue": {},
+ "skewX": {},
+ "skewY": {},
+ "toString": {},
+ "translate": {}
+ },
+ "support_level": "deprecated"
+ },
+ "WebKitCSSMixFunctionValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {},
+ "support_level": "deprecated"
+ },
+ "WebKitCSSRegionRule": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#region-style-rule-interface",
+ "members": {
+ "cssRules": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitCSSTransformValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "CSS_MATRIX": {},
+ "CSS_MATRIX3D": {},
+ "CSS_PERSPECTIVE": {},
+ "CSS_ROTATE": {},
+ "CSS_ROTATE3D": {},
+ "CSS_ROTATEX": {},
+ "CSS_ROTATEY": {},
+ "CSS_ROTATEZ": {},
+ "CSS_SCALE": {},
+ "CSS_SCALE3D": {},
+ "CSS_SCALEX": {},
+ "CSS_SCALEY": {},
+ "CSS_SCALEZ": {},
+ "CSS_SKEW": {},
+ "CSS_SKEWX": {},
+ "CSS_SKEWY": {},
+ "CSS_TRANSLATE": {},
+ "CSS_TRANSLATE3D": {},
+ "CSS_TRANSLATEX": {},
+ "CSS_TRANSLATEY": {},
+ "CSS_TRANSLATEZ": {},
+ "__getter__": {},
+ "operationType": {}
+ },
+ "support_level": "deprecated"
+ },
"WebKitMediaSource": {
- "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#mediasource",
"members": {
- "WebKitMediaSource": {},
- "activeSourceBuffers": {},
- "addEventListener": {},
- "addSourceBuffer": {},
- "dispatchEvent": {},
- "duration": {},
- "endOfStream": {},
- "isTypeSupported": {},
- "readyState": {},
- "removeEventListener": {},
- "removeSourceBuffer": {},
- "sourceBuffers": {}
+ "WebKitMediaSource": {}
},
- "support_level": "experimental"
+ "support_level": "untriaged"
},
- "WebKitSourceBuffer": {
- "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer",
- "members": {
- "abort": {},
- "append": {
- "support_level": "nonstandard"
- },
- "buffered": {},
- "timestampOffset": {}
- },
- "support_level": "experimental"
- },
- "WebKitSourceBufferList": {
- "comment": "https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist",
+ "WebKitNamedFlow": {
+ "comment": "http://www.w3.org/TR/css3-regions/#dom-named-flow-collection",
"members": {
"addEventListener": {},
"dispatchEvent": {},
- "item": {},
- "length": {},
+ "firstEmptyRegionIndex": {},
+ "getContent": {},
+ "getRegions": {},
+ "getRegionsByContent": {},
+ "name": {},
+ "overset": {},
"removeEventListener": {}
},
"support_level": "experimental"
},
+ "WebKitNamedFlowCollection": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#dom-named-flow-collection",
+ "members": {
+ "__getter__": {},
+ "item": {},
+ "length": {},
+ "namedItem": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitPoint": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
+ "members": {
+ "WebKitPoint": {},
+ "_DomPoint": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "WebKitSourceBuffer": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "WebKitSourceBufferList": {
+ "members": {
+ "item": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"WebSocket": {
"comment": "http://www.w3.org/TR/websockets/#the-websocket-interface",
"dart_action": "unstable",
@@ -11508,11 +11364,350 @@
},
"support_level": "stable"
},
+ "Window": {
+ "members": {
+ "CSS": {
+ "comment": "http://www.w3.org/TR/css3-conditional/#the-css-interface"
+ },
+ "PERSISTENT": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ },
+ "TEMPORARY": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ },
+ "__getter__": {},
+ "addEventListener": {},
+ "alert": {},
+ "applicationCache": {},
+ "atob": {},
+ "blur": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "btoa": {},
+ "cancelAnimationFrame": {},
+ "captureEvents": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "clearInterval": {},
+ "clearTimeout": {},
+ "clientInformation": {
+ "support_level": "nonstandard"
+ },
+ "close": {},
+ "closed": {},
+ "confirm": {},
+ "console": {},
+ "crypto": {
+ "comment": "http://www.w3.org/TR/WebCryptoAPI/",
+ "support_level": "experimental"
+ },
+ "defaultStatus": {},
+ "defaultstatus": {
+ "support_level": "nonstandard"
+ },
+ "devicePixelRatio": {
+ "comment": "http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html",
+ "support_level": "nonstandard"
+ },
+ "dispatchEvent": {},
+ "document": {},
+ "event": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "find": {
+ "support_level": "nonstandard"
+ },
+ "focus": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "frameElement": {},
+ "frames": {},
+ "getComputedStyle": {},
+ "getMatchedCSSRules": {
+ "support_level": "nonstandard"
+ },
+ "getSelection": {},
+ "history": {},
+ "indexedDB": {},
+ "innerHeight": {},
+ "innerWidth": {},
+ "length": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "localStorage": {},
+ "location": {},
+ "locationbar": {},
+ "matchMedia": {},
+ "menubar": {},
+ "moveBy": {},
+ "moveTo": {},
+ "name": {},
+ "navigator": {},
+ "offscreenBuffering": {
+ "support_level": "nonstandard"
+ },
+ "onDOMContentLoaded": {},
+ "onabort": {},
+ "onbeforeunload": {},
+ "onblur": {},
+ "oncanplay": {},
+ "oncanplaythrough": {},
+ "onchange": {},
+ "onclick": {},
+ "oncontextmenu": {},
+ "ondblclick": {},
+ "ondevicemotion": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "support_level": "experimental"
+ },
+ "ondeviceorientation": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "support_level": "experimental"
+ },
+ "ondrag": {},
+ "ondragend": {},
+ "ondragenter": {},
+ "ondragleave": {},
+ "ondragover": {},
+ "ondragstart": {},
+ "ondrop": {},
+ "ondurationchange": {},
+ "onemptied": {},
+ "onended": {},
+ "onerror": {},
+ "onfocus": {},
+ "onhashchange": {},
+ "oninput": {},
+ "oninvalid": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1"
+ },
+ "onkeydown": {},
+ "onkeypress": {},
+ "onkeyup": {},
+ "onload": {},
+ "onloadeddata": {},
+ "onloadedmetadata": {},
+ "onloadstart": {},
+ "onmessage": {},
+ "onmousedown": {},
+ "onmousemove": {},
+ "onmouseout": {},
+ "onmouseover": {},
+ "onmouseup": {},
+ "onmousewheel": {},
+ "onoffline": {},
+ "ononline": {},
+ "onpagehide": {},
+ "onpageshow": {},
+ "onpause": {},
+ "onplay": {},
+ "onplaying": {},
+ "onpopstate": {},
+ "onprogress": {},
+ "onratechange": {},
+ "onreset": {},
+ "onresize": {},
+ "onscroll": {},
+ "onsearch": {
+ "comment": "http://www.w3.org/TR/html-markup/input.search.html",
+ "support_level": "experimental"
+ },
+ "onseeked": {},
+ "onseeking": {},
+ "onselect": {},
+ "onstalled": {},
+ "onstorage": {},
+ "onsubmit": {},
+ "onsuspend": {},
+ "ontimeupdate": {},
+ "ontouchcancel": {
+ "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
+ "support_level": "experimental"
+ },
+ "ontouchend": {
+ "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
+ "support_level": "experimental"
+ },
+ "ontouchmove": {
+ "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
+ "support_level": "experimental"
+ },
+ "ontouchstart": {
+ "comment": "http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features",
+ "support_level": "experimental"
+ },
+ "ontransitionend": {},
+ "onunload": {},
+ "onvolumechange": {},
+ "onwaiting": {},
+ "onwebkitAnimationEnd": {
+ "support_level": "experimental"
+ },
+ "onwebkitAnimationIteration": {
+ "support_level": "experimental"
+ },
+ "onwebkitAnimationStart": {
+ "support_level": "experimental"
+ },
+ "onwebkitTransitionEnd": {
+ "support_level": "deprecated"
+ },
+ "onwebkitanimationend": {
+ "support_level": "experimental"
+ },
+ "onwebkitanimationiteration": {
+ "support_level": "experimental"
+ },
+ "onwebkitanimationstart": {
+ "support_level": "experimental"
+ },
+ "onwebkittransitionend": {
+ "support_level": "deprecated"
+ },
+ "open": {},
+ "openDatabase": {
+ "comment": "http://www.w3.org/TR/webdatabase/",
+ "dart_action": "experimental",
+ "support_level": "deprecated"
+ },
+ "opener": {},
+ "outerHeight": {},
+ "outerWidth": {},
+ "pagePopupController": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "pageXOffset": {},
+ "pageYOffset": {},
+ "parent": {},
+ "performance": {
+ "comment": "http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute"
+ },
+ "personalbar": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.personalbar",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "postMessage": {},
+ "print": {},
+ "prompt": {},
+ "releaseEvents": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "removeEventListener": {},
+ "requestAnimationFrame": {},
+ "resizeBy": {},
+ "resizeTo": {},
+ "screen": {},
+ "screenLeft": {},
+ "screenTop": {},
+ "screenX": {},
+ "screenY": {},
+ "scroll": {},
+ "scrollBy": {},
+ "scrollTo": {},
+ "scrollX": {},
+ "scrollY": {},
+ "scrollbars": {},
+ "self": {},
+ "sessionStorage": {},
+ "setInterval": {},
+ "setTimeout": {},
+ "showModalDialog": {},
+ "speechSynthesis": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section",
+ "support_level": "experimental"
+ },
+ "status": {},
+ "statusbar": {},
+ "stop": {},
+ "styleMedia": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "toString": {},
+ "toolbar": {},
+ "top": {},
+ "webkitCancelAnimationFrame": {
+ "support_level": "experimental"
+ },
+ "webkitCancelRequestAnimationFrame": {
+ "support_level": "experimental"
+ },
+ "webkitConvertPointFromNodeToPage": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
+ "support_level": "experimental"
+ },
+ "webkitConvertPointFromPageToNode": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
+ "support_level": "experimental"
+ },
+ "webkitIndexedDB": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBEnvironment",
+ "support_level": "experimental"
+ },
+ "webkitNotifications": {
+ "comment": "https://plus.sandbox.google.com/u/0/+GoogleChromeDevelopers/posts/8vWo8hq4pDm?e=Showroom",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitRequestAnimationFrame": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitRequestFileSystem": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ },
+ "webkitResolveLocalFileSystemURL": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ },
+ "webkitStorageInfo": {
+ "comment": "http://www.w3.org/TR/file-system-api/",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "window": {}
+ },
+ "support_level": "stable"
+ },
+ "WindowTimers": {
+ "members": {
+ "clearInterval": {
+ "support_level": "untriaged"
+ },
+ "clearTimeout": {
+ "support_level": "untriaged"
+ },
+ "setInterval": {
+ "support_level": "untriaged"
+ },
+ "setTimeout": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"Worker": {
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker",
"dart_action": "experimental",
"members": {
"Worker": {},
+ "onerror": {
+ "support_level": "untriaged"
+ },
"onmessage": {},
"postMessage": {},
"terminate": {}
@@ -11598,6 +11793,14 @@
},
"support_level": "stable"
},
+ "WorkerCrypto": {
+ "members": {
+ "getRandomValues": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"WorkerLocation": {
"comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerlocation",
"members": {
@@ -11659,6 +11862,14 @@
},
"support_level": "experimental"
},
+ "WorkerPerformance": {
+ "members": {
+ "now": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "untriaged"
+ },
"XMLHttpRequest": {
"comment": "http://xhr.spec.whatwg.org/#interface-xmlhttprequest",
"members": {
@@ -11697,6 +11908,9 @@
"setRequestHeader": {},
"status": {},
"statusText": {},
+ "timeout": {
+ "support_level": "untriaged"
+ },
"upload": {
"dart_action": "unstable"
},
diff --git a/tools/dom/idl/dart/dart.idl b/tools/dom/idl/dart/dart.idl
index 565b4b8..8c9035b 100644
--- a/tools/dom/idl/dart/dart.idl
+++ b/tools/dom/idl/dart/dart.idl
@@ -332,3 +332,6 @@
[Supplemental]
interface Window : EventTarget {};
+
+[Supplemental]
+interface AbstractWorker : EventTarget {};
diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py
index 9069570..259b75b 100644
--- a/tools/dom/scripts/dartmetadata.py
+++ b/tools/dom/scripts/dartmetadata.py
@@ -376,7 +376,7 @@
# INTERFACE.MEMBER: annotation to be added to the member declaration
_annotations = monitored.Dict('dartmetadata._annotations', {
'CSSHostRule': _shadow_dom_annotations,
- 'CSSMatrix': _webkit_experimental_annotations,
+ 'WebKitCSSMatrix': _webkit_experimental_annotations,
'Crypto': _webkit_experimental_annotations,
'Database': _web_sql_annotations,
'DatabaseSync': _web_sql_annotations,
diff --git a/tools/dom/scripts/fremontcutbuilder.py b/tools/dom/scripts/fremontcutbuilder.py
index b888107..085e01b 100755
--- a/tools/dom/scripts/fremontcutbuilder.py
+++ b/tools/dom/scripts/fremontcutbuilder.py
@@ -17,13 +17,10 @@
# for ENABLE_* flags defined in Chromium / Blink.
# We list all ENABLE flags used in IDL in one of these two lists.
FEATURE_DISABLED = [
- 'ENABLE_BATTERY_STATUS',
- 'ENABLE_CSS_DEVICE_ADAPTATION',
'ENABLE_CUSTOM_SCHEME_HANDLER',
'ENABLE_MEDIA_CAPTURE', # Only enabled on Android.
'ENABLE_ORIENTATION_EVENTS', # Only enabled on Android.
'ENABLE_WEBVTT_REGIONS',
- 'ENABLE_XHR_TIMEOUT',
]
FEATURE_DEFINES = [
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 8290433..f966029 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -17,14 +17,11 @@
# TODO(sra): DOMStringMap should be a class implementing Map<String,String>.
'DOMStringMap',
'ChildNode',
- #'Crypto',
'ElementTimeControl',
- 'ElementTraversal',
'EventListener',
'MediaQueryListListener',
'MutationCallback',
'ParentNode',
- #'SubtleCrypto',
'SVGExternalResourcesRequired',
'SVGFilterPrimitiveStandardAttributes',
'SVGFitToViewBox',
@@ -36,7 +33,6 @@
'SVGZoomAndPan',
'TimeoutHandler',
'WindowTimers',
- #'WorkerCrypto',
'WorkerPerformance',
])
@@ -997,12 +993,12 @@
'boolean': TypeData(clazz='Primitive', dart_type='bool', native_type='bool',
webcore_getter_name='hasAttribute',
webcore_setter_name='setBooleanAttribute'),
+ 'byte': TypeData(clazz='Primitive', dart_type='int', native_type='int'),
+ 'octet': TypeData(clazz='Primitive', dart_type='int', native_type='int'),
'short': TypeData(clazz='Primitive', dart_type='int', native_type='int'),
'unsigned short': TypeData(clazz='Primitive', dart_type='int',
native_type='int'),
'int': TypeData(clazz='Primitive', dart_type='int'),
- 'unsigned int': TypeData(clazz='Primitive', dart_type='int',
- native_type='unsigned'),
'long': TypeData(clazz='Primitive', dart_type='int', native_type='int',
webcore_getter_name='getIntegralAttribute',
webcore_setter_name='setIntegralAttribute'),
@@ -1080,7 +1076,7 @@
suppress_interface=False, dart_type='List<Node>'),
'SVGElementInstanceList': TypeData(clazz='Interface',
item_type='SVGElementInstance', suppress_interface=True),
- 'WebKitSourceBufferList': TypeData(clazz='Interface', item_type='WebKitSourceBuffer'),
+ 'SourceBufferList': TypeData(clazz='Interface', item_type='SourceBuffer'),
'SpeechGrammarList': TypeData(clazz='Interface', item_type='SpeechGrammar'),
'SpeechInputResultList': TypeData(clazz='Interface',
item_type='SpeechInputResult', suppress_interface=True),
diff --git a/tools/dom/scripts/htmlrenamer.py b/tools/dom/scripts/htmlrenamer.py
index d0b1d78..89753be 100644
--- a/tools/dom/scripts/htmlrenamer.py
+++ b/tools/dom/scripts/htmlrenamer.py
@@ -52,7 +52,6 @@
'RTCSessionDescriptionCallback': '_RtcSessionDescriptionCallback',
'SVGDocument': 'SvgDocument', # Manual to avoid name conflicts.
'SVGElement': 'SvgElement', # Manual to avoid name conflicts.
- 'SVGException': 'SvgException', # Manual of avoid conflict with Exception.
'SVGGradientElement': '_GradientElement',
'SVGSVGElement': 'SvgSvgElement', # Manual to avoid name conflicts.
'Stream': 'FileStream',
@@ -217,9 +216,6 @@
'Element.setAttributeNS',
'Element.setAttribute',
'Element.setAttributeNS',
- 'ElementTraversal.childElementCount',
- 'ElementTraversal.firstElementChild',
- 'ElementTraversal.lastElementChild',
'Event.initEvent',
'EventTarget.addEventListener',
'EventTarget.removeEventListener',
@@ -313,7 +309,7 @@
# identical functionality but with cleaner names.
renamed_html_members = monitored.Dict('htmlrenamer.renamed_html_members', {
'CanvasRenderingContext2D.drawImage': '_drawImage',
- 'CSSKeyframesRule.insertRule': 'appendRule',
+ 'WebKitCSSKeyframesRule.insertRule': 'appendRule',
'CSSStyleDeclaration.getPropertyValue': '_getPropertyValue',
'CSSStyleDeclaration.setProperty': '_setProperty',
'DirectoryEntry.getDirectory': '_getDirectory',
@@ -381,10 +377,10 @@
'RTCDataChannel.send(Blob data)': 'sendBlob',
'RTCDataChannel.send(DOMString data)': 'sendString',
'SourceBuffer.appendBuffer(ArrayBufferView view)': 'appendBufferView',
- 'URL.createObjectURL(WebKitMediaSource source)':
- '_createObjectUrlFromWebKitMediaSource',
'URL.createObjectURL(MediaSource source)':
'createObjectUrlFromSource',
+ 'URL.createObjectURL(WebKitMediaSource source)':
+ '_createObjectUrlFromWebKitSource',
'URL.createObjectURL(MediaStream stream)': 'createObjectUrlFromStream',
'URL.createObjectURL(Blob blob)': 'createObjectUrlFromBlob',
'WebGLRenderingContext.texImage2D(unsigned long target, long level, '
@@ -530,32 +526,32 @@
'Document.xmlVersion',
'DocumentFragment.children',
'DocumentType.*',
- 'DOMCoreException.code',
- 'DOMCoreException.ABORT_ERR',
- 'DOMCoreException.DATA_CLONE_ERR',
- 'DOMCoreException.DOMSTRING_SIZE_ERR',
- 'DOMCoreException.HIERARCHY_REQUEST_ERR',
- 'DOMCoreException.INDEX_SIZE_ERR',
- 'DOMCoreException.INUSE_ATTRIBUTE_ERR',
- 'DOMCoreException.INVALID_ACCESS_ERR',
- 'DOMCoreException.INVALID_CHARACTER_ERR',
- 'DOMCoreException.INVALID_MODIFICATION_ERR',
- 'DOMCoreException.INVALID_NODE_TYPE_ERR',
- 'DOMCoreException.INVALID_STATE_ERR',
- 'DOMCoreException.NAMESPACE_ERR',
- 'DOMCoreException.NETWORK_ERR',
- 'DOMCoreException.NOT_FOUND_ERR',
- 'DOMCoreException.NOT_SUPPORTED_ERR',
- 'DOMCoreException.NO_DATA_ALLOWED_ERR',
- 'DOMCoreException.NO_MODIFICATION_ALLOWED_ERR',
- 'DOMCoreException.QUOTA_EXCEEDED_ERR',
- 'DOMCoreException.SECURITY_ERR',
- 'DOMCoreException.SYNTAX_ERR',
- 'DOMCoreException.TIMEOUT_ERR',
- 'DOMCoreException.TYPE_MISMATCH_ERR',
- 'DOMCoreException.URL_MISMATCH_ERR',
- 'DOMCoreException.VALIDATION_ERR',
- 'DOMCoreException.WRONG_DOCUMENT_ERR',
+ 'DOMException.code',
+ 'DOMException.ABORT_ERR',
+ 'DOMException.DATA_CLONE_ERR',
+ 'DOMException.DOMSTRING_SIZE_ERR',
+ 'DOMException.HIERARCHY_REQUEST_ERR',
+ 'DOMException.INDEX_SIZE_ERR',
+ 'DOMException.INUSE_ATTRIBUTE_ERR',
+ 'DOMException.INVALID_ACCESS_ERR',
+ 'DOMException.INVALID_CHARACTER_ERR',
+ 'DOMException.INVALID_MODIFICATION_ERR',
+ 'DOMException.INVALID_NODE_TYPE_ERR',
+ 'DOMException.INVALID_STATE_ERR',
+ 'DOMException.NAMESPACE_ERR',
+ 'DOMException.NETWORK_ERR',
+ 'DOMException.NOT_FOUND_ERR',
+ 'DOMException.NOT_SUPPORTED_ERR',
+ 'DOMException.NO_DATA_ALLOWED_ERR',
+ 'DOMException.NO_MODIFICATION_ALLOWED_ERR',
+ 'DOMException.QUOTA_EXCEEDED_ERR',
+ 'DOMException.SECURITY_ERR',
+ 'DOMException.SYNTAX_ERR',
+ 'DOMException.TIMEOUT_ERR',
+ 'DOMException.TYPE_MISMATCH_ERR',
+ 'DOMException.URL_MISMATCH_ERR',
+ 'DOMException.VALIDATION_ERR',
+ 'DOMException.WRONG_DOCUMENT_ERR',
'Element.accessKey',
'Element.dataset',
'Element.get:classList',