Version 0.5.3.0
svn merge -r 22191:22222 https://dart.googlecode.com/svn/branches/bleeding_edge trunk
git-svn-id: http://dart.googlecode.com/svn/trunk@22223 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkg/oauth2/lib/src/client.dart b/pkg/oauth2/lib/src/client.dart
index ec8dda5..62e2288 100644
--- a/pkg/oauth2/lib/src/client.dart
+++ b/pkg/oauth2/lib/src/client.dart
@@ -109,7 +109,8 @@
if (!params.containsKey('error')) return response;
throw new AuthorizationException(
- params['error'], params['error_description'], params['error_uri']);
+ params['error'], params['error_description'],
+ params['error_uri'] == null ? null : Uri.parse(params['error_uri']));
});
}
diff --git a/pkg/oauth2/test/client_test.dart b/pkg/oauth2/test/client_test.dart
index bac0548..7a05e99 100644
--- a/pkg/oauth2/test/client_test.dart
+++ b/pkg/oauth2/test/client_test.dart
@@ -25,12 +25,6 @@
httpClient = new ExpectClient();
}
-void expectFutureThrows(future, predicate) {
- future.catchError(expectAsync1((error) {
- expect(predicate(error), isTrue);
- }));
-}
-
void main() {
group('with expired credentials', () {
setUp(createHttpClient);
@@ -42,8 +36,8 @@
var client = new oauth2.Client('identifier', 'secret', credentials,
httpClient: httpClient);
- expectFutureThrows(client.get(requestUri),
- (e) => e is oauth2.ExpirationException);
+ expect(client.get(requestUri),
+ throwsA(new isInstanceOf<oauth2.ExpirationException>()));
});
test("that can be refreshed refreshes the credentials and sends the "
@@ -123,8 +117,7 @@
var client = new oauth2.Client('identifier', 'secret', credentials,
httpClient: httpClient);
- expectFutureThrows(client.refreshCredentials(),
- (e) => e is StateError);
+ expect(client.refreshCredentials(), throwsA(isStateError));
});
});
@@ -148,8 +141,8 @@
headers: {'www-authenticate': authenticate}));
});
- expectFutureThrows(client.read(requestUri),
- (e) => e is oauth2.AuthorizationException);
+ expect(client.read(requestUri),
+ throwsA(new isInstanceOf<oauth2.AuthorizationException>()));
});
test('passes through a 401 response without www-authenticate', () {
diff --git a/pkg/scheduled_test/lib/src/schedule.dart b/pkg/scheduled_test/lib/src/schedule.dart
index d5eb9af..06064c5 100644
--- a/pkg/scheduled_test/lib/src/schedule.dart
+++ b/pkg/scheduled_test/lib/src/schedule.dart
@@ -111,14 +111,6 @@
/// The timer for keeping track of task timeouts. This may be null.
Timer _timeoutTimer;
- /// If `true`, then new [Task]s will capture the current stack trace before
- /// running. This can be set to `false` to speed up running tests since
- /// capturing stack traces is currently quite slow. Even when set to `false`,
- /// stack traces from *thrown* exceptions will be caught. This only disables
- /// the eager collection of stack traces *before* an error occurs. Defaults
- /// to `true`.
- bool captureStackTraces = true;
-
/// Creates a new schedule with empty task queues.
Schedule() {
_tasks = new TaskQueue._("tasks", this);
@@ -354,10 +346,6 @@
/// The name of the queue, for debugging purposes.
final String name;
- /// If `true`, then new [Task]s in this queue will capture the current stack
- /// trace before running.
- bool get captureStackTraces => _schedule.captureStackTraces;
-
/// The [Schedule] that created this queue.
final Schedule _schedule;
@@ -379,9 +367,9 @@
/// The descriptions of all callbacks that are blocking the completion of
/// [this].
- List<String> get pendingCallbacks =>
- new UnmodifiableListView<String>(_pendingCallbacks);
- final _pendingCallbacks = new Queue<String>();
+ List<PendingCallback> get pendingCallbacks =>
+ new UnmodifiableListView<PendingCallback>(_pendingCallbacks);
+ final _pendingCallbacks = new Queue<PendingCallback>();
/// A completer that will be completed once [_pendingCallbacks] becomes empty
/// after the queue finishes running its tasks.
@@ -505,18 +493,19 @@
bool _timedOut() =>
_schedule.currentQueue != this || pendingCallbacks.isEmpty;
- if (description == null) {
- description = "Out-of-band operation #${_totalCallbacks}";
- }
-
- if (captureStackTraces) {
- var stackString = prefixLines(terseTraceString(new Trace.current()));
- description += "\n\nStack trace:\n$stackString";
- }
-
_totalCallbacks++;
+ var trace = new Trace.current();
+ var pendingCallback = new PendingCallback._(() {
+ var fullDescription = description;
+ if (fullDescription == null) {
+ fullDescription = "Out-of-band operation #${_totalCallbacks}";
+ }
- _pendingCallbacks.add(description);
+ var stackString = prefixLines(terseTraceString(trace));
+ fullDescription += "\n\nStack trace:\n$stackString";
+ });
+ _pendingCallbacks.add(pendingCallback);
+
return (arg) {
try {
return fn(arg);
@@ -531,7 +520,7 @@
} finally {
if (_timedOut()) return;
- _pendingCallbacks.remove(description);
+ _pendingCallbacks.remove(pendingCallback);
if (_pendingCallbacks.isEmpty && !isRunningTasks) {
_noPendingCallbacksCompleter.complete();
}
@@ -605,3 +594,22 @@
}).join("\n");
}
}
+
+/// A thunk for lazily resolving the description of a [PendingCallback].
+typedef String _DescriptionThunk();
+
+/// An identifier for an out-of-band callback running during a schedule.
+class PendingCallback {
+ final _DescriptionThunk _thunk;
+ String _description;
+
+ /// The string description of the callback.
+ String get description {
+ if (_description == null) _description = _thunk();
+ return _description;
+ }
+
+ String toString() => description;
+
+ PendingCallback._(this._thunk);
+}
diff --git a/pkg/scheduled_test/lib/src/schedule_error.dart b/pkg/scheduled_test/lib/src/schedule_error.dart
index 09bb350..910e4f5 100644
--- a/pkg/scheduled_test/lib/src/schedule_error.dart
+++ b/pkg/scheduled_test/lib/src/schedule_error.dart
@@ -33,7 +33,7 @@
/// The descriptions of out-of-band callbacks that were pending when this
/// error occurred.
- final Iterable<String> pendingCallbacks;
+ final Iterable<PendingCallback> pendingCallbacks;
/// The state of the schedule at the time the error was detected.
final ScheduleState _stateWhenDetected;
@@ -54,10 +54,7 @@
stackTrace = attachedTrace;
}
- if (schedule.captureStackTraces && stackTrace == null) {
- stackTrace = new Trace.current();
- }
-
+ if (stackTrace == null) stackTrace = new Trace.current();
return new ScheduleError(schedule, error, stackTrace);
}
@@ -69,7 +66,7 @@
schedule = schedule,
task = schedule.currentTask,
queue = schedule.currentQueue,
- pendingCallbacks = schedule.currentQueue == null ? <String>[]
+ pendingCallbacks = schedule.currentQueue == null ? <PendingCallback>[]
: schedule.currentQueue.pendingCallbacks.toList(),
_stateWhenDetected = schedule.state;
@@ -112,7 +109,7 @@
result.write("\n\n");
result.writeln("Pending out-of-band callbacks:");
for (var callback in pendingCallbacks) {
- result.writeln(prefixLines(callback, firstPrefix: "* "));
+ result.writeln(prefixLines(callback.toString(), firstPrefix: "* "));
}
}
diff --git a/pkg/scheduled_test/lib/src/task.dart b/pkg/scheduled_test/lib/src/task.dart
index 2dfc127..44f6833 100644
--- a/pkg/scheduled_test/lib/src/task.dart
+++ b/pkg/scheduled_test/lib/src/task.dart
@@ -72,7 +72,7 @@
Task._(fn(), this.description, TaskQueue queue, this.parent, this._id)
: queue = queue,
- stackTrace = queue.captureStackTraces ? new Trace.current() : null {
+ stackTrace = new Trace.current() {
this.fn = () {
if (state != TaskState.WAITING) {
throw new StateError("Can't run $state task '$this'.");
diff --git a/pkg/scheduled_test/test/scheduled_test/capture_stack_traces_test.dart b/pkg/scheduled_test/test/scheduled_test/capture_stack_traces_test.dart
deleted file mode 100644
index 25bba20..0000000
--- a/pkg/scheduled_test/test/scheduled_test/capture_stack_traces_test.dart
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.
-
-import 'dart:async';
-import 'dart:io' hide sleep;
-
-import 'package:scheduled_test/scheduled_test.dart';
-
-import '../metatest.dart';
-import '../utils.dart';
-
-void main() {
- setUpTimeout();
-
- expectTestsPass('error includes a stack trace by default', () {
- var error;
- test('test 1', () {
- currentSchedule.onComplete.schedule(() {
- error = currentSchedule.errors.first;
- });
-
- schedule(() => throw 'error');
- });
-
- test('test 2', () {
- // There should be two stack traces: one for the thrown error, and one
- // for the failed task (which is the captured one).
- expect(error.toString(),
- stringContainsInOrder(['Stack trace:', 'Stack trace:']));
- });
- }, passing: ['test 2']);
-
- expectTestsPass('does not capture a stack trace if set to false', () {
- var errorThrown = new Object();
- var error;
- test('test 1', () {
- currentSchedule.captureStackTraces = false;
- currentSchedule.onComplete.schedule(() {
- error = currentSchedule.errors.first;
- });
-
- schedule(() => throw errorThrown);
- });
-
- test('test 2', () {
- // There should only be the stack trace for the thrown exception, but no
- // captured trace for the failed task.
- var numStackTraces = 'Stack trace:'.allMatches(error.toString()).length;
- expect(numStackTraces, equals(1));
- });
- }, passing: ['test 2']);
-}
diff --git a/pkg/stack_trace/lib/src/lazy_trace.dart b/pkg/stack_trace/lib/src/lazy_trace.dart
new file mode 100644
index 0000000..8c44829
--- /dev/null
+++ b/pkg/stack_trace/lib/src/lazy_trace.dart
@@ -0,0 +1,34 @@
+// 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 lazy_trace;
+
+import 'frame.dart';
+import 'trace.dart';
+
+/// A thunk for lazily constructing a [Trace].
+typedef Trace TraceThunk();
+
+/// A wrapper around a [TraceThunk]. This works around issue 9579 by avoiding
+/// the conversion of native [StackTrace]s to strings until it's absolutely
+/// necessary.
+class LazyTrace implements Trace {
+ final TraceThunk _thunk;
+ Trace _inner;
+
+ LazyTrace(this._thunk);
+
+ Trace get _trace {
+ if (_inner == null) _inner = _thunk();
+ return _inner;
+ }
+
+ List<Frame> get frames => _trace.frames;
+ String get stackTrace => _trace.stackTrace;
+ String get fullStackTrace => _trace.fullStackTrace;
+ Trace get terse => new LazyTrace(() => _trace.terse);
+ Trace foldFrames(bool predicate(frame)) =>
+ new LazyTrace(() => _trace.foldFrames(predicate));
+ String toString() => _trace.toString();
+}
diff --git a/pkg/stack_trace/lib/src/trace.dart b/pkg/stack_trace/lib/src/trace.dart
index 54f99db..ffea498 100644
--- a/pkg/stack_trace/lib/src/trace.dart
+++ b/pkg/stack_trace/lib/src/trace.dart
@@ -9,6 +9,7 @@
import 'dart:math' as math;
import 'frame.dart';
+import 'lazy_trace.dart';
final _patchRegExp = new RegExp(r"-patch$");
@@ -42,7 +43,7 @@
throw '';
} catch (_, nativeTrace) {
var trace = new Trace.from(nativeTrace);
- return new Trace(trace.frames.skip(level + 1));
+ return new LazyTrace(() => new Trace(trace.frames.skip(level + 1)));
}
}
@@ -52,7 +53,7 @@
/// a [Trace], it will be returned as-is.
factory Trace.from(StackTrace trace) {
if (trace is Trace) return trace;
- return new Trace.parse(trace.toString());
+ return new LazyTrace(() => new Trace.parse(trace.toString()));
}
/// Parses a string representation of a stack trace.
diff --git a/runtime/lib/errors_patch.dart b/runtime/lib/errors_patch.dart
index 7d763e3..daf8f01 100644
--- a/runtime/lib/errors_patch.dart
+++ b/runtime/lib/errors_patch.dart
@@ -23,7 +23,12 @@
numPositionalArguments -= numNamedArguments;
List positionalArguments;
if (numPositionalArguments == 0) {
- positionalArguments = [];
+ // Differ between no arguments specified and 0 arguments.
+ // TODO(srdjan): This can currently occur for unresolvable static methods.
+ // In that case, the arguments are evaluated but not passed to the
+ // throwing stub (see EffectGraphVisitor::BuildThrowNoSuchMethodError and
+ // Parser::ThrowNoSuchMethodError)).
+ positionalArguments = argumentNames == null ? null : [];
} else {
positionalArguments = arguments.sublist(0, numPositionalArguments);
}
@@ -79,8 +84,13 @@
msg = "The null object does not have a $type_str '$_memberName'"
"$args_message.";
} else {
- msg = "Class '${_receiver.runtimeType}' has no instance $type_str "
- "'$_memberName'$args_message.";
+ if (_receiver is Function) {
+ msg = "Closure call with mismatched arguments: "
+ "function '$_memberName'";
+ } else {
+ msg = "Class '${_receiver.runtimeType}' has no instance $type_str "
+ "'$_memberName'$args_message.";
+ }
}
break;
}
@@ -94,7 +104,7 @@
break;
}
case _InvocationMirror._TOP_LEVEL: {
- msg = "No top-level $type_str '$_memberName' declared.";
+ msg = "No top-level $type_str '$_memberName'$args_message declared.";
break;
}
}
@@ -104,7 +114,12 @@
/* patch */ String toString() {
StringBuffer actual_buf = new StringBuffer();
int i = 0;
- if (_arguments != null) {
+ if (_arguments == null) {
+ // Actual arguments unknown.
+ // TODO(srdjan): Remove once arguments are passed for unresolvable
+ // static methods.
+ actual_buf.write("...");
+ } else {
for (; i < _arguments.length; i++) {
if (i > 0) {
actual_buf.write(", ");
diff --git a/runtime/lib/object.cc b/runtime/lib/object.cc
index 8bc8e4d..bebc1c6 100644
--- a/runtime/lib/object.cc
+++ b/runtime/lib/object.cc
@@ -40,13 +40,17 @@
if (is_method.value()) {
// Report if a function with same name (but different arguments) has been
// found.
- Class& instance_class = Class::Handle(instance.clazz());
- Function& function =
- Function::Handle(instance_class.LookupDynamicFunction(member_name));
- while (function.IsNull()) {
- instance_class = instance_class.SuperClass();
- if (instance_class.IsNull()) break;
+ Function& function = Function::Handle();
+ if (instance.IsClosure()) {
+ function = Closure::function(instance);
+ } else {
+ Class& instance_class = Class::Handle(instance.clazz());
function = instance_class.LookupDynamicFunction(member_name);
+ while (function.IsNull()) {
+ instance_class = instance_class.SuperClass();
+ if (instance_class.IsNull()) break;
+ function = instance_class.LookupDynamicFunction(member_name);
+ }
}
if (!function.IsNull()) {
const int total_num_parameters = function.NumParameters();
diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc
index 9df2cab..25ffdf1 100644
--- a/runtime/vm/code_generator.cc
+++ b/runtime/vm/code_generator.cc
@@ -1086,7 +1086,14 @@
const Array& orig_arguments_desc = Array::CheckedHandle(arguments.ArgAt(2));
const Array& orig_arguments = Array::CheckedHandle(arguments.ArgAt(3));
- const String& original_function_name = String::Handle(ic_data.target_name());
+ String& original_function_name = String::Handle(ic_data.target_name());
+ if (receiver.IsClosure()) {
+ // For closure the function name is always 'call'. Replace it with the
+ // name of the closurized function so that exception contains more
+ // relevant information.
+ const Function& function = Function::Handle(Closure::function(receiver));
+ original_function_name = function.QualifiedUserVisibleName();
+ }
const Object& result = Object::Handle(
DartEntry::InvokeNoSuchMethod(receiver,
original_function_name,
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
index 63f4ca4..dc2e042 100644
--- a/runtime/vm/compiler.cc
+++ b/runtime/vm/compiler.cc
@@ -449,8 +449,10 @@
var_name = var_descriptors.GetName(i);
RawLocalVarDescriptors::VarInfo var_info;
var_descriptors.GetInfo(i, &var_info);
- if (var_info.kind == RawLocalVarDescriptors::kContextChain) {
- OS::Print(" saved CTX reg offset %"Pd"\n", var_info.index);
+ if (var_info.kind == RawLocalVarDescriptors::kSavedEntryContext) {
+ OS::Print(" saved caller's CTX reg offset %"Pd"\n", var_info.index);
+ } else if (var_info.kind == RawLocalVarDescriptors::kSavedCurrentContext) {
+ OS::Print(" saved current CTX reg offset %"Pd"\n", var_info.index);
} else {
if (var_info.kind == RawLocalVarDescriptors::kContextLevel) {
OS::Print(" context level %"Pd" scope %d",
diff --git a/runtime/vm/dart_api_impl_test.cc b/runtime/vm/dart_api_impl_test.cc
index ae47a18..f79c008 100644
--- a/runtime/vm/dart_api_impl_test.cc
+++ b/runtime/vm/dart_api_impl_test.cc
@@ -5923,7 +5923,7 @@
EXPECT_VALID(result);
result = Dart_Invoke(test_script, NewString("e1"), 0, NULL);
- EXPECT_ERROR(result, "method not found: 'unpatched'");
+ EXPECT_ERROR(result, "No top-level method 'unpatched'");
int64_t value = 0;
result = Dart_Invoke(test_script, NewString("m1"), 0, NULL);
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 0023217..0692ef5 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -339,13 +339,15 @@
}
-RawContext* ActivationFrame::GetSavedContext(const Context& ctx) {
+// Get the caller's context, or return ctx if the function does not
+// save the caller's context on entry.
+RawContext* ActivationFrame::GetSavedEntryContext(const Context& ctx) {
GetVarDescriptors();
intptr_t var_desc_len = var_descriptors_.Length();
for (int i = 0; i < var_desc_len; i++) {
RawLocalVarDescriptors::VarInfo var_info;
var_descriptors_.GetInfo(i, &var_info);
- if (var_info.kind == RawLocalVarDescriptors::kContextChain) {
+ if (var_info.kind == RawLocalVarDescriptors::kSavedEntryContext) {
return reinterpret_cast<RawContext*>(GetLocalVarValue(var_info.index));
}
}
@@ -353,6 +355,22 @@
}
+// Get the saved context if the callee of this activation frame is a
+// closure function.
+RawContext* ActivationFrame::GetSavedCurrentContext() {
+ GetVarDescriptors();
+ intptr_t var_desc_len = var_descriptors_.Length();
+ for (int i = 0; i < var_desc_len; i++) {
+ RawLocalVarDescriptors::VarInfo var_info;
+ var_descriptors_.GetInfo(i, &var_info);
+ if (var_info.kind == RawLocalVarDescriptors::kSavedCurrentContext) {
+ return reinterpret_cast<RawContext*>(GetLocalVarValue(var_info.index));
+ }
+ }
+ return Context::null();
+}
+
+
ActivationFrame* DebuggerStackTrace::GetHandlerFrame(
const Instance& exc_obj) const {
ExceptionHandlers& handlers = ExceptionHandlers::Handle();
@@ -891,15 +909,40 @@
frame->fp(),
frame->sp(),
code);
+ // If this activation frame called a closure, the function has
+ // saved its context before the call.
+ if (stack_trace->Length() > 0) {
+ ActivationFrame* callee_frame =
+ stack_trace->ActivationFrameAt(stack_trace->Length() - 1);
+ if (callee_frame->function().IsClosureFunction()) {
+ ctx = activation->GetSavedCurrentContext();
+ if (FLAG_verbose_debug && ctx.IsNull()) {
+ const Function& caller = activation->function();
+ const Function& callee = callee_frame->function();
+ const Script& script =
+ Script::Handle(Class::Handle(caller.Owner()).script());
+ intptr_t line, col;
+ script.GetTokenLocation(activation->TokenPos(), &line, &col);
+ printf("CollectStackTrace error: no saved context in function "
+ "'%s' which calls closure '%s' "
+ " in line %"Pd" column %"Pd"\n",
+ caller.ToFullyQualifiedCString(),
+ callee.ToFullyQualifiedCString(),
+ line, col);
+ }
+ ASSERT(!ctx.IsNull());
+ }
+ }
if (optimized_frame_found || code.is_optimized()) {
// Set context to null, to avoid returning bad context variable values.
activation->SetContext(Context::Handle());
optimized_frame_found = true;
} else {
activation->SetContext(ctx);
- ctx = activation->GetSavedContext(ctx);
}
stack_trace->AddActivation(activation);
+ // Get caller's context if this function saved it on entry.
+ ctx = activation->GetSavedEntryContext(ctx);
} else if (frame->IsEntryFrame()) {
ctx = reinterpret_cast<EntryFrame*>(frame)->SavedContext();
}
@@ -1641,7 +1684,6 @@
// Remove and delete the source breakpoint bpt and its associated
// code breakpoints.
void Debugger::RemoveBreakpoint(intptr_t bp_id) {
- ASSERT(src_breakpoints_ != NULL);
SourceBreakpoint* prev_bpt = NULL;
SourceBreakpoint* curr_bpt = src_breakpoints_;
while (curr_bpt != NULL) {
diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
index 94863b4..cef4502 100644
--- a/runtime/vm/debugger.h
+++ b/runtime/vm/debugger.h
@@ -159,7 +159,8 @@
Instance* value);
RawArray* GetLocalVariables();
- RawContext* GetSavedContext(const Context& ctx);
+ RawContext* GetSavedEntryContext(const Context& ctx);
+ RawContext* GetSavedCurrentContext();
private:
intptr_t PcDescIndex();
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index 9a7cf79..b4b833a 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -3240,6 +3240,7 @@
Smi::ZoneHandle(Smi::New(invocation_type))));
arguments->Add(PushArgument(invocation_type_value));
// List arguments.
+ // TODO(regis): Pass arguments.
Value* arguments_value = Bind(new ConstantInstr(Array::ZoneHandle()));
arguments->Add(PushArgument(arguments_value));
// List argumentNames.
diff --git a/runtime/vm/flow_graph_compiler_arm.cc b/runtime/vm/flow_graph_compiler_arm.cc
index acd4925..3f0078a 100644
--- a/runtime/vm/flow_graph_compiler_arm.cc
+++ b/runtime/vm/flow_graph_compiler_arm.cc
@@ -756,6 +756,8 @@
// R5 : ic-data.
// R4 : arguments descriptor array.
__ BranchLink(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
@@ -940,6 +942,8 @@
// R5 : ic-data.
// R4 : arguments descriptor array.
__ BranchLink(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
diff --git a/runtime/vm/flow_graph_compiler_ia32.cc b/runtime/vm/flow_graph_compiler_ia32.cc
index bc3d443..ac8423e 100644
--- a/runtime/vm/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/flow_graph_compiler_ia32.cc
@@ -850,6 +850,8 @@
// ECX : ic-data.
// EDX : arguments descriptor array.
__ call(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
@@ -1009,6 +1011,8 @@
// ECX : ic-data.
// EDX : arguments descriptor array.
__ call(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
diff --git a/runtime/vm/flow_graph_compiler_mips.cc b/runtime/vm/flow_graph_compiler_mips.cc
index 4308491..2c286f1 100644
--- a/runtime/vm/flow_graph_compiler_mips.cc
+++ b/runtime/vm/flow_graph_compiler_mips.cc
@@ -774,6 +774,8 @@
// S5 : ic-data.
// S4 : arguments descriptor array.
__ BranchLink(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
@@ -984,6 +986,8 @@
// S5 : ic-data.
// S4 : arguments descriptor array.
__ BranchLink(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
diff --git a/runtime/vm/flow_graph_compiler_x64.cc b/runtime/vm/flow_graph_compiler_x64.cc
index d566fa1..ca8a7e0 100644
--- a/runtime/vm/flow_graph_compiler_x64.cc
+++ b/runtime/vm/flow_graph_compiler_x64.cc
@@ -848,6 +848,8 @@
// RBX : ic-data.
// R10 : arguments descriptor array.
__ call(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
@@ -1008,6 +1010,8 @@
// RBX : ic-data.
// R10 : arguments descriptor array.
__ call(&StubCode::CallNoSuchMethodFunctionLabel());
+ // Emit descriptors in order to provide correct postion in stacktrace.
+ AddCurrentDescriptor(PcDescriptors::kOther, -1, function.token_pos());
if (is_optimizing()) {
stackmap_table_builder_->AddEntry(assembler()->CodeSize(),
empty_stack_bitmap,
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 30a8cd0..a222421 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -12364,7 +12364,14 @@
const char* Array::ToCString() const {
- return "Array";
+ if (IsNull()) {
+ return "Array NULL";
+ }
+ const char* format = "Array len:%"Pd"";
+ intptr_t len = OS::SNPrint(NULL, 0, format, Length()) + 1;
+ char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
+ OS::SNPrint(chars, len, format, Length());
+ return chars;
}
@@ -12429,7 +12436,14 @@
const char* ImmutableArray::ToCString() const {
- return "ImmutableArray";
+ if (IsNull()) {
+ return "ImmutableArray NULL";
+ }
+ const char* format = "ImmutableArray len:%"Pd"";
+ intptr_t len = OS::SNPrint(NULL, 0, format, Length()) + 1;
+ char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
+ OS::SNPrint(chars, len, format, Length());
+ return chars;
}
@@ -12540,7 +12554,14 @@
const char* GrowableObjectArray::ToCString() const {
- return "GrowableObjectArray";
+ if (IsNull()) {
+ return "GrowableObjectArray NULL";
+ }
+ const char* format = "GrowableObjectArray len:%"Pd"";
+ intptr_t len = OS::SNPrint(NULL, 0, format, Length()) + 1;
+ char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
+ OS::SNPrint(chars, len, format, Length());
+ return chars;
}
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index 854dd5e..56e8aeb 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -2341,6 +2341,7 @@
#endif
EXPECT((retval >> kSmiTagShift) == kSmiTestValue);
}
+#endif // ARCH_IS_64_BIT
TEST_CASE(ExceptionHandlers) {
@@ -3203,6 +3204,4 @@
EXPECT_EQ(test6.SourceFingerprint(), test7.SourceFingerprint());
}
-#endif // TARGET_ARCH_IA32 || TARGET_ARCH_X64 || TARGET_ARCH_ARM
-
} // namespace dart
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index d409f54..b7814db 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -6756,7 +6756,22 @@
// List argumentNames.
arguments->Add(new LiteralNode(call_pos, Array::ZoneHandle()));
// List existingArgumentNames.
- arguments->Add(new LiteralNode(call_pos, Array::ZoneHandle()));
+ // Check if there exists a function with the same name.
+ Function& function =
+ Function::Handle(cls.LookupStaticFunction(function_name));
+ if (function.IsNull()) {
+ // TODO(srdjan): Store argument values into the argument list.
+ arguments->Add(new LiteralNode(call_pos, Array::ZoneHandle()));
+ } else {
+ const int total_num_parameters = function.NumParameters();
+ Array& array = Array::ZoneHandle(Array::New(total_num_parameters));
+ array ^= array.Canonicalize();
+ // Skip receiver.
+ for (int i = 0; i < total_num_parameters; i++) {
+ array.SetAt(i, String::Handle(function.ParameterNameAt(i)));
+ }
+ arguments->Add(new LiteralNode(call_pos, array));
+ }
return MakeStaticCall(Symbols::NoSuchMethodError(),
PrivateCoreLibName(Symbols::ThrowNew()),
arguments);
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index d7ed903..e4bf736 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -885,7 +885,8 @@
kStackVar = 1,
kContextVar,
kContextLevel,
- kContextChain
+ kSavedEntryContext,
+ kSavedCurrentContext
};
struct VarInfo {
diff --git a/runtime/vm/scopes.cc b/runtime/vm/scopes.cc
index 137f6b8..ebd35f6 100644
--- a/runtime/vm/scopes.cc
+++ b/runtime/vm/scopes.cc
@@ -258,13 +258,23 @@
desc.info.end_pos = var->owner()->end_token_pos();
desc.info.index = var->index();
vars->Add(desc);
- } else if (var->name().Equals(
- Symbols::Name(Symbols::kSavedEntryContextVarId))) {
+ } else if (var->name().Equals(Symbols::SavedEntryContextVar())) {
// This is the local variable in which the function saves the
// caller's chain of closure contexts (caller's CTX register).
VarDesc desc;
desc.name = &var->name();
- desc.info.kind = RawLocalVarDescriptors::kContextChain;
+ desc.info.kind = RawLocalVarDescriptors::kSavedEntryContext;
+ desc.info.scope_id = 0;
+ desc.info.begin_pos = 0;
+ desc.info.end_pos = 0;
+ desc.info.index = var->index();
+ vars->Add(desc);
+ } else if (var->name().Equals(Symbols::SavedCurrentContextVar())) {
+ // This is the local variable in which the function saves its
+ // own context before calling a closure function.
+ VarDesc desc;
+ desc.name = &var->name();
+ desc.info.kind = RawLocalVarDescriptors::kSavedCurrentContext;
desc.info.scope_id = 0;
desc.info.begin_pos = 0;
desc.info.end_pos = 0;
diff --git a/sdk/lib/_internal/pub/lib/src/lock_file.dart b/sdk/lib/_internal/pub/lib/src/lock_file.dart
index 2f39161..1e85a4d 100644
--- a/sdk/lib/_internal/pub/lib/src/lock_file.dart
+++ b/sdk/lib/_internal/pub/lib/src/lock_file.dart
@@ -5,6 +5,7 @@
library lock_file;
import 'dart:json' as json;
+import 'dart:collection';
import 'package:yaml/yaml.dart';
@@ -88,12 +89,16 @@
/// Returns the serialized YAML text of the lock file.
String serialize() {
- var packagesObj = <String, Map>{};
- packages.forEach((name, id) {
+ var packagesObj = new LinkedHashMap<String, Map>();
+
+ // Sort the packages by name.
+ var sortedKeys = packages.keys.toList();
+ sortedKeys.sort();
+ sortedKeys.forEach((name) {
packagesObj[name] = {
- 'version': id.version.toString(),
- 'source': id.source.name,
- 'description': id.description
+ 'version': packages[name].version.toString(),
+ 'source': packages[name].source.name,
+ 'description': packages[name].description
};
});
diff --git a/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart b/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart
index c5580a9..efb6fba 100644
--- a/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart
+++ b/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart
@@ -168,7 +168,7 @@
/// version of it. If there are no more versions, continues to backtrack to
/// previous selections, and so on. If there is nothing left to backtrack to,
/// completes to the last failure that occurred.
- Future<List<PackageId>> _traverseSolution() {
+ Future<List<PackageId>> _traverseSolution() => resetStack(() {
return new Traverser(this).traverse().catchError((error) {
if (error is! SolveFailure) throw error;
@@ -180,7 +180,7 @@
// All out of solutions, so fail.
throw error;
});
- }
+ });
/// Backtracks from the current failed solution and determines the next
/// solution to try. If possible, it will backjump based on the cause of the
@@ -192,29 +192,7 @@
var dependers = failure.dependencies.map((dep) => dep.depender).toSet();
while (!_selected.isEmpty) {
- // Look for a relevant selection to jump back to.
- for (var i = _selected.length - 1; i >= 0; i--) {
- // Can't jump to a package that has no more alternatives.
- if (_selected[i].length == 1) continue;
-
- var selected = _selected[i].first;
-
- // If we find the package itself that failed, jump to it.
- if (selected.name == failure.package) {
- logSolve('jump to selected package ${failure.package}');
- _selected.removeRange(i + 1, _selected.length);
- break;
- }
-
- // See if this package directly or indirectly depends on [package].
- var path = _getDependencyPath(selected, failure.package);
- if (path != null) {
- logSolve('backjump to ${selected.name} because it depends on '
- '${failure.package} by $path');
- _selected.removeRange(i + 1, _selected.length);
- break;
- }
- }
+ _backjump(failure);
// Advance past the current version of the leaf-most package.
var previous = _selected.last.removeFirst();
@@ -232,6 +210,44 @@
return false;
}
+ /// Walks the selected packages from most to least recent to determine which
+ /// ones can be ignored and jumped over by the backtracker. The only packages
+ /// we need to backtrack to are ones that have other versions to try and that
+ /// led (possibly indirectly) to the failure. Everything else can be skipped.
+ void _backjump(SolveFailure failure) {
+ for (var i = _selected.length - 1; i >= 0; i--) {
+ // Each queue will never be empty since it gets discarded by _backtrack()
+ // when that happens.
+ var selected = _selected[i].first;
+
+ // If the package has no more versions, we can jump over it.
+ if (_selected[i].length == 1) continue;
+
+ // If we get to the package that failed, backtrack to here.
+ if (selected.name == failure.package) {
+ logSolve('backjump to failed package ${selected.name}');
+ _selected.removeRange(i + 1, _selected.length);
+ return;
+ }
+
+ // If we get to a package that depends on the failing package, backtrack
+ // to here.
+ var path = _getDependencyPath(selected, failure.package);
+ if (path != null) {
+ logSolve('backjump to ${selected.name} because it depends on '
+ '${failure.package} along $path');
+ _selected.removeRange(i + 1, _selected.length);
+ return;
+ }
+ }
+
+ // If we got here, we walked the entire list without finding a package that
+ // could lead to another solution, so discard everything. This will happen
+ // if every package that led to the failure has no other versions that it
+ // can try to select.
+ _selected.removeRange(1, _selected.length);
+ }
+
/// Determines if [depender] has a direct or indirect dependency on
/// [dependent] based on the currently selected versions of all packages.
/// Returns a string describing the dependency chain if it does, or `null` if
@@ -407,9 +423,7 @@
// Move onto the next package if we've traversed all of these references.
if (deps.isEmpty) return _traversePackage();
- // Pump the event loop to flatten the stack trace and workaround #9583.
- // If that bug is fixed, this can be Future.sync() instead.
- return new Future(() {
+ return resetStack(() {
var dep = deps.removeFirst();
_validateDependency(dep, depender);
@@ -594,7 +608,7 @@
if (pubspec.environment.sdkVersion.allows(sdk.version)) return;
- throw new CouldNotSolveException(
+ throw new BadSdkVersionException(pubspec.name,
'Package ${pubspec.name} requires SDK version '
'${pubspec.environment.sdkVersion} but the current SDK is '
'${sdk.version}.');
diff --git a/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart b/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
index efd9e85..885acdc 100644
--- a/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
+++ b/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
@@ -218,13 +218,12 @@
"depends on version ${dep.constraint}";
}
-/// Exception thrown when the [VersionSolver] fails to find a solution after a
-/// certain number of iterations.
-class CouldNotSolveException extends SolveFailure {
- CouldNotSolveException([String message])
- : super(null, null),
- _message = (message != null) ? message :
- "Could not find a solution that met all constraints.";
+/// Exception thrown when the current SDK's version does not match a package's
+/// constraint on it.
+class BadSdkVersionException extends SolveFailure {
+ BadSdkVersionException(String package, String message)
+ : super(package, null),
+ _message = message;
/// A message describing the specific kind of solve failure.
final String _message;
diff --git a/sdk/lib/_internal/pub/lib/src/utils.dart b/sdk/lib/_internal/pub/lib/src/utils.dart
index c631381..a3f0f97 100644
--- a/sdk/lib/_internal/pub/lib/src/utils.dart
+++ b/sdk/lib/_internal/pub/lib/src/utils.dart
@@ -384,6 +384,31 @@
}
}
+/// Wraps [fn] to guard against several different kinds of stack overflow
+/// exceptions:
+///
+/// * A sufficiently long [Future] chain can cause a stack overflow if there are
+/// no asynchronous operations in it (issue 9583).
+/// * A recursive function that recurses too deeply without an asynchronous
+/// operation can cause a stack overflow.
+/// * Even if the former is guarded against by adding asynchronous operations,
+/// returning a value through the [Future] chain can still cause a stack
+/// overflow.
+Future resetStack(fn()) {
+ // Using a [Completer] breaks the [Future] chain for the return value and
+ // avoids the third case described above.
+ var completer = new Completer();
+
+ // Using [new Future] adds an asynchronous operation that works around the
+ // first and second cases described above.
+ new Future(fn).then((val) {
+ runAsync(() => completer.complete(val));
+ }).catchError((err) {
+ runAsync(() => completer.completeError(err));
+ });
+ return completer.future;
+}
+
/// An exception class for exceptions that are intended to be seen by the user.
/// These exceptions won't have any debugging information printed when they're
/// thrown.
diff --git a/sdk/lib/_internal/pub/pub.status b/sdk/lib/_internal/pub/pub.status
index 93d4029..4e60ccb 100644
--- a/sdk/lib/_internal/pub/pub.status
+++ b/sdk/lib/_internal/pub/pub.status
@@ -14,5 +14,6 @@
*: Skip
[ $system == windows ]
+test/install/git/dependency_name_match_pubspec_test: Fail # Issue 10348
test/io_test: Fail # Issue 7505
test/install/hosted/fail_gracefully_on_url_resolve_test: Pass, Fail # Issue 9503
diff --git a/sdk/lib/_internal/pub/test/lock_file_test.dart b/sdk/lib/_internal/pub/test/lock_file_test.dart
index 95fcd71..0f7fe53 100644
--- a/sdk/lib/_internal/pub/test/lock_file_test.dart
+++ b/sdk/lib/_internal/pub/test/lock_file_test.dart
@@ -159,12 +159,16 @@
});
group('serialize()', () {
+ var lockfile;
+ setUp(() {
+ lockfile = new LockFile.empty();
+ });
+
test('dumps the lockfile to YAML', () {
- var lockfile = new LockFile.empty();
lockfile.packages['foo'] = new PackageId(
'foo', mockSource, new Version.parse('1.2.3'), 'foo desc');
lockfile.packages['bar'] = new PackageId(
- 'foo', mockSource, new Version.parse('3.2.1'), 'bar desc');
+ 'bar', mockSource, new Version.parse('3.2.1'), 'bar desc');
expect(loadYaml(lockfile.serialize()), equals({
'packages': {
@@ -181,6 +185,29 @@
}
}));
});
+
+ test('lockfile is alphabetized by package name', () {
+ var testNames = ['baz', 'Qwe', 'Q', 'B', 'Bar', 'bar', 'foo'];
+ testNames.forEach((name) {
+ lockfile.packages[name] = new PackageId(name, mockSource,
+ new Version.parse('5.5.5'), '$name desc');
+ });
+
+ expect(lockfile.serialize(),
+ '# Generated by pub\n'
+ '# See http://pub.dartlang.org/doc/glossary.html#lockfile\n'
+ '\n'
+ '{"packages":{'
+ '"B":{"version":"5.5.5","source":"mock","description":"B desc"},'
+ '"Bar":{"version":"5.5.5","source":"mock","description":"Bar desc"},'
+ '"Q":{"version":"5.5.5","source":"mock","description":"Q desc"},'
+ '"Qwe":{"version":"5.5.5","source":"mock","description":"Qwe desc"},'
+ '"bar":{"version":"5.5.5","source":"mock","description":"bar desc"},'
+ '"baz":{"version":"5.5.5","source":"mock","description":"baz desc"},'
+ '"foo":{"version":"5.5.5","source":"mock","description":"foo desc"}}}'
+ '\n'
+ );
+ });
});
});
}
diff --git a/sdk/lib/_internal/pub/test/test_pub.dart b/sdk/lib/_internal/pub/test/test_pub.dart
index b978d54..dbc326c 100644
--- a/sdk/lib/_internal/pub/test/test_pub.dart
+++ b/sdk/lib/_internal/pub/test/test_pub.dart
@@ -250,11 +250,6 @@
currentSchedule.timeout = new Duration(seconds: 10);
}
- // By default, don't capture stack traces since they slow the tests way
- // down. To debug failing tests, comment this out.
- currentSchedule.captureStackTraces =
- new Options().arguments.contains('--trace');
-
// Ensure the SDK version is always available.
d.dir(sdkPath, [
d.file('version', '0.1.2.3')
diff --git a/sdk/lib/_internal/pub/test/version_solver_test.dart b/sdk/lib/_internal/pub/test/version_solver_test.dart
index 6c2cb22..35af3ac 100644
--- a/sdk/lib/_internal/pub/test/version_solver_test.dart
+++ b/sdk/lib/_internal/pub/test/version_solver_test.dart
@@ -10,6 +10,7 @@
import 'package:unittest/unittest.dart';
import '../lib/src/lock_file.dart';
+import '../lib/src/log.dart' as log;
import '../lib/src/package.dart';
import '../lib/src/pubspec.dart';
import '../lib/src/sdk.dart' as sdk;
@@ -27,6 +28,9 @@
main() {
initConfig();
+ // Uncomment this to debug failing tests.
+ // log.showSolver();
+
// Since this test isn't run from the SDK, it can't find the "version" file
// to load. Instead, just manually inject a version.
sdk.version = new Version(1, 2, 3);
@@ -484,6 +488,111 @@
'c': '1.0.0'
}, maxTries: 2);
+ // Tests that the backjumper will jump past unrelated selections when a
+ // source conflict occurs. This test selects, in order:
+ // - myapp -> a
+ // - myapp -> b
+ // - myapp -> c (1 of 5)
+ // - b -> a
+ // It selects a and b first because they have fewer versions than c. It
+ // traverses b's dependency on a after selecting a version of c because
+ // dependencies are traversed breadth-first (all of myapps's immediate deps
+ // before any other their deps).
+ //
+ // This means it doesn't discover the source conflict until after selecting
+ // c. When that happens, it should backjump past c instead of trying older
+ // versions of it since they aren't related to the conflict.
+ testResolve('backjump to conflicting source', {
+ 'myapp 0.0.0': {
+ 'a': 'any',
+ 'b': 'any',
+ 'c': 'any'
+ },
+ 'a 1.0.0': {},
+ 'a 1.0.0 from mock2': {},
+ 'b 1.0.0': {
+ 'a': 'any'
+ },
+ 'b 2.0.0': {
+ 'a from mock2': 'any'
+ },
+ 'c 1.0.0': {},
+ 'c 2.0.0': {},
+ 'c 3.0.0': {},
+ 'c 4.0.0': {},
+ 'c 5.0.0': {},
+ }, result: {
+ 'myapp from root': '0.0.0',
+ 'a': '1.0.0',
+ 'b': '1.0.0',
+ 'c': '5.0.0'
+ }, maxTries: 2);
+
+ // Like the above test, but for a conflicting description.
+ testResolve('backjump to conflicting description', {
+ 'myapp 0.0.0': {
+ 'a-x': 'any',
+ 'b': 'any',
+ 'c': 'any'
+ },
+ 'a-x 1.0.0': {},
+ 'a-y 1.0.0': {},
+ 'b 1.0.0': {
+ 'a-x': 'any'
+ },
+ 'b 2.0.0': {
+ 'a-y': 'any'
+ },
+ 'c 1.0.0': {},
+ 'c 2.0.0': {},
+ 'c 3.0.0': {},
+ 'c 4.0.0': {},
+ 'c 5.0.0': {},
+ }, result: {
+ 'myapp from root': '0.0.0',
+ 'a': '1.0.0',
+ 'b': '1.0.0',
+ 'c': '5.0.0'
+ }, maxTries: 2);
+
+ // Similar to the above two tests but where there is no solution. It should
+ // fail in this case with no backtracking.
+ testResolve('backjump to conflicting source', {
+ 'myapp 0.0.0': {
+ 'a': 'any',
+ 'b': 'any',
+ 'c': 'any'
+ },
+ 'a 1.0.0': {},
+ 'a 1.0.0 from mock2': {},
+ 'b 1.0.0': {
+ 'a from mock2': 'any'
+ },
+ 'c 1.0.0': {},
+ 'c 2.0.0': {},
+ 'c 3.0.0': {},
+ 'c 4.0.0': {},
+ 'c 5.0.0': {},
+ }, error: sourceMismatch('myapp', 'b'), maxTries: 1);
+
+ testResolve('backjump to conflicting description', {
+ 'myapp 0.0.0': {
+ 'a-x': 'any',
+ 'b': 'any',
+ 'c': 'any'
+ },
+ 'a-x 1.0.0': {},
+ 'a-y 1.0.0': {},
+ 'b 1.0.0': {
+ 'a-y': 'any'
+ },
+ 'c 1.0.0': {},
+ 'c 2.0.0': {},
+ 'c 3.0.0': {},
+ 'c 4.0.0': {},
+ 'c 5.0.0': {},
+ }, error: descriptionMismatch('myapp', 'b'), maxTries: 1);
+
// Dependencies are ordered so that packages with fewer versions are tried
// first. Here, there are two valid solutions (either a or b must be
// downgraded once). The chosen one depends on which dep is traversed first.
@@ -619,13 +728,31 @@
}, useBleedingEdgeSdkVersion: true);
}
-testResolve(description, packages,
- {lockfile, result, FailMatcherBuilder error, int maxTries,
+testResolve(description, packages, {
+ lockfile, result, FailMatcherBuilder error, int maxTries,
+ bool useBleedingEdgeSdkVersion}) {
+ _testResolve(test, description, packages, lockfile: lockfile, result: result,
+ error: error, maxTries: maxTries,
+ useBleedingEdgeSdkVersion: useBleedingEdgeSdkVersion);
+}
+
+solo_testResolve(description, packages, {
+ lockfile, result, FailMatcherBuilder error, int maxTries,
+ bool useBleedingEdgeSdkVersion}) {
+ log.showSolver();
+ _testResolve(solo_test, description, packages, lockfile: lockfile,
+ result: result, error: error, maxTries: maxTries,
+ useBleedingEdgeSdkVersion: useBleedingEdgeSdkVersion);
+}
+
+_testResolve(void testFn(String description, Function body),
+ description, packages, {
+ lockfile, result, FailMatcherBuilder error, int maxTries,
bool useBleedingEdgeSdkVersion}) {
if (maxTries == null) maxTries = 1;
if (useBleedingEdgeSdkVersion == null) useBleedingEdgeSdkVersion = false;
- test(description, () {
+ testFn(description, () {
var cache = new SystemCache('.');
source1 = new MockSource('mock1');
source2 = new MockSource('mock2');
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 39e95a4..d25e580 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -672,20 +672,12 @@
return _slice_4();
}
- @DomName('Blob._slice_1')
- @DocsEditable
Blob _slice_1(start, end, contentType) native "Blob__slice_1_Callback";
- @DomName('Blob._slice_2')
- @DocsEditable
Blob _slice_2(start, end) native "Blob__slice_2_Callback";
- @DomName('Blob._slice_3')
- @DocsEditable
Blob _slice_3(start) native "Blob__slice_3_Callback";
- @DomName('Blob._slice_4')
- @DocsEditable
Blob _slice_4() native "Blob__slice_4_Callback";
}
@@ -1381,12 +1373,8 @@
return;
}
- @DomName('CanvasRenderingContext2D._clip_1')
- @DocsEditable
void _clip_1(winding) native "CanvasRenderingContext2D__clip_1_Callback";
- @DomName('CanvasRenderingContext2D._clip_2')
- @DocsEditable
void _clip_2() native "CanvasRenderingContext2D__clip_2_Callback";
@DomName('CanvasRenderingContext2D.closePath')
@@ -1415,12 +1403,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('CanvasRenderingContext2D._createPattern_1')
- @DocsEditable
CanvasPattern _createPattern_1(canvas_OR_image, repetitionType) native "CanvasRenderingContext2D__createPattern_1_Callback";
- @DomName('CanvasRenderingContext2D._createPattern_2')
- @DocsEditable
CanvasPattern _createPattern_2(canvas_OR_image, repetitionType) native "CanvasRenderingContext2D__createPattern_2_Callback";
@DomName('CanvasRenderingContext2D.createRadialGradient')
@@ -1467,40 +1451,22 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('CanvasRenderingContext2D._drawImage_1')
- @DocsEditable
void _drawImage_1(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y) native "CanvasRenderingContext2D__drawImage_1_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_2')
- @DocsEditable
void _drawImage_2(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh) native "CanvasRenderingContext2D__drawImage_2_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_3')
- @DocsEditable
void _drawImage_3(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh) native "CanvasRenderingContext2D__drawImage_3_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_4')
- @DocsEditable
void _drawImage_4(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y) native "CanvasRenderingContext2D__drawImage_4_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_5')
- @DocsEditable
void _drawImage_5(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh) native "CanvasRenderingContext2D__drawImage_5_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_6')
- @DocsEditable
void _drawImage_6(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh) native "CanvasRenderingContext2D__drawImage_6_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_7')
- @DocsEditable
void _drawImage_7(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y) native "CanvasRenderingContext2D__drawImage_7_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_8')
- @DocsEditable
void _drawImage_8(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh) native "CanvasRenderingContext2D__drawImage_8_Callback";
- @DomName('CanvasRenderingContext2D._drawImage_9')
- @DocsEditable
void _drawImage_9(canvas_OR_image_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh) native "CanvasRenderingContext2D__drawImage_9_Callback";
void fill([String winding]) {
@@ -1512,12 +1478,8 @@
return;
}
- @DomName('CanvasRenderingContext2D._fill_1')
- @DocsEditable
void _fill_1(winding) native "CanvasRenderingContext2D__fill_1_Callback";
- @DomName('CanvasRenderingContext2D._fill_2')
- @DocsEditable
void _fill_2() native "CanvasRenderingContext2D__fill_2_Callback";
@DomName('CanvasRenderingContext2D.fillRect')
@@ -1533,12 +1495,8 @@
return;
}
- @DomName('CanvasRenderingContext2D._fillText_1')
- @DocsEditable
void _fillText_1(text, x, y, maxWidth) native "CanvasRenderingContext2D__fillText_1_Callback";
- @DomName('CanvasRenderingContext2D._fillText_2')
- @DocsEditable
void _fillText_2(text, x, y) native "CanvasRenderingContext2D__fillText_2_Callback";
@DomName('CanvasRenderingContext2D.getImageData')
@@ -1556,12 +1514,8 @@
return _isPointInPath_2(x, y);
}
- @DomName('CanvasRenderingContext2D._isPointInPath_1')
- @DocsEditable
bool _isPointInPath_1(x, y, winding) native "CanvasRenderingContext2D__isPointInPath_1_Callback";
- @DomName('CanvasRenderingContext2D._isPointInPath_2')
- @DocsEditable
bool _isPointInPath_2(x, y) native "CanvasRenderingContext2D__isPointInPath_2_Callback";
@DomName('CanvasRenderingContext2D.isPointInStroke')
@@ -1592,12 +1546,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('CanvasRenderingContext2D._putImageData_1')
- @DocsEditable
void _putImageData_1(imagedata, dx, dy) native "CanvasRenderingContext2D__putImageData_1_Callback";
- @DomName('CanvasRenderingContext2D._putImageData_2')
- @DocsEditable
void _putImageData_2(imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight) native "CanvasRenderingContext2D__putImageData_2_Callback";
@DomName('CanvasRenderingContext2D.quadraticCurveTo')
@@ -1645,12 +1595,8 @@
return;
}
- @DomName('CanvasRenderingContext2D._strokeRect_1')
- @DocsEditable
void _strokeRect_1(x, y, width, height, lineWidth) native "CanvasRenderingContext2D__strokeRect_1_Callback";
- @DomName('CanvasRenderingContext2D._strokeRect_2')
- @DocsEditable
void _strokeRect_2(x, y, width, height) native "CanvasRenderingContext2D__strokeRect_2_Callback";
void strokeText(String text, num x, num y, [num maxWidth]) {
@@ -1662,12 +1608,8 @@
return;
}
- @DomName('CanvasRenderingContext2D._strokeText_1')
- @DocsEditable
void _strokeText_1(text, x, y, maxWidth) native "CanvasRenderingContext2D__strokeText_1_Callback";
- @DomName('CanvasRenderingContext2D._strokeText_2')
- @DocsEditable
void _strokeText_2(text, x, y) native "CanvasRenderingContext2D__strokeText_2_Callback";
@DomName('CanvasRenderingContext2D.transform')
@@ -1697,12 +1639,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('CanvasRenderingContext2D._webkitPutImageDataHD_1')
- @DocsEditable
void _webkitPutImageDataHD_1(imagedata, dx, dy) native "CanvasRenderingContext2D__webkitPutImageDataHD_1_Callback";
- @DomName('CanvasRenderingContext2D._webkitPutImageDataHD_2')
- @DocsEditable
void _webkitPutImageDataHD_2(imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight) native "CanvasRenderingContext2D__webkitPutImageDataHD_2_Callback";
@@ -5808,12 +5746,8 @@
return _addRule_2(selector, style);
}
- @DomName('CSSStyleSheet._addRule_1')
- @DocsEditable
int _addRule_1(selector, style, index) native "CSSStyleSheet__addRule_1_Callback";
- @DomName('CSSStyleSheet._addRule_2')
- @DocsEditable
int _addRule_2(selector, style) native "CSSStyleSheet__addRule_2_Callback";
@DomName('CSSStyleSheet.deleteRule')
@@ -6072,12 +6006,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('DataTransferItemList._add_1')
- @DocsEditable
void _add_1(data_OR_file) native "DataTransferItemList__add_1_Callback";
- @DomName('DataTransferItemList._add_2')
- @DocsEditable
void _add_2(data_OR_file, type) native "DataTransferItemList__add_2_Callback";
@DomName('DataTransferItemList.clear')
@@ -6639,12 +6569,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('Document._createElement_1')
- @DocsEditable
Element _createElement_1(localName_OR_tagName) native "Document__createElement_1_Callback";
- @DomName('Document._createElement_2')
- @DocsEditable
Element _createElement_2(localName_OR_tagName, typeExtension) native "Document__createElement_2_Callback";
Element $dom_createElementNS(String namespaceURI, String qualifiedName, [String typeExtension]) {
@@ -6657,12 +6583,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('Document._createElementNS_1')
- @DocsEditable
Element _createElementNS_1(namespaceURI, qualifiedName) native "Document__createElementNS_1_Callback";
- @DomName('Document._createElementNS_2')
- @DocsEditable
Element _createElementNS_2(namespaceURI, qualifiedName, typeExtension) native "Document__createElementNS_2_Callback";
@DomName('Document.createEvent')
@@ -8336,12 +8258,8 @@
return _toggle_2(token);
}
- @DomName('DOMTokenList._toggle_1')
- @DocsEditable
bool _toggle_1(token, force) native "DOMTokenList__toggle_1_Callback";
- @DomName('DOMTokenList._toggle_2')
- @DocsEditable
bool _toggle_2(token) native "DOMTokenList__toggle_2_Callback";
}
@@ -9287,12 +9205,8 @@
return;
}
- @DomName('Element._scrollIntoView_1')
- @DocsEditable
void _scrollIntoView_1(alignWithTop) native "Element__scrollIntoView_1_Callback";
- @DomName('Element._scrollIntoView_2')
- @DocsEditable
void _scrollIntoView_2() native "Element__scrollIntoView_2_Callback";
void $dom_scrollIntoViewIfNeeded([bool centerIfNeeded]) {
@@ -9304,12 +9218,8 @@
return;
}
- @DomName('Element._scrollIntoViewIfNeeded_1')
- @DocsEditable
void _scrollIntoViewIfNeeded_1(centerIfNeeded) native "Element__scrollIntoViewIfNeeded_1_Callback";
- @DomName('Element._scrollIntoViewIfNeeded_2')
- @DocsEditable
void _scrollIntoViewIfNeeded_2() native "Element__scrollIntoViewIfNeeded_2_Callback";
@DomName('Element.setAttribute')
@@ -9858,12 +9768,8 @@
return;
}
- @DomName('Entry._copyTo_1')
- @DocsEditable
void _copyTo_1(parent, name, successCallback, errorCallback) native "Entry__copyTo_1_Callback";
- @DomName('Entry._copyTo_2')
- @DocsEditable
void _copyTo_2(parent) native "Entry__copyTo_2_Callback";
Future<Entry> copyTo(DirectoryEntry parent, {String name}) {
@@ -9907,12 +9813,8 @@
return;
}
- @DomName('Entry._moveTo_1')
- @DocsEditable
void _moveTo_1(parent, name, successCallback, errorCallback) native "Entry__moveTo_1_Callback";
- @DomName('Entry._moveTo_2')
- @DocsEditable
void _moveTo_2(parent) native "Entry__moveTo_2_Callback";
Future<Entry> moveTo(DirectoryEntry parent, {String name}) {
@@ -10869,12 +10771,8 @@
return;
}
- @DomName('FileReader._readAsText_1')
- @DocsEditable
void _readAsText_1(blob, encoding) native "FileReader__readAsText_1_Callback";
- @DomName('FileReader._readAsText_2')
- @DocsEditable
void _readAsText_2(blob) native "FileReader__readAsText_2_Callback";
@DomName('FileReader.removeEventListener')
@@ -13561,12 +13459,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('HTMLInputElement._setRangeText_1')
- @DocsEditable
void _setRangeText_1(replacement) native "HTMLInputElement__setRangeText_1_Callback";
- @DomName('HTMLInputElement._setRangeText_2')
- @DocsEditable
void _setRangeText_2(replacement, start, end, selectionMode) native "HTMLInputElement__setRangeText_2_Callback";
@DomName('HTMLInputElement.setSelectionRange')
@@ -13582,12 +13476,8 @@
return;
}
- @DomName('HTMLInputElement._stepDown_1')
- @DocsEditable
void _stepDown_1(n) native "HTMLInputElement__stepDown_1_Callback";
- @DomName('HTMLInputElement._stepDown_2')
- @DocsEditable
void _stepDown_2() native "HTMLInputElement__stepDown_2_Callback";
void stepUp([int n]) {
@@ -13599,12 +13489,8 @@
return;
}
- @DomName('HTMLInputElement._stepUp_1')
- @DocsEditable
void _stepUp_1(n) native "HTMLInputElement__stepUp_1_Callback";
- @DomName('HTMLInputElement._stepUp_2')
- @DocsEditable
void _stepUp_2() native "HTMLInputElement__stepUp_2_Callback";
@DomName('HTMLInputElement.onwebkitSpeechChange')
@@ -15113,16 +14999,10 @@
return _addTextTrack_3(kind);
}
- @DomName('HTMLMediaElement._addTextTrack_1')
- @DocsEditable
TextTrack _addTextTrack_1(kind, label, language) native "HTMLMediaElement__addTextTrack_1_Callback";
- @DomName('HTMLMediaElement._addTextTrack_2')
- @DocsEditable
TextTrack _addTextTrack_2(kind, label) native "HTMLMediaElement__addTextTrack_2_Callback";
- @DomName('HTMLMediaElement._addTextTrack_3')
- @DocsEditable
TextTrack _addTextTrack_3(kind) native "HTMLMediaElement__addTextTrack_3_Callback";
@DomName('HTMLMediaElement.canPlayType')
@@ -15150,12 +15030,8 @@
return;
}
- @DomName('HTMLMediaElement._webkitAddKey_1')
- @DocsEditable
void _webkitAddKey_1(keySystem, key, initData, sessionId) native "HTMLMediaElement__webkitAddKey_1_Callback";
- @DomName('HTMLMediaElement._webkitAddKey_2')
- @DocsEditable
void _webkitAddKey_2(keySystem, key) native "HTMLMediaElement__webkitAddKey_2_Callback";
@DomName('HTMLMediaElement.webkitCancelKeyRequest')
@@ -15174,12 +15050,8 @@
return;
}
- @DomName('HTMLMediaElement._webkitGenerateKeyRequest_1')
- @DocsEditable
void _webkitGenerateKeyRequest_1(keySystem, initData) native "HTMLMediaElement__webkitGenerateKeyRequest_1_Callback";
- @DomName('HTMLMediaElement._webkitGenerateKeyRequest_2')
- @DocsEditable
void _webkitGenerateKeyRequest_2(keySystem) native "HTMLMediaElement__webkitGenerateKeyRequest_2_Callback";
@DomName('HTMLMediaElement.oncanplay')
@@ -18957,20 +18829,12 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('RTCDataChannel._send_1')
- @DocsEditable
void _send_1(data) native "RTCDataChannel__send_1_Callback";
- @DomName('RTCDataChannel._send_2')
- @DocsEditable
void _send_2(data) native "RTCDataChannel__send_2_Callback";
- @DomName('RTCDataChannel._send_3')
- @DocsEditable
void _send_3(data) native "RTCDataChannel__send_3_Callback";
- @DomName('RTCDataChannel._send_4')
- @DocsEditable
void _send_4(data) native "RTCDataChannel__send_4_Callback";
@DomName('RTCDataChannel.onclose')
@@ -19064,16 +18928,10 @@
return;
}
- @DomName('RTCDTMFSender._insertDTMF_1')
- @DocsEditable
void _insertDTMF_1(tones, duration, interToneGap) native "RTCDTMFSender__insertDTMF_1_Callback";
- @DomName('RTCDTMFSender._insertDTMF_2')
- @DocsEditable
void _insertDTMF_2(tones, duration) native "RTCDTMFSender__insertDTMF_2_Callback";
- @DomName('RTCDTMFSender._insertDTMF_3')
- @DocsEditable
void _insertDTMF_3(tones) native "RTCDTMFSender__insertDTMF_3_Callback";
@DomName('RTCDTMFSender.removeEventListener')
@@ -20562,12 +20420,8 @@
return;
}
- @DomName('SpeechGrammarList._addFromString_1')
- @DocsEditable
void _addFromString_1(string, weight) native "SpeechGrammarList__addFromString_1_Callback";
- @DomName('SpeechGrammarList._addFromString_2')
- @DocsEditable
void _addFromString_2(string) native "SpeechGrammarList__addFromString_2_Callback";
void addFromUri(String src, [num weight]) {
@@ -20579,12 +20433,8 @@
return;
}
- @DomName('SpeechGrammarList._addFromUri_1')
- @DocsEditable
void _addFromUri_1(src, weight) native "SpeechGrammarList__addFromUri_1_Callback";
- @DomName('SpeechGrammarList._addFromUri_2')
- @DocsEditable
void _addFromUri_2(src) native "SpeechGrammarList__addFromUri_2_Callback";
@DomName('SpeechGrammarList.item')
@@ -21807,12 +21657,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('HTMLTextAreaElement._setRangeText_1')
- @DocsEditable
void _setRangeText_1(replacement) native "HTMLTextAreaElement__setRangeText_1_Callback";
- @DomName('HTMLTextAreaElement._setRangeText_2')
- @DocsEditable
void _setRangeText_2(replacement, start, end, selectionMode) native "HTMLTextAreaElement__setRangeText_2_Callback";
void setSelectionRange(int start, int end, [String direction]) {
@@ -21824,12 +21670,8 @@
return;
}
- @DomName('HTMLTextAreaElement._setSelectionRange_1')
- @DocsEditable
void _setSelectionRange_1(start, end, direction) native "HTMLTextAreaElement__setSelectionRange_1_Callback";
- @DomName('HTMLTextAreaElement._setSelectionRange_2')
- @DocsEditable
void _setSelectionRange_2(start, end) native "HTMLTextAreaElement__setSelectionRange_2_Callback";
}
@@ -23317,16 +23159,10 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('DOMURL._createObjectURL_1')
- @DocsEditable
static String _createObjectURL_1(blob_OR_source_OR_stream) native "DOMURL__createObjectURL_1_Callback";
- @DomName('DOMURL._createObjectURL_2')
- @DocsEditable
static String _createObjectURL_2(blob_OR_source_OR_stream) native "DOMURL__createObjectURL_2_Callback";
- @DomName('DOMURL._createObjectURL_3')
- @DocsEditable
static String _createObjectURL_3(blob_OR_source_OR_stream) native "DOMURL__createObjectURL_3_Callback";
@DomName('DOMURL.revokeObjectURL')
@@ -23681,16 +23517,10 @@
return;
}
- @DomName('WebSocket._close_1')
- @DocsEditable
void _close_1(code, reason) native "WebSocket__close_1_Callback";
- @DomName('WebSocket._close_2')
- @DocsEditable
void _close_2(code) native "WebSocket__close_2_Callback";
- @DomName('WebSocket._close_3')
- @DocsEditable
void _close_3() native "WebSocket__close_3_Callback";
@DomName('WebSocket.dispatchEvent')
diff --git a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
index 1285ca5..0d92e79 100644
--- a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
+++ b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
@@ -201,16 +201,10 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBDatabase._transaction_1')
- @DocsEditable
Transaction _transaction_1(storeName_OR_storeNames, mode) native "IDBDatabase__transaction_1_Callback";
- @DomName('IDBDatabase._transaction_2')
- @DocsEditable
Transaction _transaction_2(storeName_OR_storeNames, mode) native "IDBDatabase__transaction_2_Callback";
- @DomName('IDBDatabase._transaction_3')
- @DocsEditable
Transaction _transaction_3(storeName_OR_storeNames, mode) native "IDBDatabase__transaction_3_Callback";
@DomName('IDBDatabase.onabort')
@@ -323,12 +317,8 @@
return _open_2(name);
}
- @DomName('IDBFactory._open_1')
- @DocsEditable
OpenDBRequest _open_1(name, version) native "IDBFactory__open_1_Callback";
- @DomName('IDBFactory._open_2')
- @DocsEditable
OpenDBRequest _open_2(name) native "IDBFactory__open_2_Callback";
@DomName('IDBFactory.webkitGetDatabaseNames')
@@ -487,12 +477,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBIndex._count_1')
- @DocsEditable
Request _count_1(key_OR_range) native "IDBIndex__count_1_Callback";
- @DomName('IDBIndex._count_2')
- @DocsEditable
Request _count_2(key_OR_range) native "IDBIndex__count_2_Callback";
Request $dom_get(key) {
@@ -505,12 +491,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBIndex._get_1')
- @DocsEditable
Request _get_1(key) native "IDBIndex__get_1_Callback";
- @DomName('IDBIndex._get_2')
- @DocsEditable
Request _get_2(key) native "IDBIndex__get_2_Callback";
Request $dom_getKey(key) {
@@ -523,12 +505,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBIndex._getKey_1')
- @DocsEditable
Request _getKey_1(key) native "IDBIndex__getKey_1_Callback";
- @DomName('IDBIndex._getKey_2')
- @DocsEditable
Request _getKey_2(key) native "IDBIndex__getKey_2_Callback";
Request $dom_openCursor([key_OR_range, String direction]) {
@@ -541,12 +519,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBIndex._openCursor_1')
- @DocsEditable
Request _openCursor_1(key_OR_range, direction) native "IDBIndex__openCursor_1_Callback";
- @DomName('IDBIndex._openCursor_2')
- @DocsEditable
Request _openCursor_2(key_OR_range, direction) native "IDBIndex__openCursor_2_Callback";
Request $dom_openKeyCursor([key_OR_range, String direction]) {
@@ -559,12 +533,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBIndex._openKeyCursor_1')
- @DocsEditable
Request _openKeyCursor_1(key_OR_range, direction) native "IDBIndex__openKeyCursor_1_Callback";
- @DomName('IDBIndex._openKeyCursor_2')
- @DocsEditable
Request _openKeyCursor_2(key_OR_range, direction) native "IDBIndex__openKeyCursor_2_Callback";
}
@@ -807,12 +777,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBObjectStore._count_1')
- @DocsEditable
Request _count_1(key_OR_range) native "IDBObjectStore__count_1_Callback";
- @DomName('IDBObjectStore._count_2')
- @DocsEditable
Request _count_2(key_OR_range) native "IDBObjectStore__count_2_Callback";
Index $dom_createIndex(String name, keyPath, [Map options]) {
@@ -825,12 +791,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBObjectStore._createIndex_1')
- @DocsEditable
Index _createIndex_1(name, keyPath, options) native "IDBObjectStore__createIndex_1_Callback";
- @DomName('IDBObjectStore._createIndex_2')
- @DocsEditable
Index _createIndex_2(name, keyPath, options) native "IDBObjectStore__createIndex_2_Callback";
Request $dom_delete(key_OR_keyRange) {
@@ -843,12 +805,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBObjectStore._delete_1')
- @DocsEditable
Request _delete_1(key_OR_keyRange) native "IDBObjectStore__delete_1_Callback";
- @DomName('IDBObjectStore._delete_2')
- @DocsEditable
Request _delete_2(key_OR_keyRange) native "IDBObjectStore__delete_2_Callback";
@DomName('IDBObjectStore.deleteIndex')
@@ -865,12 +823,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBObjectStore._get_1')
- @DocsEditable
Request _get_1(key) native "IDBObjectStore__get_1_Callback";
- @DomName('IDBObjectStore._get_2')
- @DocsEditable
Request _get_2(key) native "IDBObjectStore__get_2_Callback";
@DomName('IDBObjectStore.index')
@@ -887,12 +841,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('IDBObjectStore._openCursor_1')
- @DocsEditable
Request _openCursor_1(key_OR_range, direction) native "IDBObjectStore__openCursor_1_Callback";
- @DomName('IDBObjectStore._openCursor_2')
- @DocsEditable
Request _openCursor_2(key_OR_range, direction) native "IDBObjectStore__openCursor_2_Callback";
@DomName('IDBObjectStore.put')
diff --git a/sdk/lib/web_audio/dartium/web_audio_dartium.dart b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
index 0a06b2e..3c0dc87 100644
--- a/sdk/lib/web_audio/dartium/web_audio_dartium.dart
+++ b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
@@ -203,16 +203,10 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('AudioBufferSourceNode._start_1')
- @DocsEditable
void _start_1(when) native "AudioBufferSourceNode__start_1_Callback";
- @DomName('AudioBufferSourceNode._start_2')
- @DocsEditable
void _start_2(when, grainOffset) native "AudioBufferSourceNode__start_2_Callback";
- @DomName('AudioBufferSourceNode._start_3')
- @DocsEditable
void _start_3(when, grainOffset, grainDuration) native "AudioBufferSourceNode__start_3_Callback";
@DomName('AudioBufferSourceNode.stop')
@@ -278,12 +272,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('AudioContext._createBuffer_1')
- @DocsEditable
AudioBuffer _createBuffer_1(buffer_OR_numberOfChannels, mixToMono_OR_numberOfFrames, sampleRate) native "AudioContext__createBuffer_1_Callback";
- @DomName('AudioContext._createBuffer_2')
- @DocsEditable
AudioBuffer _createBuffer_2(buffer_OR_numberOfChannels, mixToMono_OR_numberOfFrames) native "AudioContext__createBuffer_2_Callback";
@DomName('AudioContext.createBufferSource')
@@ -297,12 +287,8 @@
return _createChannelMerger_2();
}
- @DomName('AudioContext._createChannelMerger_1')
- @DocsEditable
ChannelMergerNode _createChannelMerger_1(numberOfInputs) native "AudioContext__createChannelMerger_1_Callback";
- @DomName('AudioContext._createChannelMerger_2')
- @DocsEditable
ChannelMergerNode _createChannelMerger_2() native "AudioContext__createChannelMerger_2_Callback";
ChannelSplitterNode createChannelSplitter([int numberOfOutputs]) {
@@ -312,12 +298,8 @@
return _createChannelSplitter_2();
}
- @DomName('AudioContext._createChannelSplitter_1')
- @DocsEditable
ChannelSplitterNode _createChannelSplitter_1(numberOfOutputs) native "AudioContext__createChannelSplitter_1_Callback";
- @DomName('AudioContext._createChannelSplitter_2')
- @DocsEditable
ChannelSplitterNode _createChannelSplitter_2() native "AudioContext__createChannelSplitter_2_Callback";
@DomName('AudioContext.createConvolver')
@@ -331,12 +313,8 @@
return _createDelay_2();
}
- @DomName('AudioContext._createDelay_1')
- @DocsEditable
DelayNode _createDelay_1(maxDelayTime) native "AudioContext__createDelay_1_Callback";
- @DomName('AudioContext._createDelay_2')
- @DocsEditable
DelayNode _createDelay_2() native "AudioContext__createDelay_2_Callback";
@DomName('AudioContext.createDynamicsCompressor')
@@ -377,16 +355,10 @@
return _createScriptProcessor_3(bufferSize);
}
- @DomName('AudioContext._createScriptProcessor_1')
- @DocsEditable
ScriptProcessorNode _createScriptProcessor_1(bufferSize, numberOfInputChannels, numberOfOutputChannels) native "AudioContext__createScriptProcessor_1_Callback";
- @DomName('AudioContext._createScriptProcessor_2')
- @DocsEditable
ScriptProcessorNode _createScriptProcessor_2(bufferSize, numberOfInputChannels) native "AudioContext__createScriptProcessor_2_Callback";
- @DomName('AudioContext._createScriptProcessor_3')
- @DocsEditable
ScriptProcessorNode _createScriptProcessor_3(bufferSize) native "AudioContext__createScriptProcessor_3_Callback";
@DomName('AudioContext.createWaveShaper')
@@ -528,12 +500,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('AudioNode._connect_1')
- @DocsEditable
void _connect_1(destination, output, input) native "AudioNode__connect_1_Callback";
- @DomName('AudioNode._connect_2')
- @DocsEditable
void _connect_2(destination, output) native "AudioNode__connect_2_Callback";
@DomName('AudioNode.disconnect')
diff --git a/sdk/lib/web_gl/dartium/web_gl_dartium.dart b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
index e0a973c..72bf110 100644
--- a/sdk/lib/web_gl/dartium/web_gl_dartium.dart
+++ b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
@@ -1466,16 +1466,10 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('WebGLRenderingContext._bufferData_1')
- @DocsEditable
void _bufferData_1(target, data_OR_size, usage) native "WebGLRenderingContext__bufferData_1_Callback";
- @DomName('WebGLRenderingContext._bufferData_2')
- @DocsEditable
void _bufferData_2(target, data_OR_size, usage) native "WebGLRenderingContext__bufferData_2_Callback";
- @DomName('WebGLRenderingContext._bufferData_3')
- @DocsEditable
void _bufferData_3(target, data_OR_size, usage) native "WebGLRenderingContext__bufferData_3_Callback";
void bufferSubData(int target, int offset, data) {
@@ -1490,12 +1484,8 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('WebGLRenderingContext._bufferSubData_1')
- @DocsEditable
void _bufferSubData_1(target, offset, data) native "WebGLRenderingContext__bufferSubData_1_Callback";
- @DomName('WebGLRenderingContext._bufferSubData_2')
- @DocsEditable
void _bufferSubData_2(target, offset, data) native "WebGLRenderingContext__bufferSubData_2_Callback";
@DomName('WebGLRenderingContext.checkFramebufferStatus')
@@ -1874,24 +1864,14 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('WebGLRenderingContext._texImage2D_1')
- @DocsEditable
void _texImage2D_1(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels) native "WebGLRenderingContext__texImage2D_1_Callback";
- @DomName('WebGLRenderingContext._texImage2D_2')
- @DocsEditable
void _texImage2D_2(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texImage2D_2_Callback";
- @DomName('WebGLRenderingContext._texImage2D_3')
- @DocsEditable
void _texImage2D_3(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texImage2D_3_Callback";
- @DomName('WebGLRenderingContext._texImage2D_4')
- @DocsEditable
void _texImage2D_4(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texImage2D_4_Callback";
- @DomName('WebGLRenderingContext._texImage2D_5')
- @DocsEditable
void _texImage2D_5(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texImage2D_5_Callback";
@DomName('WebGLRenderingContext.texParameterf')
@@ -1926,24 +1906,14 @@
throw new ArgumentError("Incorrect number or type of arguments");
}
- @DomName('WebGLRenderingContext._texSubImage2D_1')
- @DocsEditable
void _texSubImage2D_1(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels) native "WebGLRenderingContext__texSubImage2D_1_Callback";
- @DomName('WebGLRenderingContext._texSubImage2D_2')
- @DocsEditable
void _texSubImage2D_2(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texSubImage2D_2_Callback";
- @DomName('WebGLRenderingContext._texSubImage2D_3')
- @DocsEditable
void _texSubImage2D_3(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texSubImage2D_3_Callback";
- @DomName('WebGLRenderingContext._texSubImage2D_4')
- @DocsEditable
void _texSubImage2D_4(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texSubImage2D_4_Callback";
- @DomName('WebGLRenderingContext._texSubImage2D_5')
- @DocsEditable
void _texSubImage2D_5(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video) native "WebGLRenderingContext__texSubImage2D_5_Callback";
@DomName('WebGLRenderingContext.uniform1f')
diff --git a/tools/VERSION b/tools/VERSION
index 870b65e..699b05f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
MAJOR 0
MINOR 5
-BUILD 2
+BUILD 3
PATCH 0
diff --git a/tools/ddbg.dart b/tools/ddbg.dart
index c81dd28..3b9dbbe 100644
--- a/tools/ddbg.dart
+++ b/tools/ddbg.dart
@@ -393,10 +393,10 @@
void printStackFrame(frame_num, Map frame) {
var fname = frame["functionName"];
- var libId = frame["libraryId"];
+ var libId = frame["location"]["libraryId"];
var url = frame["location"]["url"];
- var line = frame["location"]["lineNumber"];
- print("$frame_num $fname ($url:$line) (lib $libId)");
+ var toff = frame["location"]["tokenOffset"];
+ print("$frame_num $fname (url: $url token: $toff lib: $libId)");
List locals = frame["locals"];
for (int i = 0; i < locals.length; i++) {
printNamedObject(locals[i]);
diff --git a/tools/dom/dom.json b/tools/dom/dom.json
new file mode 100644
index 0000000..c8d10bd
--- /dev/null
+++ b/tools/dom/dom.json
@@ -0,0 +1,11576 @@
+{
+ "AbstractWorker": {
+ "comment": "http://www.w3.org/TR/workers/#the-abstractworker-abstract-interface",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "onerror": {},
+ "removeEventListener": {}
+ },
+ "support_level": "stable"
+ },
+ "AnalyserNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AnalyserNode",
+ "members": {
+ "fftSize": {},
+ "frequencyBinCount": {},
+ "getByteFrequencyData": {},
+ "getByteTimeDomainData": {},
+ "getFloatFrequencyData": {},
+ "maxDecibels": {},
+ "minDecibels": {},
+ "smoothingTimeConstant": {}
+ },
+ "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": {
+ "byteLength": {},
+ "slice": {}
+ },
+ "support_level": "stable"
+ },
+ "ArrayBufferView": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "buffer": {},
+ "byteLength": {},
+ "byteOffset": {}
+ },
+ "support_level": "stable"
+ },
+ "Attr": {
+ "comment": "http://www.w3.org/TR/dom/#interface-attr",
+ "members": {
+ "isId": {},
+ "name": {},
+ "ownerElement": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "specified": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "AudioBuffer": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section",
+ "dart_action": "default",
+ "members": {
+ "duration": {},
+ "gain": {},
+ "getChannelData": {},
+ "length": {},
+ "numberOfChannels": {},
+ "sampleRate": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioBufferCallback": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioBufferSourceNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode-section",
+ "members": {
+ "FINISHED_STATE": {},
+ "PLAYING_STATE": {},
+ "SCHEDULED_STATE": {},
+ "UNSCHEDULED_STATE": {},
+ "buffer": {},
+ "gain": {},
+ "loop": {},
+ "loopEnd": {},
+ "loopStart": {},
+ "playbackRate": {},
+ "playbackState": {},
+ "start": {},
+ "stop": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioContext": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioContext-section",
+ "members": {
+ "activeSourceCount": {},
+ "createAnalyser": {},
+ "createBiquadFilter": {},
+ "createBuffer": {},
+ "createBufferSource": {},
+ "createChannelMerger": {},
+ "createChannelSplitter": {},
+ "createConvolver": {},
+ "createDelay": {},
+ "createDynamicsCompressor": {},
+ "createGain": {},
+ "createMediaElementSource": {},
+ "createMediaStreamDestination": {},
+ "createMediaStreamSource": {},
+ "createOscillator": {},
+ "createPanner": {},
+ "createScriptProcessor": {},
+ "createWaveShaper": {},
+ "createWaveTable": {},
+ "currentTime": {},
+ "decodeAudioData": {},
+ "destination": {},
+ "listener": {},
+ "oncomplete": {},
+ "sampleRate": {},
+ "startRendering": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioDestinationNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioDestinationNode-section",
+ "members": {
+ "maxChannelCount": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioListener": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioListener-section",
+ "members": {
+ "dopplerFactor": {},
+ "setOrientation": {},
+ "setPosition": {},
+ "setVelocity": {},
+ "speedOfSound": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioNode-section",
+ "members": {
+ "channelCount": {},
+ "channelCountMode": {},
+ "channelInterpretation": {},
+ "connect": {},
+ "context": {},
+ "disconnect": {},
+ "numberOfInputs": {},
+ "numberOfOutputs": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioParam": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioParam",
+ "members": {
+ "cancelScheduledValues": {},
+ "defaultValue": {},
+ "exponentialRampToValueAtTime": {},
+ "linearRampToValueAtTime": {},
+ "maxValue": {},
+ "minValue": {},
+ "name": {},
+ "setTargetAtTime": {},
+ "setValueAtTime": {},
+ "setValueCurveAtTime": {},
+ "units": {},
+ "value": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioProcessingEvent": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioProcessingEvent-section",
+ "members": {
+ "inputBuffer": {},
+ "outputBuffer": {}
+ },
+ "support_level": "experimental"
+ },
+ "AudioSourceNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "AutocompleteErrorEvent": {
+ "comment": "http://wiki.whatwg.org/wiki/RequestAutocomplete",
+ "members": {
+ "reason": {}
+ },
+ "support_level": "experimental"
+ },
+ "BarInfo": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#barprop (Rename to BarProp?)",
+ "members": {
+ "visible": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "BatteryManager": {
+ "comment": "https://dvcs.w3.org/hg/dap/raw-file/default/battery/Overview.html#batterymanager-interface",
+ "dart_action": "experimental",
+ "members": {
+ "addEventListener": {},
+ "charging": {},
+ "chargingTime": {},
+ "dischargingTime": {},
+ "dispatchEvent": {},
+ "level": {},
+ "onchargingchange": {},
+ "onchargingtimechange": {},
+ "ondischargingtimechange": {},
+ "onlevelchange": {},
+ "removeEventListener": {}
+ },
+ "support_level": "stable"
+ },
+ "BeforeLoadEvent": {
+ "members": {
+ "url": {}
+ },
+ "support_level": "experimental"
+ },
+ "BiquadFilterNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode-section",
+ "members": {
+ "ALLPASS": {},
+ "BANDPASS": {},
+ "HIGHPASS": {},
+ "HIGHSHELF": {},
+ "LOWPASS": {},
+ "LOWSHELF": {},
+ "NOTCH": {},
+ "PEAKING": {},
+ "Q": {},
+ "detune": {},
+ "frequency": {},
+ "gain": {},
+ "getFrequencyResponse": {},
+ "type": {}
+ },
+ "support_level": "experimental"
+ },
+ "Blob": {
+ "comment": "http://www.w3.org/TR/FileAPI/#dfn-Blob",
+ "members": {
+ "size": {},
+ "slice": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "CDATASection": {
+ "comment": "http://dom.spec.whatwg.org/#cdatasection",
+ "dart_action": "suppress",
+ "members": {},
+ "support_level": "deprecated"
+ },
+ "CSSCharsetRule": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-csscharsetrule-interface",
+ "dart_action": "default",
+ "members": {
+ "encoding": {}
+ },
+ "support_level": "experimental"
+ },
+ "CSSFontFaceLoadEvent": {
+ "comment": "http://www.w3.org/TR/css3-fonts/",
+ "members": {
+ "error": {},
+ "fontface": {}
+ },
+ "support_level": "experimental"
+ },
+ "CSSFontFaceRule": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule",
+ "members": {
+ "style": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSHostRule": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface",
+ "members": {
+ "cssRules": {},
+ "deleteRule": {},
+ "insertRule": {}
+ },
+ "support_level": "experimental"
+ },
+ "CSSImportRule": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule",
+ "members": {
+ "href": {},
+ "media": {},
+ "styleSheet": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSMediaRule": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule",
+ "members": {
+ "cssRules": {},
+ "deleteRule": {},
+ "insertRule": {},
+ "media": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSPageRule": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule",
+ "members": {
+ "selectorText": {},
+ "style": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSPrimitiveValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
+ "dart_action": "suppress",
+ "members": {
+ "CSS_ATTR": {},
+ "CSS_CM": {},
+ "CSS_COUNTER": {},
+ "CSS_DEG": {},
+ "CSS_DIMENSION": {},
+ "CSS_EMS": {},
+ "CSS_EXS": {},
+ "CSS_GRAD": {},
+ "CSS_HZ": {},
+ "CSS_IDENT": {},
+ "CSS_IN": {},
+ "CSS_KHZ": {},
+ "CSS_MM": {},
+ "CSS_MS": {},
+ "CSS_NUMBER": {},
+ "CSS_PC": {},
+ "CSS_PERCENTAGE": {},
+ "CSS_PT": {},
+ "CSS_PX": {},
+ "CSS_RAD": {},
+ "CSS_RECT": {},
+ "CSS_RGBCOLOR": {},
+ "CSS_S": {},
+ "CSS_STRING": {},
+ "CSS_UNKNOWN": {},
+ "CSS_URI": {},
+ "CSS_VH": {},
+ "CSS_VMAX": {},
+ "CSS_VMIN": {},
+ "CSS_VW": {},
+ "getCounterValue": {},
+ "getFloatValue": {},
+ "getRGBColorValue": {},
+ "getRectValue": {},
+ "getStringValue": {},
+ "primitiveType": {},
+ "setFloatValue": {},
+ "setStringValue": {}
+ },
+ "support_level": "deprecated"
+ },
+ "CSSRule": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule",
+ "members": {
+ "CHARSET_RULE": {},
+ "FONT_FACE_RULE": {},
+ "HOST_RULE": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-css-rule-host-rule",
+ "support_level": "experimental"
+ },
+ "IMPORT_RULE": {},
+ "MEDIA_RULE": {},
+ "PAGE_RULE": {},
+ "STYLE_RULE": {},
+ "UNKNOWN_RULE": {
+ "comment": "http://dev.w3.org/csswg/cssom/#changes-from-dom2",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "WEBKIT_FILTER_RULE": {
+ "comment": "http://www.w3.org/TR/filter-effects/",
+ "support_level": "experimental"
+ },
+ "WEBKIT_KEYFRAMES_RULE": {
+ "comment": "http://www.w3.org/TR/css3-animations/#cssrule",
+ "support_level": "experimental"
+ },
+ "WEBKIT_KEYFRAME_RULE": {
+ "comment": "http://www.w3.org/TR/css3-animations/#cssrule",
+ "support_level": "experimental"
+ },
+ "WEBKIT_REGION_RULE": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#region-style-rule-interface",
+ "support_level": "experimental"
+ },
+ "cssText": {},
+ "parentRule": {},
+ "parentStyleSheet": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSRuleList": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSStyleDeclaration": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
+ "members": {
+ "_getPropertyValue": {},
+ "cssText": {},
+ "getPropertyCSSValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "getPropertyPriority": {},
+ "getPropertyShorthand": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
+ "support_level": "nonstandard"
+ },
+ "getPropertyValue": {
+ "support_level": "untriaged"
+ },
+ "isPropertyImplicit": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface",
+ "support_level": "nonstandard"
+ },
+ "item": {},
+ "length": {},
+ "parentRule": {},
+ "removeProperty": {},
+ "setProperty": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSStyleRule": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstylerule-interface",
+ "members": {
+ "selectorText": {},
+ "style": {}
+ },
+ "support_level": "stable"
+ },
+ "CSSStyleSheet": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstylesheet-interface",
+ "members": {
+ "addRule": {
+ "support_level": "nonstandard"
+ },
+ "cssRules": {},
+ "deleteRule": {},
+ "insertRule": {},
+ "ownerRule": {},
+ "removeRule": {
+ "support_level": "nonstandard"
+ },
+ "rules": {
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "CSSUnknownRule": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-cssstylesheet-interface",
+ "dart_action": "suppress",
+ "members": {},
+ "support_level": "deprecated"
+ },
+ "CSSValue": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "CSS_CUSTOM": {},
+ "CSS_INHERIT": {},
+ "CSS_PRIMITIVE_VALUE": {},
+ "CSS_VALUE_LIST": {},
+ "cssText": {},
+ "cssValueType": {}
+ },
+ "support_level": "deprecated"
+ },
+ "CSSValueList": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "deprecated"
+ },
+ "CanvasGradient": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasgradient",
+ "members": {
+ "addColorStop": {}
+ },
+ "support_level": "stable"
+ },
+ "CanvasPattern": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvaspattern",
+ "members": {},
+ "support_level": "stable"
+ },
+ "CanvasProxy": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasproxy",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "CanvasRenderingContext": {
+ "members": {
+ "canvas": {}
+ },
+ "support_level": "stable"
+ },
+ "CanvasRenderingContext2D": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasrenderingcontext2d",
+ "members": {
+ "arc": {},
+ "arcTo": {},
+ "beginPath": {},
+ "bezierCurveTo": {},
+ "clearRect": {},
+ "clearShadow": {
+ "support_level": "nonstandard"
+ },
+ "clip": {},
+ "closePath": {},
+ "createImageData": {},
+ "createImageDataFromImageData": {},
+ "createLinearGradient": {},
+ "createPattern": {},
+ "createRadialGradient": {},
+ "currentPath": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects",
+ "support_level": "experimental"
+ },
+ "drawImage": {},
+ "drawImageFromRect": {},
+ "fill": {},
+ "fillRect": {},
+ "fillStyle": {},
+ "fillText": {},
+ "font": {},
+ "getImageData": {},
+ "getLineDash": {},
+ "globalAlpha": {},
+ "globalCompositeOperation": {},
+ "isPointInPath": {},
+ "isPointInStroke": {
+ "support_level": "nonstandard"
+ },
+ "lineCap": {},
+ "lineDashOffset": {},
+ "lineJoin": {},
+ "lineTo": {},
+ "lineWidth": {},
+ "measureText": {},
+ "miterLimit": {},
+ "moveTo": {},
+ "putImageData": {},
+ "quadraticCurveTo": {},
+ "rect": {},
+ "restore": {},
+ "rotate": {},
+ "save": {},
+ "scale": {},
+ "setAlpha": {
+ "support_level": "nonstandard"
+ },
+ "setCompositeOperation": {
+ "support_level": "nonstandard"
+ },
+ "setFillColor": {
+ "support_level": "nonstandard"
+ },
+ "setLineCap": {
+ "support_level": "nonstandard"
+ },
+ "setLineDash": {},
+ "setLineJoin": {
+ "support_level": "nonstandard"
+ },
+ "setLineWidth": {
+ "support_level": "nonstandard"
+ },
+ "setMiterLimit": {
+ "support_level": "nonstandard"
+ },
+ "setShadow": {
+ "support_level": "nonstandard"
+ },
+ "setStrokeColor": {
+ "support_level": "nonstandard"
+ },
+ "setTransform": {},
+ "shadowBlur": {},
+ "shadowColor": {},
+ "shadowOffsetX": {},
+ "shadowOffsetY": {},
+ "stroke": {},
+ "strokeRect": {},
+ "strokeStyle": {},
+ "strokeText": {},
+ "textAlign": {},
+ "textBaseline": {},
+ "transform": {},
+ "translate": {},
+ "webkitBackingStorePixelRatio": {
+ "support_level": "experimental"
+ },
+ "webkitGetImageDataHD": {
+ "support_level": "experimental"
+ },
+ "webkitImageSmoothingEnabled": {
+ "support_level": "experimental"
+ },
+ "webkitLineDash": {
+ "support_level": "experimental"
+ },
+ "webkitLineDashOffset": {
+ "support_level": "experimental"
+ },
+ "webkitPutImageDataHD": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "ChannelMergerNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ChannelMergerNode-section",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "ChannelSplitterNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ChannelSplitterNode-section",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "CharacterData": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-FF21A306",
+ "members": {
+ "appendData": {},
+ "data": {},
+ "deleteData": {},
+ "insertData": {},
+ "length": {},
+ "remove": {
+ "support_level": "nonstandard"
+ },
+ "replaceData": {},
+ "substringData": {}
+ },
+ "support_level": "stable"
+ },
+ "ClientRect": {
+ "comment": "http://www.w3.org/TR/cssom-view/#the-clientrect-interface",
+ "members": {
+ "bottom": {},
+ "height": {},
+ "left": {},
+ "right": {},
+ "top": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "ClientRectList": {
+ "comment": "http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "Clipboard": {
+ "comment": "http://www.w3.org/html/wg/drafts/html/master/editing.html#the-datatransfer-interface (Should be DataTransfer)",
+ "members": {
+ "clearData": {},
+ "dropEffect": {},
+ "effectAllowed": {},
+ "files": {},
+ "getData": {},
+ "items": {},
+ "setData": {},
+ "setDragImage": {},
+ "types": {}
+ },
+ "support_level": "stable"
+ },
+ "CloseEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#closeevent",
+ "members": {
+ "code": {},
+ "reason": {},
+ "wasClean": {}
+ },
+ "support_level": "stable"
+ },
+ "Comment": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-1728279322",
+ "members": {},
+ "support_level": "stable"
+ },
+ "CompositionEvent": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-CompositionEvent",
+ "members": {
+ "data": {},
+ "initCompositionEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "Console": {
+ "members": {
+ "assertCondition": {
+ "support_level": "experimental"
+ },
+ "clear": {
+ "support_level": "experimental"
+ },
+ "count": {
+ "support_level": "experimental"
+ },
+ "debug": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "dir": {},
+ "dirxml": {
+ "support_level": "experimental"
+ },
+ "error": {},
+ "group": {},
+ "groupCollapsed": {},
+ "groupEnd": {},
+ "info": {},
+ "log": {},
+ "markTimeline": {
+ "support_level": "experimental"
+ },
+ "memory": {
+ "support_level": "experimental"
+ },
+ "profile": {
+ "support_level": "experimental"
+ },
+ "profileEnd": {
+ "support_level": "experimental"
+ },
+ "profiles": {
+ "support_level": "experimental"
+ },
+ "table": {
+ "support_level": "experimental"
+ },
+ "time": {},
+ "timeEnd": {},
+ "timeStamp": {
+ "support_level": "experimental"
+ },
+ "trace": {},
+ "warn": {}
+ },
+ "support_level": "stable"
+ },
+ "ConvolverNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ConvolverNode",
+ "members": {
+ "buffer": {},
+ "normalize": {}
+ },
+ "support_level": "experimental"
+ },
+ "Coordinates": {
+ "comment": "http://www.w3.org/TR/geolocation-API/#coordinates_interface",
+ "members": {
+ "accuracy": {},
+ "altitude": {},
+ "altitudeAccuracy": {},
+ "heading": {},
+ "latitude": {},
+ "longitude": {},
+ "speed": {}
+ },
+ "support_level": "stable"
+ },
+ "Counter": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "identifier": {},
+ "listStyle": {},
+ "separator": {}
+ },
+ "support_level": "deprecated"
+ },
+ "Crypto": {
+ "comment": "http://www.w3.org/TR/WebCryptoAPI/",
+ "members": {
+ "getRandomValues": {}
+ },
+ "support_level": "experimental"
+ },
+ "CustomElementConstructor": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-custom-element-constructor-generation",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "CustomEvent": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent",
+ "members": {
+ "detail": {},
+ "initCustomEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMApplicationCache": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#application-cache-api",
+ "dart_action": "unstable",
+ "members": {
+ "CHECKING": {},
+ "DOWNLOADING": {},
+ "IDLE": {},
+ "OBSOLETE": {},
+ "UNCACHED": {},
+ "UPDATEREADY": {},
+ "abort": {},
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "oncached": {},
+ "onchecking": {},
+ "ondownloading": {},
+ "onerror": {},
+ "onnoupdate": {},
+ "onobsolete": {},
+ "onprogress": {},
+ "onupdateready": {},
+ "removeEventListener": {},
+ "status": {},
+ "swapCache": {},
+ "update": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMCoreException": {
+ "comment": "http://www.w3.org/TR/dom/#domexception (Should be DOMException)",
+ "dart_action": "unstable",
+ "members": {
+ "ABORT_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "DATA_CLONE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "DOMSTRING_SIZE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "HIERARCHY_REQUEST_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INDEX_SIZE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INUSE_ATTRIBUTE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVALID_ACCESS_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVALID_CHARACTER_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVALID_MODIFICATION_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVALID_NODE_TYPE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVALID_STATE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NAMESPACE_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NETWORK_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NOT_FOUND_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NOT_SUPPORTED_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NO_DATA_ALLOWED_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NO_MODIFICATION_ALLOWED_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "QUOTA_EXCEEDED_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SECURITY_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SYNTAX_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "TIMEOUT_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "TYPE_MISMATCH_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "URL_MISMATCH_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "VALIDATION_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "WRONG_DOCUMENT_ERR": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "code": {
+ "comment": "http://www.w3.org/TR/dom/#dom-domexception-code",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "message": {},
+ "name": {},
+ "toString": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMError": {
+ "comment": "http://www.w3.org/TR/dom/#interface-domerror",
+ "members": {
+ "name": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMException": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "DOMFileSystem": {
+ "comment": "http://www.w3.org/TR/file-system-api/",
+ "members": {
+ "name": {},
+ "root": {}
+ },
+ "support_level": "experimental"
+ },
+ "DOMFileSystemSync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-filesystemsync-interface",
+ "members": {
+ "name": {},
+ "root": {}
+ },
+ "support_level": "experimental"
+ },
+ "DOMFormData": {
+ "comment": "http://www.w3.org/TR/XMLHttpRequest2/#interface-formdata",
+ "members": {
+ "DOMFormData": {},
+ "append": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMImplementation": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490",
+ "members": {
+ "createCSSStyleSheet": {
+ "support_level": "nonstandard"
+ },
+ "createDocument": {},
+ "createDocumentType": {},
+ "createHTMLDocument": {},
+ "hasFeature": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMMimeType": {
+ "members": {
+ "description": {},
+ "enabledPlugin": {},
+ "suffixes": {},
+ "type": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "DOMMimeTypeArray": {
+ "members": {
+ "item": {},
+ "length": {},
+ "namedItem": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "DOMNamedFlowCollection": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#dom-named-flow-collection",
+ "members": {
+ "item": {},
+ "length": {},
+ "namedItem": {}
+ },
+ "support_level": "experimental"
+ },
+ "DOMParser": {
+ "members": {
+ "DOMParser": {},
+ "parseFromString": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMPath": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects",
+ "members": {
+ "DOMPath": {},
+ "arc": {},
+ "arcTo": {},
+ "bezierCurveTo": {},
+ "closePath": {},
+ "lineTo": {},
+ "moveTo": {},
+ "quadraticCurveTo": {},
+ "rect": {}
+ },
+ "support_level": "experimental"
+ },
+ "DOMPlugin": {
+ "members": {
+ "description": {},
+ "filename": {},
+ "item": {},
+ "length": {},
+ "name": {},
+ "namedItem": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "DOMPluginArray": {
+ "members": {
+ "item": {},
+ "length": {},
+ "namedItem": {},
+ "refresh": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "DOMPoint": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
+ "members": {
+ "DOMPoint": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "DOMSecurityPolicy": {
+ "comment": "https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicy",
+ "members": {
+ "allowsConnectionTo": {},
+ "allowsEval": {},
+ "allowsFontFrom": {},
+ "allowsFormAction": {},
+ "allowsFrameFrom": {},
+ "allowsImageFrom": {},
+ "allowsInlineScript": {},
+ "allowsInlineStyle": {},
+ "allowsMediaFrom": {},
+ "allowsObjectFrom": {},
+ "allowsPluginType": {},
+ "allowsScriptFrom": {},
+ "allowsStyleFrom": {},
+ "isActive": {},
+ "reportURIs": {}
+ },
+ "support_level": "experimental"
+ },
+ "DOMSelection": {
+ "comment": "https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#concept-selection",
+ "members": {
+ "addRange": {},
+ "anchorNode": {},
+ "anchorOffset": {},
+ "baseNode": {
+ "support_level": "nonstandard"
+ },
+ "baseOffset": {
+ "support_level": "nonstandard"
+ },
+ "collapse": {},
+ "collapseToEnd": {},
+ "collapseToStart": {},
+ "containsNode": {
+ "support_level": "nonstandard"
+ },
+ "deleteFromDocument": {},
+ "empty": {
+ "support_level": "nonstandard"
+ },
+ "extend": {},
+ "extentNode": {
+ "support_level": "nonstandard"
+ },
+ "extentOffset": {
+ "support_level": "nonstandard"
+ },
+ "focusNode": {},
+ "focusOffset": {},
+ "getRangeAt": {},
+ "isCollapsed": {},
+ "modify": {
+ "support_level": "nonstandard"
+ },
+ "rangeCount": {},
+ "removeAllRanges": {},
+ "selectAllChildren": {},
+ "setBaseAndExtent": {
+ "support_level": "nonstandard"
+ },
+ "setPosition": {
+ "support_level": "nonstandard"
+ },
+ "toString": {},
+ "type": {
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "DOMSettableTokenList": {
+ "comment": "http://dev.w3.org/html5/spec-LC/common-dom-interfaces.html#domsettabletokenlist-0",
+ "members": {
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMStringList": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList",
+ "members": {
+ "contains": {},
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMStringMap": {
+ "comment": "http://dev.w3.org/html5/spec-LC/common-dom-interfaces.html#domstringmap-0",
+ "members": {},
+ "support_level": "stable"
+ },
+ "DOMTokenList": {
+ "comment": "http://dev.w3.org/html5/spec-LC/common-dom-interfaces.html#domtokenlist-0",
+ "members": {
+ "contains": {},
+ "item": {},
+ "length": {},
+ "toString": {},
+ "toggle": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMURL": {
+ "comment": "http://www.w3.org/TR/FileAPI/#URL-object",
+ "members": {
+ "createObjectURL": {},
+ "revokeObjectURL": {}
+ },
+ "support_level": "stable"
+ },
+ "DOMWindow": {
+ "members": {
+ "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"
+ },
+ "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": {
+ "support_level": "untriaged"
+ },
+ "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/",
+ "support_level": "experimental"
+ },
+ "ontouchend": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchmove": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchstart": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontransitionend": {},
+ "onunload": {},
+ "onvolumechange": {},
+ "onwaiting": {},
+ "onwebkitAnimationEnd": {
+ "support_level": "untriaged"
+ },
+ "onwebkitAnimationIteration": {
+ "support_level": "untriaged"
+ },
+ "onwebkitAnimationStart": {
+ "support_level": "untriaged"
+ },
+ "onwebkitTransitionEnd": {
+ "support_level": "untriaged"
+ },
+ "onwebkitanimationend": {
+ "support_level": "experimental"
+ },
+ "onwebkitanimationiteration": {
+ "support_level": "experimental"
+ },
+ "onwebkitanimationstart": {
+ "support_level": "experimental"
+ },
+ "onwebkittransitionend": {
+ "support_level": "experimental"
+ },
+ "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": {},
+ "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": {
+ "getAsFile": {},
+ "getAsString": {},
+ "kind": {},
+ "type": {},
+ "webkitGetAsEntry": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "DataTransferItemList": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface",
+ "members": {
+ "add": {},
+ "clear": {},
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "DataView": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "getFloat32": {},
+ "getFloat64": {},
+ "getInt16": {},
+ "getInt32": {},
+ "getInt8": {},
+ "getUint16": {},
+ "getUint32": {},
+ "getUint8": {},
+ "setFloat32": {},
+ "setFloat64": {},
+ "setInt16": {},
+ "setInt32": {},
+ "setInt8": {},
+ "setUint16": {},
+ "setUint32": {},
+ "setUint8": {}
+ },
+ "support_level": "stable"
+ },
+ "Database": {
+ "comment": "http://www.w3.org/TR/webdatabase/#asynchronous-database-api",
+ "dart_action": "experimental",
+ "members": {
+ "changeVersion": {},
+ "readTransaction": {},
+ "transaction": {},
+ "version": {}
+ },
+ "support_level": "deprecated"
+ },
+ "DatabaseCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#databasecallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "DatabaseSync": {
+ "comment": "http://www.w3.org/TR/webdatabase/#databasesync",
+ "dart_action": "suppress",
+ "members": {
+ "changeVersion": {},
+ "lastErrorMessage": {},
+ "readTransaction": {},
+ "transaction": {},
+ "version": {}
+ },
+ "support_level": "deprecated"
+ },
+ "DedicatedWorkerContext": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html",
+ "members": {
+ "onmessage": {},
+ "postMessage": {}
+ },
+ "support_level": "experimental"
+ },
+ "DelayNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DelayNode",
+ "members": {
+ "delayTime": {}
+ },
+ "support_level": "experimental"
+ },
+ "DeviceAcceleration": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "members": {
+ "x": {},
+ "y": {},
+ "z": {}
+ },
+ "support_level": "experimental"
+ },
+ "DeviceMotionEvent": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "members": {
+ "acceleration": {},
+ "accelerationIncludingGravity": {},
+ "interval": {},
+ "rotationRate": {}
+ },
+ "support_level": "experimental"
+ },
+ "DeviceOrientationEvent": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "members": {
+ "absolute": {},
+ "alpha": {},
+ "beta": {},
+ "gamma": {},
+ "initDeviceOrientationEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "DeviceRotationRate": {
+ "comment": "http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion",
+ "members": {
+ "alpha": {},
+ "beta": {},
+ "gamma": {}
+ },
+ "support_level": "experimental"
+ },
+ "DirectoryEntry": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-directoryentry-interface",
+ "members": {
+ "createReader": {},
+ "getDirectory": {},
+ "getFile": {},
+ "removeRecursively": {}
+ },
+ "support_level": "experimental"
+ },
+ "DirectoryEntrySync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-directoryentrysync-interface",
+ "members": {
+ "createReader": {},
+ "getDirectory": {},
+ "getFile": {},
+ "removeRecursively": {}
+ },
+ "support_level": "experimental"
+ },
+ "DirectoryReader": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-directoryreader-interface",
+ "members": {
+ "readEntries": {}
+ },
+ "support_level": "experimental"
+ },
+ "DirectoryReaderSync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-DirectoryReaderSync",
+ "members": {
+ "readEntries": {}
+ },
+ "support_level": "experimental"
+ },
+ "Document": {
+ "comment": "http://dom.spec.whatwg.org/#interface-document",
+ "members": {
+ "URL": {},
+ "adoptNode": {},
+ "anchors": {
+ "dart_action": "suppress"
+ },
+ "applets": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "body": {},
+ "caretRangeFromPoint": {
+ "comment": "http://www.w3.org/TR/2009/WD-cssom-view-20090804/#dom-documentview-caretrangefrompoint",
+ "support_level": "experimental"
+ },
+ "characterSet": {},
+ "charset": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "compatMode": {
+ "dart_action": "suppress"
+ },
+ "cookie": {},
+ "createAttribute": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-createattribute",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "createAttributeNS": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-createattributens",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "createCDATASection": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-createcdatasection",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "createComment": {},
+ "createDocumentFragment": {},
+ "createElement": {},
+ "createElementNS": {},
+ "createEntityReference": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-createentityreference",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "createEvent": {},
+ "createExpression": {
+ "dart_action": "suppress"
+ },
+ "createNSResolver": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver",
+ "dart_action": "suppress"
+ },
+ "createNodeIterator": {
+ "dart_action": "unstable"
+ },
+ "createProcessingInstruction": {
+ "comment": "https://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-createprocessinginstruction",
+ "dart_action": "unstable"
+ },
+ "createRange": {},
+ "createTextNode": {},
+ "createTouch": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "createTouchList": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "createTreeWalker": {},
+ "defaultCharset": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "defaultView": {},
+ "doctype": {
+ "dart_action": "suppress"
+ },
+ "documentElement": {},
+ "documentURI": {},
+ "domain": {},
+ "elementFromPoint": {},
+ "evaluate": {
+ "dart_action": "suppress"
+ },
+ "execCommand": {},
+ "fontloader": {
+ "comment": "http://www.w3.org/TR/css3-fonts/#document-fontloader",
+ "support_level": "experimental"
+ },
+ "forms": {},
+ "getCSSCanvasContext": {
+ "comment": "https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Articles/Functions.html",
+ "support_level": "nonstandard"
+ },
+ "getElementById": {},
+ "getElementsByClassName": {},
+ "getElementsByName": {},
+ "getElementsByTagName": {},
+ "getElementsByTagNameNS": {},
+ "getOverrideStyle": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "getSelection": {
+ "dart_action": "unstable"
+ },
+ "head": {},
+ "images": {
+ "dart_action": "suppress"
+ },
+ "implementation": {},
+ "importNode": {},
+ "inputEncoding": {
+ "comment": "http://www.w3.org/TR/domcore/",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "lastModified": {},
+ "links": {
+ "dart_action": "suppress"
+ },
+ "location": {
+ "dart_action": "suppress"
+ },
+ "onabort": {},
+ "onbeforecopy": {},
+ "onbeforecut": {},
+ "onbeforepaste": {},
+ "onblur": {},
+ "onchange": {},
+ "onclick": {},
+ "oncontextmenu": {},
+ "oncopy": {},
+ "oncut": {},
+ "ondblclick": {},
+ "ondrag": {},
+ "ondragend": {},
+ "ondragenter": {},
+ "ondragleave": {},
+ "ondragover": {},
+ "ondragstart": {},
+ "ondrop": {},
+ "onerror": {},
+ "onfocus": {},
+ "oninput": {},
+ "oninvalid": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1"
+ },
+ "onkeydown": {},
+ "onkeypress": {},
+ "onkeyup": {},
+ "onload": {},
+ "onmousedown": {},
+ "onmousemove": {},
+ "onmouseout": {},
+ "onmouseover": {},
+ "onmouseup": {},
+ "onmousewheel": {},
+ "onpaste": {},
+ "onreadystatechange": {},
+ "onreset": {},
+ "onscroll": {},
+ "onsearch": {
+ "comment": "http://www.w3.org/TR/html-markup/input.search.html",
+ "support_level": "experimental"
+ },
+ "onsecuritypolicyviolation": {
+ "comment": "https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#widl-Document-onsecuritypolicyviolation",
+ "support_level": "experimental"
+ },
+ "onselect": {},
+ "onselectionchange": {},
+ "onselectstart": {},
+ "onsubmit": {},
+ "ontouchcancel": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchend": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchmove": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchstart": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "onwebkitfullscreenchange": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "support_level": "experimental"
+ },
+ "onwebkitfullscreenerror": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "support_level": "experimental"
+ },
+ "onwebkitpointerlockchange": {
+ "comment": "https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockchange",
+ "support_level": "experimental"
+ },
+ "onwebkitpointerlockerror": {
+ "comment": "https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockerror",
+ "support_level": "experimental"
+ },
+ "preferredStylesheetSet": {
+ "comment": "http://dev.w3.org/csswg/cssom/#widl-Document-preferredStyleSheetSet",
+ "dart_action": "private"
+ },
+ "queryCommandEnabled": {},
+ "queryCommandIndeterm": {},
+ "queryCommandState": {},
+ "queryCommandSupported": {},
+ "queryCommandValue": {},
+ "querySelector": {},
+ "querySelectorAll": {},
+ "readyState": {},
+ "referrer": {},
+ "securityPolicy": {
+ "comment": "https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#idl-def-SecurityPolicy",
+ "support_level": "experimental"
+ },
+ "selectedStylesheetSet": {
+ "comment": "http://dev.w3.org/csswg/cssom/#widl-Document-selectedStyleSheetSet",
+ "dart_action": "private"
+ },
+ "styleSheets": {},
+ "title": {},
+ "webkitCancelFullScreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitCurrentFullScreenElement": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitExitFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen",
+ "support_level": "experimental"
+ },
+ "webkitExitPointerLock": {
+ "comment": "https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-exitPointerLock-void",
+ "support_level": "experimental"
+ },
+ "webkitFullScreenKeyboardInputAllowed": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitFullscreenElement": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenelement",
+ "support_level": "experimental"
+ },
+ "webkitFullscreenEnabled": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenenabled",
+ "support_level": "experimental"
+ },
+ "webkitGetNamedFlows": {
+ "comment": "http://www.w3.org/TR/css3-regions/#dom-named-flow-collection",
+ "support_level": "experimental"
+ },
+ "webkitHidden": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#document",
+ "support_level": "experimental"
+ },
+ "webkitIsFullScreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitPointerLockElement": {
+ "comment": "https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-pointerLockElement",
+ "support_level": "experimental"
+ },
+ "webkitRegister": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-document-register",
+ "support_level": "experimental"
+ },
+ "webkitVisibilityState": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#dom-document-visibilitystate",
+ "support_level": "experimental"
+ },
+ "window": {
+ "support_level": "untriaged"
+ },
+ "xmlEncoding": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-xmlencoding",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "xmlStandalone": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-xmlstandalone",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "xmlVersion": {
+ "comment": "http://dom.spec.whatwg.org/#dom-document-xmlversion",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "DocumentFragment": {
+ "members": {
+ "querySelector": {},
+ "querySelectorAll": {}
+ },
+ "support_level": "stable"
+ },
+ "DocumentType": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927",
+ "dart_action": "suppress",
+ "members": {
+ "entities": {
+ "comment": "http://dom.spec.whatwg.org/#dom-documenttype-entities",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "internalSubset": {
+ "comment": "http://dom.spec.whatwg.org/#dom-documenttype-internalsubset",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "name": {},
+ "notations": {
+ "comment": "http://dom.spec.whatwg.org/#dom-documenttype-notations",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "publicId": {},
+ "remove": {
+ "support_level": "nonstandard"
+ },
+ "systemId": {}
+ },
+ "support_level": "stable"
+ },
+ "DynamicsCompressorNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DynamicsCompressorNode",
+ "members": {
+ "attack": {},
+ "knee": {},
+ "ratio": {},
+ "reduction": {},
+ "release": {},
+ "threshold": {}
+ },
+ "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": {}
+ },
+ "support_level": "stable"
+ },
+ "EXTTextureFilterAnisotropic": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/",
+ "members": {
+ "MAX_TEXTURE_MAX_ANISOTROPY_EXT": {},
+ "TEXTURE_MAX_ANISOTROPY_EXT": {}
+ },
+ "support_level": "experimental"
+ },
+ "Element": {
+ "members": {
+ "ALLOW_KEYBOARD_INPUT": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-element-requestfullscreen",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "attributes": {},
+ "blur": {},
+ "childElementCount": {},
+ "children": {
+ "support_level": "untriaged"
+ },
+ "classList": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#dom-classlist"
+ },
+ "className": {},
+ "click": {
+ "support_level": "untriaged"
+ },
+ "clientHeight": {},
+ "clientLeft": {},
+ "clientTop": {},
+ "clientWidth": {},
+ "contentEditable": {
+ "support_level": "untriaged"
+ },
+ "dataset": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#dom-dataset"
+ },
+ "dir": {
+ "support_level": "untriaged"
+ },
+ "draggable": {
+ "support_level": "untriaged"
+ },
+ "firstElementChild": {},
+ "focus": {},
+ "getAttribute": {},
+ "getAttributeNS": {},
+ "getAttributeNode": {
+ "comment": "http://dom.spec.whatwg.org/#dom-element-getattributenode",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "getAttributeNodeNS": {
+ "comment": "http://dom.spec.whatwg.org/#dom-element-getattributenodens",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "getBoundingClientRect": {},
+ "getClientRects": {},
+ "getElementsByClassName": {},
+ "getElementsByTagName": {},
+ "getElementsByTagNameNS": {
+ "dart_action": "suppress"
+ },
+ "hasAttribute": {},
+ "hasAttributeNS": {},
+ "hasAttributes": {},
+ "hidden": {
+ "support_level": "untriaged"
+ },
+ "id": {
+ "support_level": "untriaged"
+ },
+ "innerHTML": {
+ "support_level": "untriaged"
+ },
+ "isContentEditable": {
+ "support_level": "untriaged"
+ },
+ "lang": {
+ "support_level": "untriaged"
+ },
+ "lastElementChild": {},
+ "nextElementSibling": {},
+ "offsetHeight": {},
+ "offsetLeft": {},
+ "offsetParent": {},
+ "offsetTop": {},
+ "offsetWidth": {},
+ "onabort": {},
+ "onbeforecopy": {},
+ "onbeforecut": {},
+ "onbeforepaste": {},
+ "onblur": {},
+ "onchange": {},
+ "onclick": {},
+ "oncontextmenu": {},
+ "oncopy": {},
+ "oncut": {},
+ "ondblclick": {},
+ "ondrag": {},
+ "ondragend": {},
+ "ondragenter": {},
+ "ondragleave": {},
+ "ondragover": {},
+ "ondragstart": {},
+ "ondrop": {},
+ "onerror": {},
+ "onfocus": {},
+ "oninput": {},
+ "oninvalid": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#attributes-1"
+ },
+ "onkeydown": {},
+ "onkeypress": {},
+ "onkeyup": {},
+ "onload": {},
+ "onmousedown": {},
+ "onmousemove": {},
+ "onmouseout": {},
+ "onmouseover": {},
+ "onmouseup": {},
+ "onmousewheel": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents",
+ "support_level": "nonstandard"
+ },
+ "onpaste": {},
+ "onreset": {},
+ "onscroll": {},
+ "onsearch": {
+ "comment": "http://www.w3.org/TR/html-markup/input.search.html",
+ "support_level": "experimental"
+ },
+ "onselect": {},
+ "onselectstart": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "onsubmit": {},
+ "ontouchcancel": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchend": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchenter": {
+ "support_level": "untriaged"
+ },
+ "ontouchleave": {
+ "support_level": "untriaged"
+ },
+ "ontouchmove": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "ontouchstart": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "support_level": "experimental"
+ },
+ "onwebkitTransitionEnd": {
+ "support_level": "untriaged"
+ },
+ "onwebkitfullscreenchange": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "support_level": "experimental"
+ },
+ "onwebkitfullscreenerror": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "support_level": "experimental"
+ },
+ "outerHTML": {
+ "support_level": "untriaged"
+ },
+ "previousElementSibling": {},
+ "querySelector": {},
+ "querySelectorAll": {},
+ "remove": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "removeAttribute": {},
+ "removeAttributeNS": {},
+ "removeAttributeNode": {
+ "comment": "http://dom.spec.whatwg.org/#dom-element-removeattributenode",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "scrollByLines": {},
+ "scrollByPages": {},
+ "scrollHeight": {},
+ "scrollIntoView": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#widl-Element-scrollIntoView-void-boolean-top"
+ },
+ "scrollIntoViewIfNeeded": {
+ "comment": "http://docs.webplatform.org/wiki/dom/methods/scrollIntoViewIfNeeded",
+ "support_level": "nonstandard"
+ },
+ "scrollLeft": {},
+ "scrollTop": {},
+ "scrollWidth": {},
+ "setAttribute": {},
+ "setAttributeNS": {},
+ "setAttributeNode": {
+ "comment": "http://dom.spec.whatwg.org/#dom-element-setattributenode",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "setAttributeNodeNS": {},
+ "spellcheck": {
+ "support_level": "untriaged"
+ },
+ "style": {},
+ "tabIndex": {
+ "support_level": "untriaged"
+ },
+ "tagName": {},
+ "title": {
+ "support_level": "untriaged"
+ },
+ "translate": {
+ "support_level": "untriaged"
+ },
+ "webkitCreateShadowRoot": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root",
+ "support_level": "experimental"
+ },
+ "webkitGetRegionFlowRanges": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#dom-region-getregionflowranges",
+ "support_level": "experimental"
+ },
+ "webkitInsertionParent": {
+ "comment": "https://www.w3.org/Bugs/Public/show_bug.cgi?id=21067",
+ "support_level": "experimental"
+ },
+ "webkitMatchesSelector": {
+ "comment": "http://dev.w3.org/2006/webapi/selectors-api2/#matches",
+ "support_level": "experimental"
+ },
+ "webkitPseudo": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitRegionOverset": {
+ "comment": "http://dev.w3.org/csswg/css-regions/#dom-region-regionoverset",
+ "support_level": "experimental"
+ },
+ "webkitRequestFullScreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-element-requestfullscreen",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitRequestFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-element-requestfullscreen",
+ "support_level": "experimental"
+ },
+ "webkitRequestPointerLock": {
+ "comment": "https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Element-requestPointerLock-void",
+ "support_level": "experimental"
+ },
+ "webkitShadowRoot": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root",
+ "support_level": "experimental"
+ },
+ "webkitdropzone": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "ElementTimeControl": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceElementTimeControl",
+ "dart_action": "unstable",
+ "members": {
+ "beginElement": {},
+ "beginElementAt": {},
+ "endElement": {},
+ "endElementAt": {}
+ },
+ "support_level": "stable"
+ },
+ "ElementTraversal": {
+ "dart_action": "unstable",
+ "members": {
+ "childElementCount": {},
+ "firstElementChild": {},
+ "lastElementChild": {},
+ "nextElementSibling": {},
+ "previousElementSibling": {}
+ },
+ "support_level": "stable"
+ },
+ "EntityReference": {
+ "dart_action": "suppress",
+ "members": {},
+ "support_level": "deprecated"
+ },
+ "EntriesCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-entriescallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "Entry": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-entry-interface",
+ "members": {
+ "copyTo": {},
+ "filesystem": {},
+ "fullPath": {},
+ "getMetadata": {},
+ "getParent": {},
+ "isDirectory": {},
+ "isFile": {},
+ "moveTo": {},
+ "name": {},
+ "remove": {},
+ "toURL": {}
+ },
+ "support_level": "experimental"
+ },
+ "EntryArray": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-entry-interface",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "EntryArraySync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-EntrySync",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "EntryCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-entrycallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "EntrySync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-EntrySync",
+ "members": {
+ "copyTo": {},
+ "filesystem": {},
+ "fullPath": {},
+ "getMetadata": {},
+ "getParent": {},
+ "isDirectory": {},
+ "isFile": {},
+ "moveTo": {},
+ "name": {},
+ "remove": {},
+ "toURL": {}
+ },
+ "support_level": "experimental"
+ },
+ "ErrorCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-errorcallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "ErrorEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#errorevent",
+ "dart_action": "unstable",
+ "members": {
+ "filename": {},
+ "lineno": {},
+ "message": {}
+ },
+ "support_level": "stable"
+ },
+ "Event": {
+ "members": {
+ "AT_TARGET": {},
+ "BLUR": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "BUBBLING_PHASE": {},
+ "CAPTURING_PHASE": {},
+ "CHANGE": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "CLICK": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "DBLCLICK": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "DRAGDROP": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "FOCUS": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "KEYDOWN": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "KEYPRESS": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "KEYUP": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEDOWN": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEDRAG": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEMOVE": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEOUT": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEOVER": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "MOUSEUP": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "NONE": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SELECT": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.captureEvents",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bubbles": {},
+ "cancelBubble": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-event-type-stopPropagation",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "cancelable": {},
+ "clipboardData": {
+ "comment": "Part of copy/paste",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "currentTarget": {},
+ "defaultPrevented": {},
+ "eventPhase": {},
+ "initEvent": {},
+ "preventDefault": {},
+ "returnValue": {
+ "comment": "http://dev.w3.org/html5/spec-LC/history.html#dom-beforeunloadevent-returnvalue",
+ "support_level": "nonstandard"
+ },
+ "srcElement": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "stopImmediatePropagation": {},
+ "stopPropagation": {},
+ "target": {},
+ "timeStamp": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "EventException": {
+ "comment": "http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/events.html#Events-EventException",
+ "dart_action": "unstable",
+ "members": {
+ "DISPATCH_REQUEST_ERR": {},
+ "UNSPECIFIED_EVENT_TYPE_ERR": {},
+ "code": {},
+ "message": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "name": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "toString": {}
+ },
+ "support_level": "stable"
+ },
+ "EventSource": {
+ "comment": "http://www.w3.org/TR/eventsource/#the-eventsource-interface",
+ "dart_action": "experimental",
+ "members": {
+ "CLOSED": {},
+ "CONNECTING": {},
+ "EventSource": {},
+ "OPEN": {},
+ "URL": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "addEventListener": {},
+ "close": {},
+ "dispatchEvent": {},
+ "onerror": {},
+ "onmessage": {},
+ "onopen": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "url": {},
+ "withCredentials": {}
+ },
+ "support_level": "stable"
+ },
+ "EventTarget": {
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "removeEventListener": {}
+ },
+ "support_level": "stable"
+ },
+ "File": {
+ "comment": "http://www.w3.org/TR/FileAPI/#dfn-file",
+ "members": {
+ "lastModifiedDate": {},
+ "name": {},
+ "webkitRelativePath": {
+ "comment": "https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3",
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "FileCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-filecallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileEntry": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-fileentry-interface",
+ "members": {
+ "createWriter": {},
+ "file": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileEntrySync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-fileentrysync-interface",
+ "members": {
+ "createWriter": {},
+ "file": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileError": {
+ "comment": "http://dev.w3.org/2009/dap/file-system/pub/FileSystem/",
+ "members": {
+ "ABORT_ERR": {},
+ "ENCODING_ERR": {},
+ "INVALID_MODIFICATION_ERR": {},
+ "INVALID_STATE_ERR": {},
+ "NOT_FOUND_ERR": {},
+ "NOT_READABLE_ERR": {},
+ "NO_MODIFICATION_ALLOWED_ERR": {},
+ "PATH_EXISTS_ERR": {},
+ "QUOTA_EXCEEDED_ERR": {},
+ "SECURITY_ERR": {},
+ "SYNTAX_ERR": {},
+ "TYPE_MISMATCH_ERR": {},
+ "code": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileException": {
+ "comment": "http://dev.w3.org/2009/dap/file-system/pub/FileSystem/",
+ "members": {
+ "ABORT_ERR": {},
+ "ENCODING_ERR": {},
+ "INVALID_MODIFICATION_ERR": {},
+ "INVALID_STATE_ERR": {},
+ "NOT_FOUND_ERR": {},
+ "NOT_READABLE_ERR": {},
+ "NO_MODIFICATION_ALLOWED_ERR": {},
+ "PATH_EXISTS_ERR": {},
+ "QUOTA_EXCEEDED_ERR": {},
+ "SECURITY_ERR": {},
+ "SYNTAX_ERR": {},
+ "TYPE_MISMATCH_ERR": {},
+ "code": {},
+ "message": {},
+ "name": {},
+ "toString": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileList": {
+ "comment": "http://www.w3.org/TR/FileAPI/#dfn-filelist",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "FileReader": {
+ "comment": "http://www.w3.org/TR/FileAPI/#FileReader-interface",
+ "members": {
+ "DONE": {},
+ "EMPTY": {},
+ "FileReader": {},
+ "LOADING": {},
+ "abort": {},
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "error": {},
+ "onabort": {},
+ "onerror": {},
+ "onload": {},
+ "onloadend": {},
+ "onloadstart": {},
+ "onprogress": {},
+ "readAsArrayBuffer": {},
+ "readAsBinaryString": {
+ "comment": "http://blog.whatwg.org/weekly-stream-autocomplete",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "readAsDataURL": {},
+ "readAsText": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "result": {}
+ },
+ "support_level": "stable"
+ },
+ "FileReaderSync": {
+ "comment": "http://www.w3.org/TR/FileAPI/#FileReaderSync",
+ "members": {
+ "FileReaderSync": {},
+ "readAsArrayBuffer": {},
+ "readAsBinaryString": {},
+ "readAsDataURL": {},
+ "readAsText": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileSystemCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-filesystemcallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileWriter": {
+ "comment": "http://www.w3.org/TR/file-writer-api/#the-filewriter-interface",
+ "members": {
+ "DONE": {},
+ "INIT": {},
+ "WRITING": {},
+ "abort": {},
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "error": {},
+ "length": {},
+ "onabort": {},
+ "onerror": {},
+ "onprogress": {},
+ "onwrite": {},
+ "onwriteend": {},
+ "onwritestart": {},
+ "position": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "seek": {},
+ "truncate": {},
+ "write": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileWriterCallback": {
+ "comment": "http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "FileWriterSync": {
+ "comment": "http://www.w3.org/TR/file-writer-api/#idl-def-FileWriterSync",
+ "members": {
+ "length": {},
+ "position": {},
+ "seek": {},
+ "truncate": {},
+ "write": {}
+ },
+ "support_level": "experimental"
+ },
+ "Float32Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Float64Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "FocusEvent": {
+ "members": {
+ "relatedTarget": {}
+ },
+ "support_level": "stable"
+ },
+ "FontLoader": {
+ "comment": "http://www.w3.org/TR/css3-fonts/#document-fontloader",
+ "members": {
+ "addEventListener": {},
+ "checkFont": {},
+ "dispatchEvent": {},
+ "loadFont": {},
+ "loading": {},
+ "notifyWhenFontsReady": {},
+ "onerror": {},
+ "onload": {},
+ "onloading": {},
+ "onloadingdone": {},
+ "onloadstart": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "FormData": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "GainNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#GainNode",
+ "members": {
+ "gain": {}
+ },
+ "support_level": "experimental"
+ },
+ "Gamepad": {
+ "comment": "https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#gamepad-interface",
+ "members": {
+ "axes": {},
+ "buttons": {},
+ "id": {},
+ "index": {},
+ "timestamp": {}
+ },
+ "support_level": "experimental"
+ },
+ "GamepadList": {
+ "comment": "https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "Geolocation": {
+ "comment": "http://dev.w3.org/geo/api/spec-source.html#geolocation_interface",
+ "dart_action": "unstable",
+ "members": {
+ "clearWatch": {},
+ "getCurrentPosition": {},
+ "watchPosition": {}
+ },
+ "support_level": "stable"
+ },
+ "Geoposition": {
+ "comment": "http://dev.w3.org/geo/api/spec-source.html#position",
+ "dart_action": "unstable",
+ "members": {
+ "coords": {},
+ "timestamp": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLAllCollection": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-all",
+ "dart_action": "suppress",
+ "members": {
+ "item": {},
+ "length": {},
+ "namedItem": {},
+ "tags": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLAnchorElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-a-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLAnchorElement": {},
+ "charset": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAnchorElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "coords": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAnchorElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "download": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#attr-hyperlink-download",
+ "support_level": "experimental"
+ },
+ "hash": {},
+ "host": {},
+ "hostname": {},
+ "href": {},
+ "hreflang": {},
+ "name": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAnchorElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "origin": {
+ "comment": "WebKit only",
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "pathname": {},
+ "ping": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-a-element",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "port": {},
+ "protocol": {},
+ "rel": {},
+ "rev": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAnchorElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "search": {},
+ "shape": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAnchorElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "target": {},
+ "text": {},
+ "toString": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLAppletElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#the-applet-element",
+ "dart_action": "suppress",
+ "members": {
+ "align": {},
+ "alt": {},
+ "archive": {},
+ "code": {},
+ "codeBase": {},
+ "height": {},
+ "hspace": {},
+ "name": {},
+ "object": {},
+ "vspace": {},
+ "width": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLAreaElement": {
+ "comment": "http://developers.whatwg.org/the-map-element.html#the-area-element",
+ "members": {
+ "HTMLAreaElement": {},
+ "alt": {},
+ "coords": {},
+ "hash": {},
+ "host": {},
+ "hostname": {},
+ "href": {},
+ "noHref": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAreaElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "pathname": {},
+ "ping": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLAreaElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "port": {},
+ "protocol": {},
+ "search": {},
+ "shape": {},
+ "target": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLAudioElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-audio-element",
+ "members": {
+ "HTMLAudioElement": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLBRElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-br-element",
+ "members": {
+ "HTMLBRElement": {},
+ "clear": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBRElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLBaseElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-base-element",
+ "members": {
+ "HTMLBaseElement": {},
+ "href": {},
+ "target": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLBaseFontElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#basefont",
+ "dart_action": "suppress",
+ "members": {
+ "color": {},
+ "face": {},
+ "size": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLBodyElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#the-body-element",
+ "members": {
+ "HTMLBodyElement": {},
+ "aLink": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "background": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "link": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "onbeforeunload": {},
+ "onblur": {},
+ "onerror": {},
+ "onfocus": {},
+ "onhashchange": {},
+ "onload": {},
+ "onmessage": {},
+ "onoffline": {},
+ "ononline": {},
+ "onpopstate": {},
+ "onresize": {},
+ "onstorage": {},
+ "onunload": {},
+ "text": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "vLink": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLBodyElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLButtonElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-button-element",
+ "members": {
+ "HTMLButtonElement": {},
+ "autofocus": {},
+ "checkValidity": {},
+ "disabled": {},
+ "form": {},
+ "formAction": {},
+ "formEnctype": {},
+ "formMethod": {},
+ "formNoValidate": {},
+ "formTarget": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "name": {},
+ "setCustomValidity": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "value": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLCanvasElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element",
+ "members": {
+ "HTMLCanvasElement": {},
+ "getContext": {},
+ "height": {},
+ "toDataURL": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLCollection": {
+ "comment": "http://www.w3.org/TR/domcore/#interface-htmlcollection",
+ "members": {
+ "item": {},
+ "length": {},
+ "namedItem": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLContentElement": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#content-element",
+ "members": {
+ "HTMLContentElement": {},
+ "getDistributedNodes": {},
+ "resetStyleInheritance": {},
+ "select": {}
+ },
+ "support_level": "experimental"
+ },
+ "HTMLDListElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-dl-element",
+ "members": {
+ "HTMLDListElement": {},
+ "compact": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLDListElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLDataListElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element",
+ "members": {
+ "HTMLDataListElement": {},
+ "options": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLDetailsElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-details-element",
+ "members": {
+ "HTMLDetailsElement": {},
+ "open": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLDialogElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#the-dialog-element",
+ "dart_action": "unstable",
+ "members": {
+ "close": {},
+ "open": {},
+ "show": {},
+ "showModal": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLDirectoryElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dir",
+ "dart_action": "suppress",
+ "members": {
+ "compact": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLDivElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-div-element",
+ "members": {
+ "HTMLDivElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLDivElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLDocument": {
+ "comment": "http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-documents.html#htmldocument",
+ "members": {
+ "activeElement": {},
+ "alinkColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-alinkcolor",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "all": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-all",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-bgcolor",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "captureEvents": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "clear": {
+ "support_level": "suppressed"
+ },
+ "close": {},
+ "compatMode": {},
+ "designMode": {},
+ "dir": {},
+ "embeds": {},
+ "fgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-fgcolor",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "hasFocus": {},
+ "height": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "linkColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-linkcolor",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "open": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-72161170"
+ },
+ "plugins": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "releaseEvents": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "scripts": {
+ "dart_action": "suppress"
+ },
+ "vlinkColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-vlinkcolor",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/document.width",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "write": {},
+ "writeln": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-elements.html#htmlelement",
+ "members": {
+ "accessKey": {},
+ "children": {},
+ "click": {},
+ "contentEditable": {},
+ "dir": {},
+ "draggable": {},
+ "hidden": {},
+ "id": {},
+ "innerHTML": {},
+ "innerText": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "insertAdjacentElement": {
+ "support_level": "nonstandard"
+ },
+ "insertAdjacentHTML": {
+ "comment": "http://domparsing.spec.whatwg.org/#insertadjacenthtml%28%29"
+ },
+ "insertAdjacentText": {
+ "support_level": "nonstandard"
+ },
+ "isContentEditable": {},
+ "lang": {},
+ "outerHTML": {},
+ "outerText": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "spellcheck": {},
+ "tabIndex": {},
+ "title": {},
+ "translate": {},
+ "webkitdropzone": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute",
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLEmbedElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-embed-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLEmbedElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLEmbedElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "getSVGDocument": {
+ "comment": "http://www.w3.org/TR/SVG11/struct.html#InterfaceGetSVGDocument",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "height": {},
+ "name": {},
+ "src": {},
+ "type": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLFieldSetElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-fieldset-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLFieldSetElement": {},
+ "checkValidity": {},
+ "disabled": {},
+ "elements": {},
+ "form": {},
+ "name": {},
+ "setCustomValidity": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLFontElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#htmlfontelement",
+ "dart_action": "suppress",
+ "members": {
+ "color": {},
+ "face": {},
+ "size": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLFormControlsCollection": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmlformcontrolscollection-0",
+ "members": {
+ "namedItem": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLFormElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-form-element",
+ "members": {
+ "HTMLFormElement": {},
+ "acceptCharset": {},
+ "action": {},
+ "autocomplete": {},
+ "checkValidity": {},
+ "elements": {},
+ "encoding": {},
+ "enctype": {},
+ "length": {},
+ "method": {},
+ "name": {},
+ "noValidate": {},
+ "onautocomplete": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute",
+ "support_level": "experimental"
+ },
+ "onautocompleteerror": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute",
+ "support_level": "experimental"
+ },
+ "requestAutocomplete": {
+ "comment": "http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-October/037711.html",
+ "support_level": "experimental"
+ },
+ "reset": {},
+ "submit": {},
+ "target": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLFrameElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#htmlframeelement",
+ "dart_action": "suppress",
+ "members": {
+ "contentDocument": {},
+ "contentWindow": {},
+ "frameBorder": {},
+ "getSVGDocument": {},
+ "height": {},
+ "location": {},
+ "longDesc": {},
+ "marginHeight": {},
+ "marginWidth": {},
+ "name": {},
+ "noResize": {},
+ "scrolling": {},
+ "src": {},
+ "width": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLFrameSetElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#frameset",
+ "dart_action": "suppress",
+ "members": {
+ "cols": {},
+ "onbeforeunload": {},
+ "onblur": {},
+ "onerror": {},
+ "onfocus": {},
+ "onhashchange": {},
+ "onload": {},
+ "onmessage": {},
+ "onoffline": {},
+ "ononline": {},
+ "onpopstate": {},
+ "onresize": {},
+ "onstorage": {},
+ "onunload": {},
+ "rows": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLHRElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-hr-element",
+ "members": {
+ "HTMLHRElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHRElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "noShade": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHRElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "size": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHRElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHRElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLHeadElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-head-element",
+ "members": {
+ "HTMLHeadElement": {},
+ "profile": {
+ "comment": "http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#profiles",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLHeadingElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements",
+ "members": {
+ "HTMLHeadingElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHeadingElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLHtmlElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-html-element",
+ "members": {
+ "HTMLHtmlElement": {},
+ "manifest": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#manifests",
+ "support_level": "experimental"
+ },
+ "version": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLHtmlElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLIFrameElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-iframe-element",
+ "members": {
+ "HTMLIFrameElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "contentDocument": {},
+ "contentWindow": {},
+ "frameBorder": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "getSVGDocument": {
+ "comment": "http://www.w3.org/TR/SVG11/struct.html#InterfaceGetSVGDocument",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "height": {},
+ "longDesc": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "marginHeight": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "marginWidth": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "name": {},
+ "sandbox": {},
+ "scrolling": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLIFrameElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "seamless": {},
+ "src": {},
+ "srcdoc": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLImageElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#the-img-element",
+ "members": {
+ "HTMLImageElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLImageElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "alt": {},
+ "border": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "complete": {},
+ "crossOrigin": {},
+ "height": {},
+ "hspace": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLImageElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "isMap": {},
+ "longDesc": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLImageElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "lowsrc": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "name": {},
+ "naturalHeight": {},
+ "naturalWidth": {},
+ "src": {},
+ "useMap": {},
+ "vspace": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLImageElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {},
+ "x": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "y": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLInputElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element",
+ "members": {
+ "accept": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLInputElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "alt": {},
+ "autocomplete": {},
+ "autofocus": {},
+ "checkValidity": {},
+ "checked": {},
+ "defaultChecked": {},
+ "defaultValue": {},
+ "dirName": {},
+ "disabled": {},
+ "files": {},
+ "form": {},
+ "formAction": {},
+ "formEnctype": {},
+ "formMethod": {},
+ "formNoValidate": {},
+ "formTarget": {},
+ "height": {},
+ "incremental": {
+ "comment": "http://www.w3.org/TR/html-markup/input.search.html",
+ "support_level": "experimental"
+ },
+ "indeterminate": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels"
+ },
+ "list": {},
+ "max": {},
+ "maxLength": {},
+ "min": {},
+ "multiple": {},
+ "name": {},
+ "onwebkitSpeechChange": {
+ "support_level": "untriaged"
+ },
+ "onwebkitspeechchange": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#extending_html_elements",
+ "support_level": "experimental"
+ },
+ "pattern": {},
+ "placeholder": {},
+ "readOnly": {},
+ "required": {},
+ "select": {},
+ "selectionDirection": {},
+ "selectionEnd": {},
+ "selectionStart": {},
+ "setCustomValidity": {},
+ "setRangeText": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-textarea/input-setrangetext",
+ "dart_action": "experimental",
+ "support_level": "experimental"
+ },
+ "setSelectionRange": {},
+ "size": {},
+ "src": {},
+ "step": {},
+ "stepDown": {},
+ "stepUp": {},
+ "type": {},
+ "useMap": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLInputElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "validationMessage": {},
+ "validity": {},
+ "value": {},
+ "valueAsDate": {},
+ "valueAsNumber": {},
+ "webkitEntries": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#concept-input-type-file-selected",
+ "support_level": "experimental"
+ },
+ "webkitGrammar": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#attrib-grammar",
+ "support_level": "experimental"
+ },
+ "webkitSpeech": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#attrib-speech",
+ "support_level": "experimental"
+ },
+ "webkitdirectory": {
+ "comment": "https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3",
+ "support_level": "experimental"
+ },
+ "width": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLKeygenElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-keygen-element",
+ "members": {
+ "HTMLKeygenElement": {},
+ "autofocus": {},
+ "challenge": {},
+ "checkValidity": {},
+ "disabled": {},
+ "form": {},
+ "keytype": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "name": {},
+ "setCustomValidity": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "willValidate": {}
+ },
+ "support_level": "experimental"
+ },
+ "HTMLLIElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-li-element",
+ "members": {
+ "HTMLLIElement": {},
+ "type": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLLIElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLLabelElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-label-element",
+ "members": {
+ "HTMLLabelElement": {},
+ "control": {},
+ "form": {},
+ "htmlFor": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLLegendElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#the-legend-element",
+ "members": {
+ "HTMLLegendElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLLegendElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "form": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLLinkElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-link-element",
+ "members": {
+ "HTMLLinkElement": {},
+ "charset": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLLinkElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "disabled": {},
+ "href": {},
+ "hreflang": {},
+ "media": {},
+ "rel": {},
+ "rev": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLLinkElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "sheet": {},
+ "sizes": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#rel-icon",
+ "support_level": "experimental"
+ },
+ "target": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLLinkElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLMapElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-map-element.html#the-map-element",
+ "members": {
+ "HTMLMapElement": {},
+ "areas": {},
+ "name": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLMarqueeElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#the-marquee-element",
+ "dart_action": "suppress",
+ "members": {
+ "behavior": {},
+ "bgColor": {},
+ "direction": {},
+ "height": {},
+ "hspace": {},
+ "loop": {},
+ "scrollAmount": {},
+ "scrollDelay": {},
+ "start": {},
+ "stop": {},
+ "trueSpeed": {},
+ "vspace": {},
+ "width": {}
+ },
+ "support_level": "deprecated"
+ },
+ "HTMLMediaElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#htmlmediaelement",
+ "dart_action": "unstable",
+ "members": {
+ "HAVE_CURRENT_DATA": {},
+ "HAVE_ENOUGH_DATA": {},
+ "HAVE_FUTURE_DATA": {},
+ "HAVE_METADATA": {},
+ "HAVE_NOTHING": {},
+ "NETWORK_EMPTY": {},
+ "NETWORK_IDLE": {},
+ "NETWORK_LOADING": {},
+ "NETWORK_NO_SOURCE": {},
+ "addTextTrack": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack",
+ "support_level": "experimental"
+ },
+ "autoplay": {},
+ "buffered": {},
+ "canPlayType": {},
+ "controller": {},
+ "controls": {},
+ "currentSrc": {},
+ "currentTime": {},
+ "defaultMuted": {},
+ "defaultPlaybackRate": {},
+ "duration": {},
+ "ended": {},
+ "error": {},
+ "initialTime": {
+ "comment": "http://www.w3.org/TR/2011/WD-html5-20110113/video.html#dom-media-initialtime",
+ "support_level": "experimental"
+ },
+ "load": {},
+ "loop": {},
+ "mediaGroup": {},
+ "muted": {},
+ "networkState": {},
+ "oncanplay": {},
+ "oncanplaythrough": {},
+ "ondurationchange": {},
+ "onemptied": {},
+ "onended": {},
+ "onloadeddata": {},
+ "onloadedmetadata": {},
+ "onloadstart": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onpause": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onplay": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onplaying": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onprogress": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onratechange": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onseeked": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onseeking": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onshow": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart",
+ "support_level": "experimental"
+ },
+ "onstalled": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onsuspend": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "ontimeupdate": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onvolumechange": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onwaiting": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart"
+ },
+ "onwebkitkeyadded": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded",
+ "support_level": "experimental"
+ },
+ "onwebkitkeyerror": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded",
+ "support_level": "experimental"
+ },
+ "onwebkitkeymessage": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded",
+ "support_level": "experimental"
+ },
+ "onwebkitneedkey": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded",
+ "support_level": "experimental"
+ },
+ "pause": {},
+ "paused": {},
+ "play": {},
+ "playbackRate": {},
+ "played": {},
+ "preload": {},
+ "readyState": {},
+ "seekable": {},
+ "seeking": {},
+ "src": {},
+ "startTime": {
+ "support_level": "nonstandard"
+ },
+ "textTracks": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-texttracks",
+ "support_level": "experimental"
+ },
+ "volume": {},
+ "webkitAddKey": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#extensions",
+ "support_level": "experimental"
+ },
+ "webkitAudioDecodedByteCount": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitCancelKeyRequest": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#extensions",
+ "support_level": "experimental"
+ },
+ "webkitClosedCaptionsVisible": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitGenerateKeyRequest": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#extensions",
+ "support_level": "experimental"
+ },
+ "webkitHasClosedCaptions": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitPreservesPitch": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitVideoDecodedByteCount": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLMenuElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#the-menu-element",
+ "members": {
+ "HTMLMenuElement": {},
+ "compact": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLMenuElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLMetaElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element",
+ "members": {
+ "content": {},
+ "httpEquiv": {},
+ "name": {},
+ "scheme": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLMetaElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLMeterElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-meter-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLMeterElement": {},
+ "high": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "low": {},
+ "max": {},
+ "min": {},
+ "optimum": {},
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLModElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/edits.html#htmlmodelement",
+ "dart_action": "unstable",
+ "members": {
+ "cite": {},
+ "dateTime": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLOListElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-ol-element",
+ "members": {
+ "HTMLOListElement": {},
+ "compact": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLOListElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "reversed": {},
+ "start": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLObjectElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-object-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLObjectElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "archive": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "border": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "checkValidity": {},
+ "code": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "codeBase": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "codeType": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "contentDocument": {},
+ "data": {},
+ "declare": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "form": {},
+ "getSVGDocument": {
+ "comment": "http://www.w3.org/TR/SVG11/struct.html#InterfaceGetSVGDocument",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "height": {},
+ "hspace": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "name": {},
+ "setCustomValidity": {},
+ "standby": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "type": {},
+ "useMap": {},
+ "validationMessage": {},
+ "validity": {},
+ "vspace": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLObjectElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLOptGroupElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-optgroup-element",
+ "members": {
+ "HTMLOptGroupElement": {},
+ "disabled": {},
+ "label": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLOptionElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-option-element",
+ "members": {
+ "HTMLOptionElement": {},
+ "defaultSelected": {},
+ "disabled": {},
+ "form": {},
+ "index": {},
+ "label": {},
+ "selected": {},
+ "text": {},
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLOptionsCollection": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmloptionscollection-0",
+ "members": {
+ "length": {},
+ "namedItem": {},
+ "numericIndexGetter": {
+ "support_level": "untriaged"
+ },
+ "numericIndexSetter": {
+ "support_level": "untriaged"
+ },
+ "remove": {},
+ "selectedIndex": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLOutputElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-output-element",
+ "members": {
+ "HTMLOutputElement": {},
+ "checkValidity": {},
+ "defaultValue": {},
+ "form": {},
+ "htmlFor": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "name": {},
+ "setCustomValidity": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "value": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLParagraphElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-p-element",
+ "members": {
+ "HTMLParagraphElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLParagraphElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLParamElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-param-element",
+ "dart_action": "unstable",
+ "members": {
+ "HTMLParamElement": {},
+ "name": {},
+ "type": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLParamElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "value": {},
+ "valueType": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLParamElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLPreElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-pre-element",
+ "members": {
+ "HTMLPreElement": {},
+ "width": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLPreElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "wrap": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLProgressElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-progress-element",
+ "members": {
+ "HTMLProgressElement": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "max": {},
+ "position": {},
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLQuoteElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-blockquote-element",
+ "members": {
+ "cite": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLScriptElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#the-script-element",
+ "members": {
+ "HTMLScriptElement": {},
+ "async": {},
+ "charset": {},
+ "crossOrigin": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-crossorigin",
+ "support_level": "experimental"
+ },
+ "defer": {},
+ "event": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLScriptElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "htmlFor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLScriptElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "nonce": {
+ "comment": "https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#interaction-with-the-script-src-directive",
+ "support_level": "experimental"
+ },
+ "src": {},
+ "text": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLSelectElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-select-element",
+ "members": {
+ "HTMLSelectElement": {},
+ "autofocus": {},
+ "checkValidity": {},
+ "disabled": {},
+ "form": {},
+ "item": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "length": {},
+ "multiple": {},
+ "name": {},
+ "namedItem": {},
+ "options": {},
+ "required": {},
+ "selectedIndex": {},
+ "selectedOptions": {},
+ "setCustomValidity": {},
+ "size": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "value": {},
+ "willValidate": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLShadowElement": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-element",
+ "members": {
+ "olderShadowRoot": {},
+ "resetStyleInheritance": {}
+ },
+ "support_level": "experimental"
+ },
+ "HTMLSourceElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-source-element",
+ "members": {
+ "HTMLSourceElement": {},
+ "media": {},
+ "src": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLSpanElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-span-element",
+ "members": {
+ "HTMLSpanElement": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLStyleElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-style-element",
+ "members": {
+ "HTMLStyleElement": {},
+ "disabled": {},
+ "media": {},
+ "scoped": {},
+ "sheet": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableCaptionElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-caption-element",
+ "members": {
+ "HTMLTableCaptionElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCaptionElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableCellElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#htmltablecellelement",
+ "members": {
+ "HTMLTableCellElement": {},
+ "abbr": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#attr-td-abbr",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "axis": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "cellIndex": {},
+ "ch": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "chOff": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "colSpan": {},
+ "headers": {},
+ "height": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "noWrap": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "rowSpan": {},
+ "scope": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#attr-td-scope",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "vAlign": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableCellElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableColElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#htmltablecolelement",
+ "members": {
+ "HTMLTableColElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableColElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "ch": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableColElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "chOff": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableColElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "span": {},
+ "vAlign": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableColElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableColElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-table-element",
+ "members": {
+ "HTMLTableElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "border": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "caption": {},
+ "cellPadding": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "cellSpacing": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "createCaption": {},
+ "createTBody": {},
+ "createTFoot": {},
+ "createTHead": {},
+ "deleteCaption": {},
+ "deleteRow": {},
+ "deleteTFoot": {},
+ "deleteTHead": {},
+ "frame": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "insertRow": {},
+ "rows": {},
+ "rules": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "summary": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "tBodies": {},
+ "tFoot": {},
+ "tHead": {},
+ "width": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableRowElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tr-element",
+ "members": {
+ "HTMLTableRowElement": {},
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableRowElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "bgColor": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableRowElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "cells": {},
+ "ch": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableRowElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "chOff": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableRowElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "deleteCell": {},
+ "insertCell": {},
+ "rowIndex": {},
+ "sectionRowIndex": {},
+ "vAlign": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableRowElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTableSectionElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-tbody-element",
+ "members": {
+ "align": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableSectionElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "ch": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableSectionElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "chOff": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableSectionElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "deleteRow": {},
+ "insertRow": {},
+ "rows": {},
+ "vAlign": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLTableSectionElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLTemplateElement": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html#template-element",
+ "members": {
+ "content": {}
+ },
+ "support_level": "experimental"
+ },
+ "HTMLTextAreaElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-textarea-element",
+ "members": {
+ "HTMLTextAreaElement": {},
+ "autofocus": {},
+ "checkValidity": {},
+ "cols": {},
+ "defaultValue": {},
+ "dirName": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-textarea-dirname",
+ "support_level": "experimental"
+ },
+ "disabled": {},
+ "form": {},
+ "labels": {
+ "comment": "http://www.w3.org/TR/html5/forms.html#dom-lfe-labels",
+ "dart_action": "unstable"
+ },
+ "maxLength": {},
+ "name": {},
+ "placeholder": {},
+ "readOnly": {},
+ "required": {},
+ "rows": {},
+ "select": {},
+ "selectionDirection": {},
+ "selectionEnd": {},
+ "selectionStart": {},
+ "setCustomValidity": {},
+ "setRangeText": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-textarea/input-setrangetext",
+ "support_level": "experimental"
+ },
+ "setSelectionRange": {},
+ "textLength": {},
+ "type": {},
+ "validationMessage": {},
+ "validity": {},
+ "value": {},
+ "willValidate": {},
+ "wrap": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLTitleElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-title-element",
+ "members": {
+ "HTMLTitleElement": {},
+ "text": {}
+ },
+ "support_level": "stable"
+ },
+ "HTMLTrackElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-track-element",
+ "members": {
+ "ERROR": {},
+ "HTMLTrackElement": {},
+ "LOADED": {},
+ "LOADING": {},
+ "NONE": {},
+ "default": {},
+ "kind": {},
+ "label": {},
+ "readyState": {},
+ "src": {},
+ "srclang": {},
+ "track": {}
+ },
+ "support_level": "experimental"
+ },
+ "HTMLUListElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-ul-element",
+ "members": {
+ "HTMLUListElement": {},
+ "compact": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLUListElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "type": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#HTMLUListElement-partial",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "HTMLUnknownElement": {
+ "members": {},
+ "support_level": "stable"
+ },
+ "HTMLVideoElement": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-video-element",
+ "members": {
+ "HTMLVideoElement": {},
+ "height": {},
+ "poster": {},
+ "videoHeight": {},
+ "videoWidth": {},
+ "webkitDecodedFrameCount": {
+ "support_level": "experimental"
+ },
+ "webkitDisplayingFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitDroppedFrameCount": {
+ "support_level": "experimental"
+ },
+ "webkitEnterFullScreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitEnterFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "support_level": "experimental"
+ },
+ "webkitExitFullScreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitExitFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen",
+ "support_level": "experimental"
+ },
+ "webkitSupportsFullscreen": {
+ "comment": "https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "HashChangeEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#hashchangeevent",
+ "dart_action": "unstable",
+ "members": {
+ "initHashChangeEvent": {},
+ "newURL": {},
+ "oldURL": {}
+ },
+ "support_level": "stable"
+ },
+ "History": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#the-history-interface",
+ "members": {
+ "back": {},
+ "forward": {},
+ "go": {},
+ "length": {},
+ "pushState": {},
+ "replaceState": {},
+ "state": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBAny": {
+ "dart_action": "suppress",
+ "members": {},
+ "support_level": "nonstandard"
+ },
+ "IDBCursor": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor",
+ "dart_action": "unstable",
+ "members": {
+ "advance": {},
+ "continue": {
+ "support_level": "untriaged"
+ },
+ "delete": {},
+ "direction": {},
+ "key": {},
+ "next": {
+ "support_level": "nonstandard"
+ },
+ "primaryKey": {},
+ "source": {},
+ "update": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBCursorWithValue": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue",
+ "dart_action": "unstable",
+ "members": {
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBDatabase": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase",
+ "dart_action": "unstable",
+ "members": {
+ "addEventListener": {},
+ "close": {},
+ "createObjectStore": {},
+ "deleteObjectStore": {},
+ "dispatchEvent": {},
+ "name": {},
+ "objectStoreNames": {},
+ "onabort": {},
+ "onerror": {},
+ "onversionchange": {},
+ "removeEventListener": {},
+ "transaction": {},
+ "version": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBFactory": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory",
+ "dart_action": "unstable",
+ "members": {
+ "cmp": {},
+ "deleteDatabase": {},
+ "open": {},
+ "webkitGetDatabaseNames": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "IDBIndex": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex",
+ "dart_action": "unstable",
+ "members": {
+ "count": {},
+ "get": {},
+ "getKey": {},
+ "keyPath": {},
+ "multiEntry": {},
+ "name": {},
+ "objectStore": {},
+ "openCursor": {},
+ "openKeyCursor": {},
+ "unique": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBKeyRange": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange",
+ "dart_action": "unstable",
+ "members": {
+ "bound": {
+ "support_level": "untriaged"
+ },
+ "bound_": {
+ "support_level": "nonstandard"
+ },
+ "lower": {},
+ "lowerBound": {
+ "support_level": "untriaged"
+ },
+ "lowerBound_": {
+ "support_level": "nonstandard"
+ },
+ "lowerOpen": {},
+ "only": {
+ "support_level": "untriaged"
+ },
+ "only_": {
+ "support_level": "nonstandard"
+ },
+ "upper": {},
+ "upperBound": {
+ "support_level": "untriaged"
+ },
+ "upperBound_": {
+ "support_level": "nonstandard"
+ },
+ "upperOpen": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBObjectStore": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore",
+ "dart_action": "unstable",
+ "members": {
+ "add": {},
+ "autoIncrement": {},
+ "clear": {},
+ "count": {},
+ "createIndex": {},
+ "delete": {},
+ "deleteIndex": {},
+ "get": {},
+ "index": {},
+ "indexNames": {},
+ "keyPath": {},
+ "name": {},
+ "openCursor": {},
+ "put": {},
+ "transaction": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBOpenDBRequest": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest",
+ "dart_action": "unstable",
+ "members": {
+ "onblocked": {},
+ "onupgradeneeded": {}
+ },
+ "support_level": "stable"
+ },
+ "IDBRequest": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest",
+ "dart_action": "unstable",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "error": {},
+ "onerror": {},
+ "onsuccess": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "result": {},
+ "source": {},
+ "transaction": {},
+ "webkitErrorMessage": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "IDBTransaction": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction",
+ "dart_action": "unstable",
+ "members": {
+ "abort": {},
+ "addEventListener": {},
+ "db": {},
+ "dispatchEvent": {},
+ "error": {},
+ "mode": {},
+ "objectStore": {},
+ "onabort": {},
+ "oncomplete": {},
+ "onerror": {},
+ "removeEventListener": {},
+ "webkitErrorMessage": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "IDBVersionChangeEvent": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent",
+ "dart_action": "unstable",
+ "members": {
+ "newVersion": {},
+ "oldVersion": {}
+ },
+ "support_level": "stable"
+ },
+ "ImageData": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#imagedata",
+ "members": {
+ "data": {},
+ "height": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "Int16Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Int32Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Int8Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "JavaScriptCallFrame": {
+ "dart_action": "suppress",
+ "members": {
+ "CATCH_SCOPE": {},
+ "CLOSURE_SCOPE": {},
+ "GLOBAL_SCOPE": {},
+ "LOCAL_SCOPE": {},
+ "WITH_SCOPE": {},
+ "caller": {},
+ "column": {},
+ "evaluate": {},
+ "functionName": {},
+ "line": {},
+ "restart": {},
+ "scopeChain": {},
+ "scopeType": {},
+ "setVariableValue": {},
+ "sourceID": {},
+ "thisObject": {},
+ "type": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "KeyboardEvent": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent",
+ "members": {
+ "altGraphKey": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "altKey": {},
+ "ctrlKey": {},
+ "initKeyboardEvent": {},
+ "keyIdentifier": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "keyLocation": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "metaKey": {},
+ "shiftKey": {}
+ },
+ "support_level": "stable"
+ },
+ "LocalMediaStream": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaSuccessCallback",
+ "dart_action": "experimental",
+ "members": {
+ "stop": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "Location": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#the-location-interface",
+ "members": {
+ "ancestorOrigins": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "assign": {},
+ "hash": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "host": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "hostname": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "href": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "origin": {
+ "comment": "http://url.spec.whatwg.org/#urlutils Webkit Only",
+ "support_level": "nonstandard"
+ },
+ "pathname": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "port": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "protocol": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "reload": {},
+ "replace": {},
+ "search": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "toString": {},
+ "valueOf": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "MediaController": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#mediacontroller",
+ "members": {
+ "MediaController": {},
+ "addEventListener": {},
+ "buffered": {},
+ "currentTime": {},
+ "defaultPlaybackRate": {},
+ "dispatchEvent": {},
+ "duration": {},
+ "muted": {},
+ "pause": {},
+ "paused": {},
+ "play": {},
+ "playbackRate": {},
+ "playbackState": {},
+ "played": {},
+ "removeEventListener": {},
+ "seekable": {},
+ "unpause": {},
+ "volume": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaElementAudioSourceNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaElementAudioSourceNode",
+ "members": {
+ "mediaElement": {
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "MediaError": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#mediaerror",
+ "dart_action": "unstable",
+ "members": {
+ "MEDIA_ERR_ABORTED": {},
+ "MEDIA_ERR_DECODE": {},
+ "MEDIA_ERR_ENCRYPTED": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#error-codes",
+ "support_level": "experimental"
+ },
+ "MEDIA_ERR_NETWORK": {},
+ "MEDIA_ERR_SRC_NOT_SUPPORTED": {},
+ "code": {}
+ },
+ "support_level": "stable"
+ },
+ "MediaKeyError": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#error-codes",
+ "members": {
+ "MEDIA_KEYERR_CLIENT": {},
+ "MEDIA_KEYERR_DOMAIN": {},
+ "MEDIA_KEYERR_HARDWARECHANGE": {},
+ "MEDIA_KEYERR_OUTPUT": {},
+ "MEDIA_KEYERR_SERVICE": {},
+ "MEDIA_KEYERR_UNKNOWN": {},
+ "code": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaKeyEvent": {
+ "comment": "https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#event-definitions",
+ "members": {
+ "defaultURL": {},
+ "errorCode": {},
+ "initData": {},
+ "keySystem": {},
+ "message": {},
+ "sessionId": {},
+ "systemCode": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaList": {
+ "comment": "http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule",
+ "dart_action": "unstable",
+ "members": {
+ "appendMedium": {},
+ "deleteMedium": {},
+ "item": {},
+ "length": {},
+ "mediaText": {}
+ },
+ "support_level": "stable"
+ },
+ "MediaQueryList": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface",
+ "dart_action": "unstable",
+ "members": {
+ "addListener": {},
+ "matches": {},
+ "media": {},
+ "removeListener": {}
+ },
+ "support_level": "stable"
+ },
+ "MediaQueryListListener": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface",
+ "dart_action": "unstable",
+ "members": {
+ "queryChanged": {}
+ },
+ "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": {
+ "MediaStream": {},
+ "addEventListener": {},
+ "addTrack": {},
+ "dispatchEvent": {},
+ "ended": {},
+ "getAudioTracks": {},
+ "getTrackById": {},
+ "getVideoTracks": {},
+ "id": {},
+ "label": {
+ "support_level": "nonstandard"
+ },
+ "onaddtrack": {},
+ "onended": {},
+ "onremovetrack": {},
+ "removeEventListener": {},
+ "removeTrack": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaStreamAudioDestinationNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaStreamAudioDestinationNode",
+ "members": {
+ "stream": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaStreamAudioSourceNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#MediaStreamAudioSourceNode",
+ "members": {
+ "mediaStream": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaStreamEvent": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html",
+ "members": {
+ "stream": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaStreamTrack": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack",
+ "members": {
+ "addEventListener": {
+ "dart_action": "default"
+ },
+ "dispatchEvent": {
+ "dart_action": "default"
+ },
+ "enabled": {},
+ "id": {},
+ "kind": {},
+ "label": {},
+ "onended": {},
+ "onmute": {},
+ "onunmute": {},
+ "readyState": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "MediaStreamTrackEvent": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html",
+ "members": {
+ "track": {}
+ },
+ "support_level": "experimental"
+ },
+ "MemoryInfo": {
+ "dart_action": "experimental",
+ "members": {
+ "jsHeapSizeLimit": {},
+ "totalJSHeapSize": {},
+ "usedJSHeapSize": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "MessageChannel": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#message-channels",
+ "dart_action": "unstable",
+ "members": {
+ "MessageChannel": {},
+ "port1": {},
+ "port2": {}
+ },
+ "support_level": "stable"
+ },
+ "MessageEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#messageevent",
+ "members": {
+ "data": {},
+ "initMessageEvent": {},
+ "lastEventId": {
+ "dart_action": "unstable"
+ },
+ "origin": {},
+ "ports": {
+ "dart_action": "unstable"
+ },
+ "source": {},
+ "webkitInitMessageEvent": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "MessagePort": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#messageport",
+ "dart_action": "unstable",
+ "members": {
+ "addEventListener": {},
+ "close": {},
+ "dispatchEvent": {},
+ "onmessage": {},
+ "postMessage": {},
+ "removeEventListener": {},
+ "start": {}
+ },
+ "support_level": "stable"
+ },
+ "Metadata": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-metadata-interface",
+ "members": {
+ "modificationTime": {},
+ "size": {}
+ },
+ "support_level": "experimental"
+ },
+ "MetadataCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-MetadataCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "MimeType": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "MimeTypeArray": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "MouseEvent": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-mouseevents",
+ "members": {
+ "altKey": {},
+ "button": {},
+ "clientX": {},
+ "clientY": {},
+ "ctrlKey": {},
+ "dataTransfer": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "fromElement": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "initMouseEvent": {},
+ "metaKey": {},
+ "offsetX": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "offsetY": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "relatedTarget": {},
+ "screenX": {},
+ "screenY": {},
+ "shiftKey": {},
+ "toElement": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "webkitMovementX": {
+ "support_level": "experimental"
+ },
+ "webkitMovementY": {
+ "support_level": "experimental"
+ },
+ "x": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "y": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "MutationCallback": {
+ "comment": "http://www.w3.org/TR/domcore/#mutationcallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "MutationEvent": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents",
+ "dart_action": "experimental",
+ "members": {
+ "ADDITION": {},
+ "MODIFICATION": {},
+ "REMOVAL": {},
+ "attrChange": {},
+ "attrName": {},
+ "initMutationEvent": {},
+ "newValue": {},
+ "prevValue": {},
+ "relatedNode": {}
+ },
+ "support_level": "deprecated"
+ },
+ "MutationObserver": {
+ "comment": "http://www.w3.org/TR/domcore/#interface-mutationobserver",
+ "dart_action": "default",
+ "members": {
+ "_observe": {},
+ "disconnect": {},
+ "observe": {
+ "support_level": "untriaged"
+ },
+ "takeRecords": {}
+ },
+ "support_level": "stable"
+ },
+ "MutationRecord": {
+ "comment": "http://www.w3.org/TR/domcore/#mutationrecord",
+ "members": {
+ "addedNodes": {},
+ "attributeName": {},
+ "attributeNamespace": {},
+ "nextSibling": {},
+ "oldValue": {},
+ "previousSibling": {},
+ "removedNodes": {},
+ "target": {},
+ "type": {}
+ },
+ "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",
+ "members": {
+ "getNamedItem": {},
+ "getNamedItemNS": {},
+ "item": {},
+ "length": {},
+ "removeNamedItem": {},
+ "removeNamedItemNS": {},
+ "setNamedItem": {},
+ "setNamedItemNS": {}
+ },
+ "support_level": "deprecated"
+ },
+ "Navigator": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigator",
+ "members": {
+ "appCodeName": {
+ "dart_action": "default",
+ "support_level": "nonstandard"
+ },
+ "appName": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "appVersion": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "cookieEnabled": {
+ "comment": "https://developer.mozilla.org/en-US/docs/DOM/window.navigator.cookieEnabled",
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "doNotTrack": {
+ "comment": "http://www.w3.org/2011/tracking-protection/drafts/tracking-dnt.html#js-dom",
+ "dart_action": "experimental",
+ "support_level": "experimental"
+ },
+ "geolocation": {
+ "comment": "http://dev.w3.org/geo/api/spec-source.html#navi-geo",
+ "dart_action": "unstable",
+ "support_level": "stable"
+ },
+ "getStorageUpdates": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorstorageutils",
+ "support_level": "experimental"
+ },
+ "javaEnabled": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "language": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorlanguage"
+ },
+ "mimeTypes": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "onLine": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#navigatoronline",
+ "dart_action": "unstable"
+ },
+ "platform": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "plugins": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "product": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid",
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "productSub": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "registerProtocolHandler": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorcontentutils",
+ "dart_action": "unstable"
+ },
+ "userAgent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "vendor": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "vendorSub": {
+ "dart_action": "unstable",
+ "support_level": "nonstandard"
+ },
+ "webkitBattery": {
+ "comment": "https://dvcs.w3.org/hg/dap/raw-file/tip/battery/Overview.html",
+ "support_level": "experimental"
+ },
+ "webkitGetGamepads": {
+ "comment": "https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#widl-Navigator-getGamepads-Gamepad",
+ "support_level": "experimental"
+ },
+ "webkitGetUserMedia": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia",
+ "support_level": "experimental"
+ },
+ "webkitPersistentStorage": {
+ "comment": "http://www.w3.org/TR/quota-api/#accessing-storagequota",
+ "support_level": "experimental"
+ },
+ "webkitTemporaryStorage": {
+ "comment": "http://www.w3.org/TR/quota-api/#accessing-storagequota",
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "NavigatorUserMediaError": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaError",
+ "members": {
+ "PERMISSION_DENIED": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "code": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "NavigatorUserMediaErrorCallback": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaErrorCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "NavigatorUserMediaSuccessCallback": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaSuccessCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "Node": {
+ "comment": "http://dom.spec.whatwg.org/#interface-node",
+ "members": {
+ "ATTRIBUTE_NODE": {},
+ "CDATA_SECTION_NODE": {
+ "dart_action": "default"
+ },
+ "COMMENT_NODE": {},
+ "DOCUMENT_FRAGMENT_NODE": {},
+ "DOCUMENT_NODE": {},
+ "DOCUMENT_POSITION_CONTAINED_BY": {},
+ "DOCUMENT_POSITION_CONTAINS": {},
+ "DOCUMENT_POSITION_DISCONNECTED": {},
+ "DOCUMENT_POSITION_FOLLOWING": {},
+ "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC": {},
+ "DOCUMENT_POSITION_PRECEDING": {},
+ "DOCUMENT_TYPE_NODE": {},
+ "ELEMENT_NODE": {},
+ "ENTITY_NODE": {},
+ "ENTITY_REFERENCE_NODE": {},
+ "NOTATION_NODE": {},
+ "PROCESSING_INSTRUCTION_NODE": {},
+ "TEXT_NODE": {},
+ "addEventListener": {},
+ "appendChild": {},
+ "baseURI": {
+ "dart_action": "default"
+ },
+ "childNodes": {},
+ "cloneNode": {},
+ "compareDocumentPosition": {},
+ "contains": {},
+ "dispatchEvent": {},
+ "firstChild": {},
+ "hasChildNodes": {},
+ "insertBefore": {},
+ "isDefaultNamespace": {},
+ "isEqualNode": {},
+ "isSameNode": {
+ "comment": "http://dom.spec.whatwg.org/#dom-node-issamenode",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "isSupported": {
+ "comment": "http://dom.spec.whatwg.org/#dom-node-issupported",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "lastChild": {},
+ "localName": {
+ "comment": "http://dom.spec.whatwg.org/#dom-node-localname",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "lookupNamespaceURI": {},
+ "lookupPrefix": {},
+ "namespaceURI": {
+ "comment": "http://dom.spec.whatwg.org/#dom-node-namespaceuri",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "nextSibling": {},
+ "nodeName": {},
+ "nodeType": {},
+ "nodeValue": {},
+ "normalize": {},
+ "ownerDocument": {},
+ "parentElement": {},
+ "parentNode": {},
+ "prefix": {
+ "comment": "http://dom.spec.whatwg.org/#dom-node-prefix",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "previousSibling": {},
+ "removeChild": {},
+ "removeEventListener": {},
+ "replaceChild": {},
+ "textContent": {}
+ },
+ "support_level": "stable"
+ },
+ "NodeFilter": {
+ "comment": "http://dom.spec.whatwg.org/#nodefilter",
+ "dart_action": "unstable",
+ "members": {
+ "FILTER_ACCEPT": {},
+ "FILTER_REJECT": {},
+ "FILTER_SKIP": {},
+ "SHOW_ALL": {},
+ "SHOW_ATTRIBUTE": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SHOW_CDATA_SECTION": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SHOW_COMMENT": {},
+ "SHOW_DOCUMENT": {},
+ "SHOW_DOCUMENT_FRAGMENT": {},
+ "SHOW_DOCUMENT_TYPE": {},
+ "SHOW_ELEMENT": {},
+ "SHOW_ENTITY": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SHOW_ENTITY_REFERENCE": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SHOW_NOTATION": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SHOW_PROCESSING_INSTRUCTION": {},
+ "SHOW_TEXT": {},
+ "acceptNode": {}
+ },
+ "support_level": "stable"
+ },
+ "NodeIterator": {
+ "comment": "http://dom.spec.whatwg.org/#nodeiterator",
+ "dart_action": "unstable",
+ "members": {
+ "detach": {},
+ "expandEntityReferences": {
+ "comment": "http://dom.spec.whatwg.org/#dom-traversal",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "filter": {},
+ "nextNode": {},
+ "pointerBeforeReferenceNode": {},
+ "previousNode": {},
+ "referenceNode": {},
+ "root": {},
+ "whatToShow": {}
+ },
+ "support_level": "stable"
+ },
+ "NodeList": {
+ "comment": "http://dom.spec.whatwg.org/#nodelist",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "Notation": {
+ "comment": "http://dom.spec.whatwg.org/#notation",
+ "dart_action": "suppress",
+ "members": {
+ "publicId": {},
+ "systemId": {}
+ },
+ "support_level": "deprecated"
+ },
+ "Notification": {
+ "comment": "http://www.w3.org/TR/notifications/#notification",
+ "dart_action": "experimental",
+ "members": {
+ "Notification": {},
+ "addEventListener": {},
+ "cancel": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "close": {},
+ "dir": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "dispatchEvent": {},
+ "onclick": {},
+ "onclose": {},
+ "ondisplay": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "onerror": {},
+ "onshow": {},
+ "permission": {},
+ "removeEventListener": {},
+ "replaceId": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "requestPermission": {},
+ "show": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "tag": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "NotificationCenter": {
+ "comment": "http://www.w3.org/TR/notifications/#showing-a-notification",
+ "dart_action": "suppress",
+ "members": {
+ "checkPermission": {},
+ "createHTMLNotification": {},
+ "createNotification": {},
+ "requestPermission": {}
+ },
+ "support_level": "deprecated"
+ },
+ "NotificationPermissionCallback": {
+ "comment": "http://www.w3.org/TR/notifications/#notificationpermissioncallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "OESElementIndexUint": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/",
+ "dart_action": "experimental",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "OESStandardDerivatives": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/",
+ "dart_action": "experimental",
+ "members": {
+ "FRAGMENT_SHADER_DERIVATIVE_HINT_OES": {}
+ },
+ "support_level": "experimental"
+ },
+ "OESTextureFloat": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_texture_float/",
+ "dart_action": "experimental",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "OESTextureHalfFloat": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/",
+ "dart_action": "experimental",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "OESVertexArrayObject": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/",
+ "dart_action": "experimental",
+ "members": {
+ "VERTEX_ARRAY_BINDING_OES": {},
+ "bindVertexArrayOES": {},
+ "createVertexArrayOES": {},
+ "deleteVertexArrayOES": {},
+ "isVertexArrayOES": {}
+ },
+ "support_level": "experimental"
+ },
+ "OfflineAudioCompletionEvent": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#OfflineAudioCompletionEvent-section",
+ "members": {
+ "renderedBuffer": {}
+ },
+ "support_level": "experimental"
+ },
+ "OfflineAudioContext": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#OfflineAudioContext-section",
+ "members": {
+ "OfflineAudioContext": {}
+ },
+ "support_level": "experimental"
+ },
+ "OscillatorNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-OscillatorNode",
+ "members": {
+ "CUSTOM": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "FINISHED_STATE": {},
+ "PLAYING_STATE": {},
+ "SAWTOOTH": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SCHEDULED_STATE": {},
+ "SINE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SQUARE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "TRIANGLE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "UNSCHEDULED_STATE": {},
+ "detune": {},
+ "frequency": {},
+ "playbackState": {},
+ "setWaveTable": {},
+ "start": {},
+ "stop": {},
+ "type": {}
+ },
+ "support_level": "experimental"
+ },
+ "OverflowEvent": {
+ "dart_action": "experimental",
+ "members": {
+ "BOTH": {},
+ "HORIZONTAL": {},
+ "VERTICAL": {},
+ "horizontalOverflow": {},
+ "orient": {},
+ "verticalOverflow": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "PagePopupController": {
+ "dart_action": "suppress",
+ "members": {
+ "closePopup": {},
+ "formatMonth": {},
+ "formatShortMonth": {},
+ "histogramEnumeration": {},
+ "localizeNumberString": {},
+ "setValue": {},
+ "setValueAndClosePopup": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "PageTransitionEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#pagetransitionevent",
+ "members": {
+ "persisted": {}
+ },
+ "support_level": "experimental"
+ },
+ "PannerNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#PannerNode",
+ "members": {
+ "EQUALPOWER": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "EXPONENTIAL_DISTANCE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "HRTF": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "INVERSE_DISTANCE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "LINEAR_DISTANCE": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "SOUNDFIELD": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AlternateNames",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "coneInnerAngle": {},
+ "coneOuterAngle": {},
+ "coneOuterGain": {},
+ "distanceModel": {},
+ "maxDistance": {},
+ "panningModel": {},
+ "refDistance": {},
+ "rolloffFactor": {},
+ "setOrientation": {},
+ "setPosition": {},
+ "setVelocity": {}
+ },
+ "support_level": "experimental"
+ },
+ "Path": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "Performance": {
+ "comment": "http://www.w3.org/TR/navigation-timing/#performance",
+ "members": {
+ "memory": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "navigation": {},
+ "now": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HighResolutionTime/Overview.html#sec-extenstions-performance-interface"
+ },
+ "onwebkitresourcetimingbufferfull": {
+ "comment": "http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods",
+ "support_level": "experimental"
+ },
+ "timing": {},
+ "webkitClearMarks": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface",
+ "support_level": "experimental"
+ },
+ "webkitClearMeasures": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface",
+ "support_level": "experimental"
+ },
+ "webkitClearResourceTimings": {
+ "comment": "http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods",
+ "support_level": "experimental"
+ },
+ "webkitGetEntries": {
+ "comment": "http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute",
+ "support_level": "experimental"
+ },
+ "webkitGetEntriesByName": {
+ "comment": "http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute",
+ "support_level": "experimental"
+ },
+ "webkitGetEntriesByType": {
+ "comment": "http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute",
+ "support_level": "experimental"
+ },
+ "webkitMark": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface",
+ "support_level": "experimental"
+ },
+ "webkitMeasure": {
+ "comment": "https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface",
+ "support_level": "experimental"
+ },
+ "webkitSetResourceTimingBufferSize": {
+ "comment": "http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods",
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "PerformanceEntry": {
+ "comment": "http://www.w3.org/TR/performance-timeline/#sec-PerformanceEntry-interface",
+ "members": {
+ "duration": {},
+ "entryType": {},
+ "name": {},
+ "startTime": {}
+ },
+ "support_level": "experimental"
+ },
+ "PerformanceEntryList": {
+ "comment": "http://www.w3.org/TR/performance-timeline/#performanceentrylist",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "PerformanceMark": {
+ "comment": "http://www.w3.org/TR/user-timing/#performancemark",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "PerformanceMeasure": {
+ "comment": "http://www.w3.org/TR/user-timing/#performancemeasure",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "PerformanceNavigation": {
+ "comment": "http://www.w3.org/TR/navigation-timing/#sec-navigation-info-interface",
+ "dart_action": "unstable",
+ "members": {
+ "TYPE_BACK_FORWARD": {},
+ "TYPE_NAVIGATE": {},
+ "TYPE_RELOAD": {},
+ "TYPE_RESERVED": {},
+ "redirectCount": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "PerformanceResourceTiming": {
+ "comment": "http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming",
+ "members": {
+ "connectEnd": {},
+ "connectStart": {},
+ "domainLookupEnd": {},
+ "domainLookupStart": {},
+ "fetchStart": {},
+ "initiatorType": {},
+ "redirectEnd": {},
+ "redirectStart": {},
+ "requestStart": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "responseEnd": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "responseStart": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "secureConnectionStart": {}
+ },
+ "support_level": "experimental"
+ },
+ "PerformanceTiming": {
+ "comment": "http://w3c-test.org/webperf/specs/NavigationTiming/#sec-navigation-timing-interface",
+ "dart_action": "unstable",
+ "members": {
+ "connectEnd": {},
+ "connectStart": {},
+ "domComplete": {},
+ "domContentLoadedEventEnd": {},
+ "domContentLoadedEventStart": {},
+ "domInteractive": {},
+ "domLoading": {},
+ "domainLookupEnd": {},
+ "domainLookupStart": {},
+ "fetchStart": {},
+ "loadEventEnd": {},
+ "loadEventStart": {},
+ "navigationStart": {},
+ "redirectEnd": {},
+ "redirectStart": {},
+ "requestStart": {},
+ "responseEnd": {},
+ "responseStart": {},
+ "secureConnectionStart": {},
+ "unloadEventEnd": {},
+ "unloadEventStart": {}
+ },
+ "support_level": "stable"
+ },
+ "Plugin": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "PluginArray": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "PopStateEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#popstateevent",
+ "members": {
+ "state": {}
+ },
+ "support_level": "stable"
+ },
+ "PositionCallback": {
+ "comment": "http://www.w3.org/TR/geolocation-API/#position-callback",
+ "dart_action": "unstable",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "PositionError": {
+ "comment": "http://www.w3.org/TR/geolocation-API/#position_error_interface",
+ "dart_action": "unstable",
+ "members": {
+ "PERMISSION_DENIED": {},
+ "POSITION_UNAVAILABLE": {},
+ "TIMEOUT": {},
+ "code": {},
+ "message": {}
+ },
+ "support_level": "stable"
+ },
+ "PositionErrorCallback": {
+ "comment": "http://www.w3.org/TR/geolocation-API/#error-callback",
+ "dart_action": "unstable",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "ProcessingInstruction": {
+ "comment": "http://dom.spec.whatwg.org/#interface-processinginstruction",
+ "dart_action": "unstable",
+ "members": {
+ "data": {
+ "support_level": "nonstandard"
+ },
+ "sheet": {
+ "support_level": "nonstandard"
+ },
+ "target": {}
+ },
+ "support_level": "stable"
+ },
+ "ProgressEvent": {
+ "comment": "http://xhr.spec.whatwg.org/#interface-progressevent",
+ "members": {
+ "lengthComputable": {},
+ "loaded": {},
+ "total": {}
+ },
+ "support_level": "stable"
+ },
+ "RGBColor": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "blue": {},
+ "green": {},
+ "red": {}
+ },
+ "support_level": "deprecated"
+ },
+ "RTCDTMFSender": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDTMFSender",
+ "members": {
+ "addEventListener": {},
+ "canInsertDTMF": {},
+ "dispatchEvent": {},
+ "duration": {},
+ "insertDTMF": {},
+ "interToneGap": {},
+ "ontonechange": {},
+ "removeEventListener": {},
+ "toneBuffer": {},
+ "track": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCDTMFToneChangeEvent": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDTMFToneChangeEvent",
+ "members": {
+ "tone": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCDataChannel": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDataChannel",
+ "members": {
+ "addEventListener": {},
+ "binaryType": {},
+ "bufferedAmount": {},
+ "close": {},
+ "dispatchEvent": {},
+ "label": {},
+ "onclose": {},
+ "onerror": {},
+ "onmessage": {},
+ "onopen": {},
+ "readyState": {},
+ "reliable": {},
+ "removeEventListener": {},
+ "send": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCDataChannelEvent": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcdatachannelevent",
+ "members": {
+ "channel": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCErrorCallback": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcerror",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCIceCandidate": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCIceCandidate",
+ "members": {
+ "RTCIceCandidate": {},
+ "candidate": {},
+ "sdpMLineIndex": {},
+ "sdpMid": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCIceCandidateEvent": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcicecandidate-type",
+ "members": {
+ "candidate": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCPeerConnection": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnection",
+ "members": {
+ "RTCPeerConnection": {},
+ "addEventListener": {},
+ "addIceCandidate": {},
+ "addStream": {},
+ "close": {},
+ "createAnswer": {},
+ "createDTMFSender": {},
+ "createDataChannel": {},
+ "createOffer": {},
+ "dispatchEvent": {},
+ "getLocalStreams": {},
+ "getRemoteStreams": {},
+ "getStats": {},
+ "getStreamById": {},
+ "iceConnectionState": {},
+ "iceGatheringState": {},
+ "localDescription": {},
+ "onaddstream": {},
+ "ondatachannel": {},
+ "onicecandidate": {},
+ "oniceconnectionstatechange": {},
+ "onnegotiationneeded": {},
+ "onremovestream": {},
+ "onsignalingstatechange": {},
+ "remoteDescription": {},
+ "removeEventListener": {},
+ "removeStream": {},
+ "setLocalDescription": {},
+ "setRemoteDescription": {},
+ "signalingState": {},
+ "updateIce": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCSessionDescription": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription",
+ "members": {
+ "RTCSessionDescription": {},
+ "sdp": {},
+ "type": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCSessionDescriptionCallback": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCStatsCallback": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCStatsCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCStatsReport": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCStatsReport",
+ "members": {
+ "id": {},
+ "local": {},
+ "names": {},
+ "remote": {},
+ "stat": {},
+ "timestamp": {},
+ "type": {}
+ },
+ "support_level": "experimental"
+ },
+ "RTCStatsResponse": {
+ "comment": "http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCStatsReport-RTCStats-getter-DOMString-id",
+ "members": {
+ "namedItem": {},
+ "result": {}
+ },
+ "support_level": "experimental"
+ },
+ "RadioNodeList": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/#radionodelist",
+ "members": {
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "Range": {
+ "comment": "http://dom.spec.whatwg.org/#range",
+ "dart_action": "unstable",
+ "members": {
+ "END_TO_END": {},
+ "END_TO_START": {},
+ "NODE_AFTER": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "NODE_BEFORE": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "NODE_BEFORE_AND_AFTER": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "NODE_INSIDE": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "START_TO_END": {},
+ "START_TO_START": {},
+ "cloneContents": {},
+ "cloneRange": {},
+ "collapse": {},
+ "collapsed": {},
+ "commonAncestorContainer": {},
+ "compareNode": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "comparePoint": {},
+ "createContextualFragment": {
+ "comment": "http://domparsing.spec.whatwg.org/#extensions-to-the-range-interface"
+ },
+ "deleteContents": {},
+ "detach": {},
+ "endContainer": {},
+ "endOffset": {},
+ "expand": {
+ "support_level": "nonstandard"
+ },
+ "extractContents": {},
+ "getBoundingClientRect": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#extensions-to-the-range-interface"
+ },
+ "getClientRects": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#extensions-to-the-range-interface"
+ },
+ "insertNode": {},
+ "intersectsNode": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "isPointInRange": {},
+ "selectNode": {},
+ "selectNodeContents": {},
+ "setEnd": {},
+ "setEndAfter": {},
+ "setEndBefore": {},
+ "setStart": {},
+ "setStartAfter": {},
+ "setStartBefore": {},
+ "startContainer": {},
+ "startOffset": {},
+ "surroundContents": {},
+ "toString": {}
+ },
+ "support_level": "stable"
+ },
+ "RangeException": {
+ "comment": "http://dom.spec.whatwg.org/#rangeexception",
+ "dart_action": "suppress",
+ "members": {
+ "BAD_BOUNDARYPOINTS_ERR": {},
+ "INVALID_NODE_TYPE_ERR": {},
+ "code": {},
+ "message": {},
+ "name": {},
+ "toString": {}
+ },
+ "support_level": "deprecated"
+ },
+ "Rect": {
+ "comment": "http://dev.w3.org/csswg/cssom/",
+ "dart_action": "suppress",
+ "members": {
+ "bottom": {},
+ "left": {},
+ "right": {},
+ "top": {}
+ },
+ "support_level": "deprecated"
+ },
+ "RequestAnimationFrameCallback": {
+ "comment": "http://www.w3.org/TR/animation-timing/#FrameRequestCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "SQLError": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlerror",
+ "dart_action": "experimental",
+ "members": {
+ "CONSTRAINT_ERR": {},
+ "DATABASE_ERR": {},
+ "QUOTA_ERR": {},
+ "SYNTAX_ERR": {},
+ "TIMEOUT_ERR": {},
+ "TOO_LARGE_ERR": {},
+ "UNKNOWN_ERR": {},
+ "VERSION_ERR": {},
+ "code": {},
+ "message": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLException": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlexception",
+ "dart_action": "experimental",
+ "members": {
+ "CONSTRAINT_ERR": {},
+ "DATABASE_ERR": {},
+ "QUOTA_ERR": {},
+ "SYNTAX_ERR": {},
+ "TIMEOUT_ERR": {},
+ "TOO_LARGE_ERR": {},
+ "UNKNOWN_ERR": {},
+ "VERSION_ERR": {},
+ "code": {},
+ "message": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLResultSet": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlresultset",
+ "dart_action": "experimental",
+ "members": {
+ "insertId": {},
+ "rows": {},
+ "rowsAffected": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLResultSetRowList": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist",
+ "dart_action": "experimental",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLStatementCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlstatementcallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLStatementErrorCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqlstatementerrorcallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLTransaction": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqltransaction",
+ "dart_action": "suppress",
+ "members": {
+ "executeSql": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLTransactionCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqltransactioncallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLTransactionErrorCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqltransactionerrorcallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLTransactionSync": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqltransactionsync",
+ "dart_action": "experimental",
+ "members": {
+ "executeSql": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SQLTransactionSyncCallback": {
+ "comment": "http://www.w3.org/TR/webdatabase/#sqltransactionsynccallback",
+ "dart_action": "experimental",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "deprecated"
+ },
+ "SVGAElement": {
+ "comment": "http://www.w3.org/TR/SVG/linking.html#InterfaceSVGAElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "href": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "target": {},
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGAltGlyphDefElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGAltGlyphDefElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGAltGlyphElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGAltGlyphElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAltGlyphElement": {},
+ "format": {},
+ "glyphRef": {},
+ "href": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGAltGlyphItemElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGAltGlyphItemElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGAngle": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAngle",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_ANGLETYPE_DEG": {},
+ "SVG_ANGLETYPE_GRAD": {},
+ "SVG_ANGLETYPE_RAD": {},
+ "SVG_ANGLETYPE_UNKNOWN": {},
+ "SVG_ANGLETYPE_UNSPECIFIED": {},
+ "convertToSpecifiedUnits": {},
+ "newValueSpecifiedUnits": {},
+ "unitType": {},
+ "value": {},
+ "valueAsString": {},
+ "valueInSpecifiedUnits": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimateColorElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGAnimateColorElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGAnimateElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGAnimateElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAnimateElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimateMotionElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGAnimateMotionElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAnimateMotionElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimateTransformElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGAnimateTransformElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAnimateTransformElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedAngle": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedAngle",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedBoolean": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedBoolean",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedEnumeration": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedEnumeration",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedInteger": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedInteger",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedLength": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedLength",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedLengthList": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedLengthList",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedNumber": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedNumber",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedNumberList": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedNumberList",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedPreserveAspectRatio": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGAnimatedPreserveAspectRatio",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedRect": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedRect",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedString": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGAnimatedString",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimatedTransformList": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGAnimatedTransformList",
+ "dart_action": "unstable",
+ "members": {
+ "animVal": {},
+ "baseVal": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGAnimationElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGAnimationElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGAnimationElement": {},
+ "beginElement": {
+ "support_level": "untriaged"
+ },
+ "beginElementAt": {
+ "support_level": "untriaged"
+ },
+ "endElement": {
+ "support_level": "untriaged"
+ },
+ "endElementAt": {
+ "support_level": "untriaged"
+ },
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "getCurrentTime": {},
+ "getSimpleDuration": {},
+ "getStartTime": {},
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "targetElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGCircleElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGCircleElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGCircleElement": {},
+ "cx": {},
+ "cy": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "r": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGClipPathElement": {
+ "comment": "http://www.w3.org/TR/SVG/masking.html#InterfaceSVGClipPathElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGClipPathElement": {},
+ "clipPathUnits": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGColor": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGColor",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_COLORTYPE_CURRENTCOLOR": {},
+ "SVG_COLORTYPE_RGBCOLOR": {},
+ "SVG_COLORTYPE_RGBCOLOR_ICCCOLOR": {},
+ "SVG_COLORTYPE_UNKNOWN": {},
+ "colorType": {},
+ "rgbColor": {},
+ "setColor": {},
+ "setRGBColor": {},
+ "setRGBColorICCColor": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGComponentTransferFunctionElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGComponentTransferFunctionElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE": {},
+ "SVG_FECOMPONENTTRANSFER_TYPE_GAMMA": {},
+ "SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY": {},
+ "SVG_FECOMPONENTTRANSFER_TYPE_LINEAR": {},
+ "SVG_FECOMPONENTTRANSFER_TYPE_TABLE": {},
+ "SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN": {},
+ "amplitude": {},
+ "exponent": {},
+ "intercept": {},
+ "offset": {},
+ "slope": {},
+ "tableValues": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGCursorElement": {
+ "comment": "http://www.w3.org/TR/SVG/interact.html#InterfaceSVGCursorElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGCursorElement": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGDefsElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGDefsElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGDefsElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGDescElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGDescElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGDescElement": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGDocument": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGDocument",
+ "dart_action": "unstable",
+ "members": {
+ "createEvent": {},
+ "rootElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGElement": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGElement",
+ "dart_action": "unstable",
+ "members": {
+ "id": {},
+ "ownerSVGElement": {},
+ "viewportElement": {},
+ "xmlbase": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGElementInstance": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstance",
+ "dart_action": "unstable",
+ "members": {
+ "childNodes": {},
+ "correspondingElement": {},
+ "correspondingUseElement": {},
+ "firstChild": {},
+ "lastChild": {},
+ "nextSibling": {},
+ "onabort": {},
+ "onbeforecopy": {},
+ "onbeforecut": {},
+ "onbeforepaste": {},
+ "onblur": {},
+ "onchange": {},
+ "onclick": {},
+ "oncontextmenu": {},
+ "oncopy": {},
+ "oncut": {},
+ "ondblclick": {},
+ "ondrag": {},
+ "ondragend": {},
+ "ondragenter": {},
+ "ondragleave": {},
+ "ondragover": {},
+ "ondragstart": {},
+ "ondrop": {},
+ "onerror": {},
+ "onfocus": {},
+ "oninput": {},
+ "onkeydown": {},
+ "onkeypress": {},
+ "onkeyup": {},
+ "onload": {},
+ "onmousedown": {},
+ "onmousemove": {},
+ "onmouseout": {},
+ "onmouseover": {},
+ "onmouseup": {},
+ "onmousewheel": {},
+ "onpaste": {},
+ "onreset": {},
+ "onresize": {},
+ "onscroll": {},
+ "onsearch": {
+ "comment": "http://www.w3.org/TR/html-markup/input.search.html",
+ "support_level": "experimental"
+ },
+ "onselect": {},
+ "onselectstart": {},
+ "onsubmit": {},
+ "onunload": {},
+ "parentNode": {},
+ "previousSibling": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGElementInstanceList": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGElementInstanceList",
+ "dart_action": "unstable",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGEllipseElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGEllipseElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGEllipseElement": {},
+ "cx": {},
+ "cy": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "rx": {},
+ "ry": {},
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGException": {
+ "comment": "http://www.w3.org/TR/SVG/svgdom.html#ExceptionSVGException",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_INVALID_VALUE_ERR": {},
+ "SVG_MATRIX_NOT_INVERTABLE": {},
+ "SVG_WRONG_TYPE_ERR": {},
+ "code": {},
+ "message": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "name": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "toString": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGExternalResourcesRequired": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGExternalResourcesRequired",
+ "dart_action": "unstable",
+ "members": {
+ "externalResourcesRequired": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEBlendElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEBlendElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEBlendElement": {},
+ "SVG_FEBLEND_MODE_DARKEN": {},
+ "SVG_FEBLEND_MODE_LIGHTEN": {},
+ "SVG_FEBLEND_MODE_MULTIPLY": {},
+ "SVG_FEBLEND_MODE_NORMAL": {},
+ "SVG_FEBLEND_MODE_SCREEN": {},
+ "SVG_FEBLEND_MODE_UNKNOWN": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "in2": {},
+ "mode": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEColorMatrixElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEColorMatrixElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEColorMatrixElement": {},
+ "SVG_FECOLORMATRIX_TYPE_HUEROTATE": {},
+ "SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA": {},
+ "SVG_FECOLORMATRIX_TYPE_MATRIX": {},
+ "SVG_FECOLORMATRIX_TYPE_SATURATE": {},
+ "SVG_FECOLORMATRIX_TYPE_UNKNOWN": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "type": {},
+ "values": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEComponentTransferElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEComponentTransferElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEComponentTransferElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFECompositeElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFECompositeElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_FECOMPOSITE_OPERATOR_ARITHMETIC": {},
+ "SVG_FECOMPOSITE_OPERATOR_ATOP": {},
+ "SVG_FECOMPOSITE_OPERATOR_IN": {},
+ "SVG_FECOMPOSITE_OPERATOR_OUT": {},
+ "SVG_FECOMPOSITE_OPERATOR_OVER": {},
+ "SVG_FECOMPOSITE_OPERATOR_UNKNOWN": {},
+ "SVG_FECOMPOSITE_OPERATOR_XOR": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "in2": {},
+ "k1": {},
+ "k2": {},
+ "k3": {},
+ "k4": {},
+ "operator": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEConvolveMatrixElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEConvolveMatrixElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEConvolveMatrixElement": {},
+ "SVG_EDGEMODE_DUPLICATE": {},
+ "SVG_EDGEMODE_NONE": {},
+ "SVG_EDGEMODE_UNKNOWN": {},
+ "SVG_EDGEMODE_WRAP": {},
+ "bias": {},
+ "divisor": {},
+ "edgeMode": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "kernelMatrix": {},
+ "kernelUnitLengthX": {},
+ "kernelUnitLengthY": {},
+ "orderX": {},
+ "orderY": {},
+ "preserveAlpha": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "targetX": {},
+ "targetY": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEDiffuseLightingElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEDiffuseLightingElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEDiffuseLightingElement": {},
+ "diffuseConstant": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "kernelUnitLengthX": {},
+ "kernelUnitLengthY": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "surfaceScale": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEDisplacementMapElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEDisplacementMapElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEDisplacementMapElement": {},
+ "SVG_CHANNEL_A": {},
+ "SVG_CHANNEL_B": {},
+ "SVG_CHANNEL_G": {},
+ "SVG_CHANNEL_R": {},
+ "SVG_CHANNEL_UNKNOWN": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "in2": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "scale": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "xChannelSelector": {},
+ "y": {
+ "support_level": "untriaged"
+ },
+ "yChannelSelector": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEDistantLightElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEDistantLightElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEDistantLightElement": {},
+ "azimuth": {},
+ "elevation": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEDropShadowElement": {
+ "dart_action": "experimental",
+ "members": {
+ "dx": {},
+ "dy": {},
+ "in1": {},
+ "setStdDeviation": {},
+ "stdDeviationX": {},
+ "stdDeviationY": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "SVGFEFloodElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEFloodElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEFloodElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEFuncAElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEFuncAElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEFuncAElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEFuncBElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEFuncBElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEFuncBElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEFuncGElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEFuncGElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEFuncGElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEFuncRElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEFuncRElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEFuncRElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEGaussianBlurElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEGaussianBlurElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEGaussianBlurElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "setStdDeviation": {},
+ "stdDeviationX": {},
+ "stdDeviationY": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEImageElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEImageElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEImageElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "height": {
+ "support_level": "untriaged"
+ },
+ "href": {
+ "support_level": "untriaged"
+ },
+ "preserveAspectRatio": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEMergeElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEMergeElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEMergeElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEMergeNodeElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEMergeNodeElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEMergeNodeElement": {},
+ "in1": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFEMorphologyElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEMorphologyElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_MORPHOLOGY_OPERATOR_DILATE": {},
+ "SVG_MORPHOLOGY_OPERATOR_ERODE": {},
+ "SVG_MORPHOLOGY_OPERATOR_UNKNOWN": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "operator": {},
+ "radiusX": {},
+ "radiusY": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "setRadius": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEOffsetElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEOffsetElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEOffsetElement": {},
+ "dx": {},
+ "dy": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFEPointLightElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFEPointLightElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFEPointLightElement": {},
+ "x": {},
+ "y": {},
+ "z": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFESpecularLightingElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFESpecularLightingElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFESpecularLightingElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "specularConstant": {},
+ "specularExponent": {},
+ "surfaceScale": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFESpotLightElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFESpotLightElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFESpotLightElement": {},
+ "limitingConeAngle": {},
+ "pointsAtX": {},
+ "pointsAtY": {},
+ "pointsAtZ": {},
+ "specularExponent": {},
+ "x": {},
+ "y": {},
+ "z": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFETileElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFETileElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFETileElement": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "in1": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFETurbulenceElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFETurbulenceElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFETurbulenceElement": {},
+ "SVG_STITCHTYPE_NOSTITCH": {},
+ "SVG_STITCHTYPE_STITCH": {},
+ "SVG_STITCHTYPE_UNKNOWN": {},
+ "SVG_TURBULENCE_TYPE_FRACTALNOISE": {},
+ "SVG_TURBULENCE_TYPE_TURBULENCE": {},
+ "SVG_TURBULENCE_TYPE_UNKNOWN": {},
+ "baseFrequencyX": {},
+ "baseFrequencyY": {},
+ "height": {
+ "support_level": "untriaged"
+ },
+ "numOctaves": {},
+ "result": {
+ "support_level": "untriaged"
+ },
+ "seed": {},
+ "stitchTiles": {},
+ "type": {},
+ "width": {
+ "support_level": "untriaged"
+ },
+ "x": {
+ "support_level": "untriaged"
+ },
+ "y": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGFilterElement": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFilterElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGFilterElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "filterResX": {},
+ "filterResY": {},
+ "filterUnits": {},
+ "height": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "primitiveUnits": {},
+ "setFilterRes": {},
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFilterPrimitiveStandardAttributes": {
+ "comment": "http://www.w3.org/TR/SVG/filters.html#InterfaceSVGFilterPrimitiveStandardAttributes",
+ "dart_action": "unstable",
+ "members": {
+ "height": {},
+ "result": {},
+ "width": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFitToViewBox": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGFitToViewBox",
+ "dart_action": "unstable",
+ "members": {
+ "preserveAspectRatio": {},
+ "viewBox": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGFontElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGFontFaceElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontFaceElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGFontFaceFormatElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontFaceFormatElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGFontFaceNameElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontFaceNameElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGFontFaceSrcElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontFaceSrcElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGFontFaceUriElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGFontFaceUriElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGForeignObjectElement": {
+ "comment": "http://www.w3.org/TR/SVG/extend.html#InterfaceSVGForeignObjectElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGForeignObjectElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGGElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGGElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGGElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGGlyphElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGGlyphElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGGlyphElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGGlyphRefElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGGlyphRefElement",
+ "dart_action": "unstable",
+ "members": {
+ "dx": {},
+ "dy": {},
+ "format": {},
+ "glyphRef": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGGradientElement": {
+ "comment": "http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGGradientElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_SPREADMETHOD_PAD": {},
+ "SVG_SPREADMETHOD_REFLECT": {},
+ "SVG_SPREADMETHOD_REPEAT": {},
+ "SVG_SPREADMETHOD_UNKNOWN": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "gradientTransform": {},
+ "gradientUnits": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "spreadMethod": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGHKernElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGHKernElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGHKernElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGImageElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGImageElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGImageElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "preserveAspectRatio": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLangSpace": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGLangSpace",
+ "dart_action": "unstable",
+ "members": {
+ "xmllang": {},
+ "xmlspace": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLength": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGLength",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_LENGTHTYPE_CM": {},
+ "SVG_LENGTHTYPE_EMS": {},
+ "SVG_LENGTHTYPE_EXS": {},
+ "SVG_LENGTHTYPE_IN": {},
+ "SVG_LENGTHTYPE_MM": {},
+ "SVG_LENGTHTYPE_NUMBER": {},
+ "SVG_LENGTHTYPE_PC": {},
+ "SVG_LENGTHTYPE_PERCENTAGE": {},
+ "SVG_LENGTHTYPE_PT": {},
+ "SVG_LENGTHTYPE_PX": {},
+ "SVG_LENGTHTYPE_UNKNOWN": {},
+ "convertToSpecifiedUnits": {},
+ "newValueSpecifiedUnits": {},
+ "unitType": {},
+ "value": {},
+ "valueAsString": {},
+ "valueInSpecifiedUnits": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLengthList": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGLengthList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLineElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGLineElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGLineElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "x1": {},
+ "x2": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y1": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLinearGradientElement": {
+ "comment": "http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGLinearGradientElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGLinearGradientElement": {},
+ "x1": {},
+ "x2": {},
+ "y1": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGLocatable": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGLocatable",
+ "dart_action": "unstable",
+ "members": {
+ "farthestViewportElement": {},
+ "getBBox": {},
+ "getCTM": {},
+ "getScreenCTM": {},
+ "getTransformToElement": {},
+ "nearestViewportElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGMPathElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGMPathElement",
+ "members": {
+ "SVGMPathElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGMarkerElement": {
+ "comment": "http://www.w3.org/TR/SVG/painting.html#InterfaceSVGMarkerElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGMarkerElement": {},
+ "SVG_MARKERUNITS_STROKEWIDTH": {},
+ "SVG_MARKERUNITS_UNKNOWN": {},
+ "SVG_MARKERUNITS_USERSPACEONUSE": {},
+ "SVG_MARKER_ORIENT_ANGLE": {},
+ "SVG_MARKER_ORIENT_AUTO": {},
+ "SVG_MARKER_ORIENT_UNKNOWN": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "markerHeight": {},
+ "markerUnits": {},
+ "markerWidth": {},
+ "orientAngle": {},
+ "orientType": {},
+ "preserveAspectRatio": {
+ "support_level": "untriaged"
+ },
+ "refX": {},
+ "refY": {},
+ "setOrientToAngle": {},
+ "setOrientToAuto": {},
+ "viewBox": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGMaskElement": {
+ "comment": "http://www.w3.org/TR/SVG/masking.html#InterfaceSVGMaskElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGMaskElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "maskContentUnits": {},
+ "maskUnits": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGMatrix": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGMatrix",
+ "dart_action": "unstable",
+ "members": {
+ "a": {},
+ "b": {},
+ "c": {},
+ "d": {},
+ "e": {},
+ "f": {},
+ "flipX": {},
+ "flipY": {},
+ "inverse": {},
+ "multiply": {},
+ "rotate": {},
+ "rotateFromVector": {},
+ "scale": {},
+ "scaleNonUniform": {},
+ "skewX": {},
+ "skewY": {},
+ "translate": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGMetadataElement": {
+ "comment": "http://www.w3.org/TR/SVG/metadata.html#InterfaceSVGMetadataElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGMissingGlyphElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGMissingGlyphElement",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGNumber": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGNumber",
+ "dart_action": "unstable",
+ "members": {
+ "value": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGNumberList": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGNumberList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPaint": {
+ "comment": "http://www.w3.org/TR/SVG/painting.html#InterfaceSVGPaint",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_PAINTTYPE_CURRENTCOLOR": {},
+ "SVG_PAINTTYPE_NONE": {},
+ "SVG_PAINTTYPE_RGBCOLOR": {},
+ "SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR": {},
+ "SVG_PAINTTYPE_UNKNOWN": {},
+ "SVG_PAINTTYPE_URI": {},
+ "SVG_PAINTTYPE_URI_CURRENTCOLOR": {},
+ "SVG_PAINTTYPE_URI_NONE": {},
+ "SVG_PAINTTYPE_URI_RGBCOLOR": {},
+ "SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR": {},
+ "paintType": {},
+ "setPaint": {},
+ "setUri": {},
+ "uri": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathElement": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGPathElement": {},
+ "animatedNormalizedPathSegList": {},
+ "animatedPathSegList": {},
+ "createSVGPathSegArcAbs": {},
+ "createSVGPathSegArcRel": {},
+ "createSVGPathSegClosePath": {},
+ "createSVGPathSegCurvetoCubicAbs": {},
+ "createSVGPathSegCurvetoCubicRel": {},
+ "createSVGPathSegCurvetoCubicSmoothAbs": {},
+ "createSVGPathSegCurvetoCubicSmoothRel": {},
+ "createSVGPathSegCurvetoQuadraticAbs": {},
+ "createSVGPathSegCurvetoQuadraticRel": {},
+ "createSVGPathSegCurvetoQuadraticSmoothAbs": {},
+ "createSVGPathSegCurvetoQuadraticSmoothRel": {},
+ "createSVGPathSegLinetoAbs": {},
+ "createSVGPathSegLinetoHorizontalAbs": {},
+ "createSVGPathSegLinetoHorizontalRel": {},
+ "createSVGPathSegLinetoRel": {},
+ "createSVGPathSegLinetoVerticalAbs": {},
+ "createSVGPathSegLinetoVerticalRel": {},
+ "createSVGPathSegMovetoAbs": {},
+ "createSVGPathSegMovetoRel": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getPathSegAtLength": {},
+ "getPointAtLength": {},
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTotalLength": {},
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "normalizedPathSegList": {},
+ "pathLength": {},
+ "pathSegList": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSeg": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSeg",
+ "dart_action": "unstable",
+ "members": {
+ "PATHSEG_ARC_ABS": {},
+ "PATHSEG_ARC_REL": {},
+ "PATHSEG_CLOSEPATH": {},
+ "PATHSEG_CURVETO_CUBIC_ABS": {},
+ "PATHSEG_CURVETO_CUBIC_REL": {},
+ "PATHSEG_CURVETO_CUBIC_SMOOTH_ABS": {},
+ "PATHSEG_CURVETO_CUBIC_SMOOTH_REL": {},
+ "PATHSEG_CURVETO_QUADRATIC_ABS": {},
+ "PATHSEG_CURVETO_QUADRATIC_REL": {},
+ "PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS": {},
+ "PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL": {},
+ "PATHSEG_LINETO_ABS": {},
+ "PATHSEG_LINETO_HORIZONTAL_ABS": {},
+ "PATHSEG_LINETO_HORIZONTAL_REL": {},
+ "PATHSEG_LINETO_REL": {},
+ "PATHSEG_LINETO_VERTICAL_ABS": {},
+ "PATHSEG_LINETO_VERTICAL_REL": {},
+ "PATHSEG_MOVETO_ABS": {},
+ "PATHSEG_MOVETO_REL": {},
+ "PATHSEG_UNKNOWN": {},
+ "pathSegType": {},
+ "pathSegTypeAsLetter": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegArcAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegArcAbs",
+ "dart_action": "unstable",
+ "members": {
+ "angle": {},
+ "largeArcFlag": {},
+ "r1": {},
+ "r2": {},
+ "sweepFlag": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegArcRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegArcRel",
+ "dart_action": "unstable",
+ "members": {
+ "angle": {},
+ "largeArcFlag": {},
+ "r1": {},
+ "r2": {},
+ "sweepFlag": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegClosePath": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegClosePath",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoCubicAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoCubicAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x1": {},
+ "x2": {},
+ "y": {},
+ "y1": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoCubicRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoCubicRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x1": {},
+ "x2": {},
+ "y": {},
+ "y1": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoCubicSmoothAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoCubicSmoothAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x2": {},
+ "y": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoCubicSmoothRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoCubicSmoothRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x2": {},
+ "y": {},
+ "y2": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoQuadraticAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoQuadraticAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x1": {},
+ "y": {},
+ "y1": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoQuadraticRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoQuadraticRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "x1": {},
+ "y": {},
+ "y1": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoQuadraticSmoothAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoQuadraticSmoothAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegCurvetoQuadraticSmoothRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegCurvetoQuadraticSmoothRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoHorizontalAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoHorizontalAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoHorizontalRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoHorizontalRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoVerticalAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoVerticalAbs",
+ "dart_action": "unstable",
+ "members": {
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegLinetoVerticalRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegLinetoVerticalRel",
+ "dart_action": "unstable",
+ "members": {
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegList": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegMovetoAbs": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegMovetoAbs",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPathSegMovetoRel": {
+ "comment": "http://www.w3.org/TR/SVG/paths.html#InterfaceSVGPathSegMovetoRel",
+ "dart_action": "unstable",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPatternElement": {
+ "comment": "http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGPatternElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGPatternElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "patternContentUnits": {},
+ "patternTransform": {},
+ "patternUnits": {},
+ "preserveAspectRatio": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "viewBox": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPoint": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGPoint",
+ "dart_action": "unstable",
+ "members": {
+ "matrixTransform": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPointList": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGPointList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGPolygonElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGPolygonElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGPolygonElement": {},
+ "animatedPoints": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "points": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGPolylineElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGPolylineElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGPolylineElement": {},
+ "animatedPoints": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "points": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGPreserveAspectRatio": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGPreserveAspectRatio",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_MEETORSLICE_MEET": {},
+ "SVG_MEETORSLICE_SLICE": {},
+ "SVG_MEETORSLICE_UNKNOWN": {},
+ "SVG_PRESERVEASPECTRATIO_NONE": {},
+ "SVG_PRESERVEASPECTRATIO_UNKNOWN": {},
+ "SVG_PRESERVEASPECTRATIO_XMAXYMAX": {},
+ "SVG_PRESERVEASPECTRATIO_XMAXYMID": {},
+ "SVG_PRESERVEASPECTRATIO_XMAXYMIN": {},
+ "SVG_PRESERVEASPECTRATIO_XMIDYMAX": {},
+ "SVG_PRESERVEASPECTRATIO_XMIDYMID": {},
+ "SVG_PRESERVEASPECTRATIO_XMIDYMIN": {},
+ "SVG_PRESERVEASPECTRATIO_XMINYMAX": {},
+ "SVG_PRESERVEASPECTRATIO_XMINYMID": {},
+ "SVG_PRESERVEASPECTRATIO_XMINYMIN": {},
+ "align": {},
+ "meetOrSlice": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGRadialGradientElement": {
+ "comment": "http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGRadialGradientElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGRadialGradientElement": {},
+ "cx": {},
+ "cy": {},
+ "fr": {},
+ "fx": {},
+ "fy": {},
+ "r": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGRect": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGRect",
+ "dart_action": "unstable",
+ "members": {
+ "height": {},
+ "width": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGRectElement": {
+ "comment": "http://www.w3.org/TR/SVG/shapes.html#InterfaceSVGRectElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGRectElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "rx": {},
+ "ry": {},
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGRenderingIntent": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGRenderingIntent",
+ "dart_action": "unstable",
+ "members": {
+ "RENDERING_INTENT_ABSOLUTE_COLORIMETRIC": {},
+ "RENDERING_INTENT_AUTO": {},
+ "RENDERING_INTENT_PERCEPTUAL": {},
+ "RENDERING_INTENT_RELATIVE_COLORIMETRIC": {},
+ "RENDERING_INTENT_SATURATION": {},
+ "RENDERING_INTENT_UNKNOWN": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGSVGElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGSVGElement",
+ "dart_action": "unstable",
+ "members": {
+ "animationsPaused": {},
+ "checkEnclosure": {},
+ "checkIntersection": {},
+ "contentScriptType": {},
+ "contentStyleType": {},
+ "createSVGAngle": {},
+ "createSVGLength": {},
+ "createSVGMatrix": {},
+ "createSVGNumber": {},
+ "createSVGPoint": {},
+ "createSVGRect": {},
+ "createSVGTransform": {},
+ "createSVGTransformFromMatrix": {},
+ "currentScale": {},
+ "currentTranslate": {},
+ "currentView": {},
+ "deselectAll": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "forceRedraw": {},
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getCurrentTime": {},
+ "getElementById": {},
+ "getEnclosureList": {},
+ "getIntersectionList": {},
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "pauseAnimations": {},
+ "pixelUnitToMillimeterX": {},
+ "pixelUnitToMillimeterY": {},
+ "preserveAspectRatio": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "screenPixelToMillimeterX": {},
+ "screenPixelToMillimeterY": {},
+ "setCurrentTime": {},
+ "suspendRedraw": {},
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "unpauseAnimations": {},
+ "unsuspendRedraw": {},
+ "unsuspendRedrawAll": {},
+ "useCurrentView": {},
+ "viewBox": {
+ "support_level": "untriaged"
+ },
+ "viewport": {},
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {},
+ "zoomAndPan": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGScriptElement": {
+ "comment": "http://www.w3.org/TR/SVG/script.html#InterfaceSVGScriptElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGScriptElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "href": {
+ "support_level": "untriaged"
+ },
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGSetElement": {
+ "comment": "http://www.w3.org/TR/SVG/animate.html#InterfaceSVGSetElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGSetElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGStopElement": {
+ "comment": "http://www.w3.org/TR/SVG/pservers.html#InterfaceSVGStopElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGStopElement": {},
+ "offset": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGStringList": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGStringList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGStyleElement": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGStylable",
+ "dart_action": "experimental",
+ "members": {
+ "SVGStyleElement": {},
+ "disabled": {},
+ "media": {},
+ "title": {},
+ "type": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "nonstandard"
+ },
+ "SVGStyledElement": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGStylable (SVGStylable)",
+ "dart_action": "unstable",
+ "members": {
+ "className": {},
+ "getPresentationAttribute": {},
+ "style": {}
+ },
+ "support_level": "experimental"
+ },
+ "SVGSwitchElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGSwitchElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGSwitchElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGSymbolElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGSymbolElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGSymbolElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "preserveAspectRatio": {
+ "support_level": "untriaged"
+ },
+ "viewBox": {
+ "support_level": "untriaged"
+ },
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGTRefElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTRefElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGTRefElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTSpanElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTSpanElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGTSpanElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTests": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGTests",
+ "dart_action": "unstable",
+ "members": {
+ "hasExtension": {},
+ "requiredExtensions": {},
+ "requiredFeatures": {},
+ "systemLanguage": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTextContentElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextContentElement",
+ "dart_action": "unstable",
+ "members": {
+ "LENGTHADJUST_SPACING": {},
+ "LENGTHADJUST_SPACINGANDGLYPHS": {},
+ "LENGTHADJUST_UNKNOWN": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "getCharNumAtPosition": {},
+ "getComputedTextLength": {},
+ "getEndPositionOfChar": {},
+ "getExtentOfChar": {},
+ "getNumberOfChars": {},
+ "getRotationOfChar": {},
+ "getStartPositionOfChar": {},
+ "getSubStringLength": {},
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "lengthAdjust": {},
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "selectSubString": {},
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "textLength": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGTextElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGTextElement": {},
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGTextPathElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextPathElement",
+ "dart_action": "unstable",
+ "members": {
+ "TEXTPATH_METHODTYPE_ALIGN": {},
+ "TEXTPATH_METHODTYPE_STRETCH": {},
+ "TEXTPATH_METHODTYPE_UNKNOWN": {},
+ "TEXTPATH_SPACINGTYPE_AUTO": {},
+ "TEXTPATH_SPACINGTYPE_EXACT": {},
+ "TEXTPATH_SPACINGTYPE_UNKNOWN": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "method": {},
+ "spacing": {},
+ "startOffset": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTextPositioningElement": {
+ "comment": "http://www.w3.org/TR/SVG/text.html#InterfaceSVGTextPositioningElement",
+ "dart_action": "unstable",
+ "members": {
+ "dx": {},
+ "dy": {},
+ "rotate": {},
+ "x": {},
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTitleElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGTitleElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGTitleElement": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGTransform": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGTransform",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_TRANSFORM_MATRIX": {},
+ "SVG_TRANSFORM_ROTATE": {},
+ "SVG_TRANSFORM_SCALE": {},
+ "SVG_TRANSFORM_SKEWX": {},
+ "SVG_TRANSFORM_SKEWY": {},
+ "SVG_TRANSFORM_TRANSLATE": {},
+ "SVG_TRANSFORM_UNKNOWN": {},
+ "angle": {},
+ "matrix": {},
+ "setMatrix": {},
+ "setRotate": {},
+ "setScale": {},
+ "setSkewX": {},
+ "setSkewY": {},
+ "setTranslate": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTransformList": {
+ "comment": "http://www.w3.org/TR/SVG/coords.html#InterfaceSVGTransformList",
+ "dart_action": "unstable",
+ "members": {
+ "appendItem": {},
+ "clear": {},
+ "consolidate": {},
+ "createSVGTransformFromMatrix": {},
+ "getItem": {},
+ "initialize": {},
+ "insertItemBefore": {},
+ "numberOfItems": {},
+ "removeItem": {},
+ "replaceItem": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGTransformable": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGTransformable",
+ "dart_action": "unstable",
+ "members": {
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "transform": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGURIReference": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGURIReference",
+ "dart_action": "unstable",
+ "members": {
+ "href": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGUnitTypes": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGUnitTypes",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_UNIT_TYPE_OBJECTBOUNDINGBOX": {},
+ "SVG_UNIT_TYPE_UNKNOWN": {},
+ "SVG_UNIT_TYPE_USERSPACEONUSE": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGUseElement": {
+ "comment": "http://www.w3.org/TR/SVG/struct.html#InterfaceSVGUseElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGUseElement": {},
+ "animatedInstanceRoot": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "farthestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "getBBox": {
+ "support_level": "untriaged"
+ },
+ "getCTM": {
+ "support_level": "untriaged"
+ },
+ "getScreenCTM": {
+ "support_level": "untriaged"
+ },
+ "getTransformToElement": {
+ "support_level": "untriaged"
+ },
+ "hasExtension": {
+ "support_level": "untriaged"
+ },
+ "height": {},
+ "href": {
+ "support_level": "untriaged"
+ },
+ "instanceRoot": {},
+ "nearestViewportElement": {
+ "support_level": "untriaged"
+ },
+ "requiredExtensions": {
+ "support_level": "untriaged"
+ },
+ "requiredFeatures": {
+ "support_level": "untriaged"
+ },
+ "systemLanguage": {
+ "support_level": "untriaged"
+ },
+ "transform": {
+ "support_level": "untriaged"
+ },
+ "width": {},
+ "x": {},
+ "xmllang": {
+ "support_level": "untriaged"
+ },
+ "xmlspace": {
+ "support_level": "untriaged"
+ },
+ "y": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGVKernElement": {
+ "comment": "http://www.w3.org/TR/SVG/fonts.html#InterfaceSVGVKernElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGVKernElement": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGViewElement": {
+ "comment": "http://www.w3.org/TR/SVG/linking.html#InterfaceSVGViewElement",
+ "dart_action": "unstable",
+ "members": {
+ "SVGViewElement": {},
+ "externalResourcesRequired": {
+ "support_level": "untriaged"
+ },
+ "preserveAspectRatio": {
+ "support_level": "untriaged"
+ },
+ "viewBox": {
+ "support_level": "untriaged"
+ },
+ "viewTarget": {},
+ "zoomAndPan": {
+ "support_level": "untriaged"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGViewSpec": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGViewSpec",
+ "dart_action": "unstable",
+ "members": {
+ "preserveAspectRatio": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "preserveAspectRatioString": {},
+ "transform": {},
+ "transformString": {},
+ "viewBox": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "viewBoxString": {},
+ "viewTarget": {},
+ "viewTargetString": {},
+ "zoomAndPan": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "SVGZoomAndPan": {
+ "comment": "http://www.w3.org/TR/SVG/types.html#InterfaceSVGZoomAndPan",
+ "dart_action": "unstable",
+ "members": {
+ "SVG_ZOOMANDPAN_DISABLE": {},
+ "SVG_ZOOMANDPAN_MAGNIFY": {},
+ "SVG_ZOOMANDPAN_UNKNOWN": {},
+ "zoomAndPan": {}
+ },
+ "support_level": "stable"
+ },
+ "SVGZoomEvent": {
+ "comment": "http://www.w3.org/TR/SVG/script.html#InterfaceSVGZoomEvent",
+ "dart_action": "unstable",
+ "members": {
+ "newScale": {},
+ "newTranslate": {},
+ "previousScale": {},
+ "previousTranslate": {},
+ "zoomRectScreen": {}
+ },
+ "support_level": "stable"
+ },
+ "Screen": {
+ "comment": "http://dev.w3.org/csswg/cssom-view/#the-screen-interface",
+ "members": {
+ "availHeight": {},
+ "availLeft": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "availTop": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "availWidth": {},
+ "colorDepth": {},
+ "height": {},
+ "pixelDepth": {},
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "ScriptProcessorNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ScriptProcessorNode",
+ "members": {
+ "_setEventListener": {
+ "support_level": "nonstandard"
+ },
+ "bufferSize": {}
+ },
+ "support_level": "experimental"
+ },
+ "ScriptProfile": {
+ "dart_action": "suppress",
+ "members": {
+ "head": {},
+ "idleTime": {},
+ "title": {},
+ "uid": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "ScriptProfileNode": {
+ "dart_action": "suppress",
+ "members": {
+ "callUID": {},
+ "children": {},
+ "functionName": {},
+ "lineNumber": {},
+ "numberOfCalls": {},
+ "selfTime": {},
+ "totalTime": {},
+ "url": {},
+ "visible": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "SecurityPolicy": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "SecurityPolicyViolationEvent": {
+ "comment": "https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicyviolationevent-events",
+ "members": {
+ "blockedURI": {},
+ "documentURI": {},
+ "effectiveDirective": {},
+ "lineNumber": {},
+ "originalPolicy": {},
+ "referrer": {},
+ "sourceFile": {},
+ "violatedDirective": {}
+ },
+ "support_level": "experimental"
+ },
+ "Selection": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "ShadowRoot": {
+ "comment": "https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-root",
+ "members": {
+ "activeElement": {},
+ "applyAuthorStyles": {},
+ "cloneNode": {},
+ "elementFromPoint": {},
+ "getElementById": {},
+ "getElementsByClassName": {},
+ "getElementsByTagName": {},
+ "getElementsByTagNameNS": {},
+ "getSelection": {},
+ "innerHTML": {},
+ "resetStyleInheritance": {}
+ },
+ "support_level": "experimental"
+ },
+ "SharedWorker": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#shared-workers-and-the-sharedworker-interface",
+ "members": {
+ "SharedWorker": {},
+ "port": {}
+ },
+ "support_level": "experimental"
+ },
+ "SharedWorkerContext": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#shared-workers-and-the-sharedworkerglobalscope-interface",
+ "dart_action": "experimental",
+ "members": {
+ "name": {},
+ "onconnect": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "SourceBuffer": {
+ "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"
+ },
+ "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"
+ },
+ "SpeechGrammar": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammar",
+ "members": {
+ "SpeechGrammar": {},
+ "src": {},
+ "weight": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechGrammarList": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammarlist",
+ "members": {
+ "SpeechGrammarList": {},
+ "addFromString": {},
+ "addFromUri": {},
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechInputEvent": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_event_interface",
+ "members": {
+ "results": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechInputResult": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_result_interface",
+ "members": {
+ "confidence": {},
+ "utterance": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechInputResultList": {
+ "comment": "http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_result_list_interface",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognition": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-section",
+ "members": {
+ "SpeechRecognition": {},
+ "abort": {},
+ "addEventListener": {},
+ "continuous": {},
+ "dispatchEvent": {},
+ "grammars": {},
+ "interimResults": {},
+ "lang": {},
+ "maxAlternatives": {},
+ "onaudioend": {},
+ "onaudiostart": {},
+ "onend": {},
+ "onerror": {},
+ "onnomatch": {},
+ "onresult": {},
+ "onsoundend": {},
+ "onsoundstart": {},
+ "onspeechend": {},
+ "onspeechstart": {},
+ "onstart": {},
+ "removeEventListener": {},
+ "start": {},
+ "stop": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognitionAlternative": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionalternative",
+ "members": {
+ "confidence": {},
+ "transcript": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognitionError": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-error",
+ "members": {
+ "error": {},
+ "message": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognitionEvent": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-event",
+ "members": {
+ "emma": {},
+ "interpretation": {},
+ "resultIndex": {},
+ "results": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognitionResult": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionresult",
+ "members": {
+ "isFinal": {},
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "SpeechRecognitionResultList": {
+ "comment": "https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionresultlist",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "Storage": {
+ "comment": "http://www.w3.org/TR/webstorage/#the-storage-interface",
+ "dart_action": "unstable",
+ "members": {
+ "clear": {},
+ "getItem": {},
+ "key": {},
+ "length": {},
+ "removeItem": {},
+ "setItem": {}
+ },
+ "support_level": "stable"
+ },
+ "StorageErrorCallback": {
+ "comment": "http://www.w3.org/TR/quota-api/#storageerrorcallback-callback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "StorageEvent": {
+ "comment": "http://www.w3.org/TR/webstorage/#the-storage-event",
+ "dart_action": "unstable",
+ "members": {
+ "initStorageEvent": {},
+ "key": {},
+ "newValue": {},
+ "oldValue": {},
+ "storageArea": {},
+ "url": {}
+ },
+ "support_level": "stable"
+ },
+ "StorageInfo": {
+ "comment": "http://www.w3.org/TR/file-system-api/",
+ "members": {
+ "PERSISTENT": {},
+ "TEMPORARY": {},
+ "queryUsageAndQuota": {},
+ "requestQuota": {}
+ },
+ "support_level": "experimental"
+ },
+ "StorageQuota": {
+ "comment": "http://www.w3.org/TR/quota-api/#idl-def-StorageQuota",
+ "members": {
+ "queryUsageAndQuota": {},
+ "requestQuota": {}
+ },
+ "support_level": "experimental"
+ },
+ "StorageQuotaCallback": {
+ "comment": "http://www.w3.org/TR/quota-api/#idl-def-StorageQuotaCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "StorageUsageCallback": {
+ "comment": "http://www.w3.org/TR/quota-api/#idl-def-StorageUsageCallback",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "StringCallback": {
+ "comment": "http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "StyleMedia": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html",
+ "dart_action": "experimental",
+ "members": {
+ "matchMedium": {},
+ "type": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "StyleSheet": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-stylesheet-interface",
+ "members": {
+ "disabled": {},
+ "href": {},
+ "media": {},
+ "ownerNode": {},
+ "parentStyleSheet": {},
+ "title": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "StyleSheetList": {
+ "comment": "http://dev.w3.org/csswg/cssom/#the-stylesheetlist-sequence",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "stable"
+ },
+ "Text": {
+ "comment": "http://dom.spec.whatwg.org/#interface-text",
+ "members": {
+ "replaceWholeText": {
+ "comment": "http://dom.spec.whatwg.org/#dom-text-replacewholetext",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "splitText": {},
+ "webkitInsertionParent": {
+ "comment": "https://www.w3.org/Bugs/Public/show_bug.cgi?id=21067",
+ "support_level": "experimental"
+ },
+ "wholeText": {}
+ },
+ "support_level": "stable"
+ },
+ "TextEvent": {
+ "comment": "http://www.w3.org/TR/2006/WD-DOM-Level-3-Events-20060413/events.html#Events-TextEvent",
+ "dart_action": "unstable",
+ "members": {
+ "data": {},
+ "initTextEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "TextMetrics": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#textmetrics",
+ "members": {
+ "width": {}
+ },
+ "support_level": "stable"
+ },
+ "TextTrack": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack",
+ "members": {
+ "activeCues": {},
+ "addCue": {},
+ "addEventListener": {},
+ "cues": {},
+ "dispatchEvent": {},
+ "kind": {},
+ "label": {},
+ "language": {},
+ "mode": {},
+ "oncuechange": {},
+ "removeCue": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "TextTrackCue": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue",
+ "members": {
+ "TextTrackCue": {},
+ "addEventListener": {},
+ "align": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "dispatchEvent": {},
+ "endTime": {},
+ "getCueAsHTML": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "id": {},
+ "line": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "onenter": {},
+ "onexit": {},
+ "pauseOnExit": {},
+ "position": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "removeEventListener": {},
+ "size": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "snapToLines": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "startTime": {},
+ "text": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "track": {},
+ "vertical": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "TextTrackCueList": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist",
+ "members": {
+ "getCueById": {},
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "TextTrackList": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "item": {},
+ "length": {},
+ "onaddtrack": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "TimeRanges": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#timeranges",
+ "dart_action": "unstable",
+ "members": {
+ "end": {},
+ "length": {},
+ "start": {}
+ },
+ "support_level": "stable"
+ },
+ "TimeoutHandler": {
+ "comment": "http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-timers.html#timeouthandler",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "stable"
+ },
+ "Touch": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "members": {
+ "clientX": {},
+ "clientY": {},
+ "identifier": {},
+ "pageX": {},
+ "pageY": {},
+ "screenX": {},
+ "screenY": {},
+ "target": {},
+ "webkitForce": {
+ "support_level": "experimental"
+ },
+ "webkitRadiusX": {
+ "support_level": "experimental"
+ },
+ "webkitRadiusY": {
+ "support_level": "experimental"
+ },
+ "webkitRotationAngle": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "TouchEvent": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "members": {
+ "altKey": {},
+ "changedTouches": {},
+ "ctrlKey": {},
+ "initTouchEvent": {},
+ "metaKey": {},
+ "shiftKey": {},
+ "targetTouches": {},
+ "touches": {}
+ },
+ "support_level": "experimental"
+ },
+ "TouchList": {
+ "comment": "http://www.w3.org/TR/touch-events/",
+ "members": {
+ "item": {},
+ "length": {}
+ },
+ "support_level": "experimental"
+ },
+ "TrackEvent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#trackevent",
+ "dart_action": "unstable",
+ "members": {
+ "track": {}
+ },
+ "support_level": "experimental"
+ },
+ "TransitionEvent": {
+ "comment": "http://dev.w3.org/csswg/css-transitions/#Events-TransitionEvent",
+ "members": {
+ "elapsedTime": {},
+ "propertyName": {},
+ "pseudoElement": {}
+ },
+ "support_level": "stable"
+ },
+ "TreeWalker": {
+ "comment": "http://dom.spec.whatwg.org/#treewalker",
+ "dart_action": "unstable",
+ "members": {
+ "currentNode": {},
+ "expandEntityReferences": {
+ "comment": "http://dom.spec.whatwg.org/#dom-traversal",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "filter": {},
+ "firstChild": {},
+ "lastChild": {},
+ "nextNode": {},
+ "nextSibling": {},
+ "parentNode": {},
+ "previousNode": {},
+ "previousSibling": {},
+ "root": {},
+ "whatToShow": {}
+ },
+ "support_level": "stable"
+ },
+ "UIEvent": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-UIEvent",
+ "members": {
+ "charCode": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#legacy-key-attributes",
+ "dart_action": "unstable",
+ "support_level": "deprecated"
+ },
+ "detail": {},
+ "initUIEvent": {},
+ "keyCode": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#legacy-key-attributes",
+ "dart_action": "unstable",
+ "support_level": "deprecated"
+ },
+ "layerX": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "layerY": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "pageX": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "pageY": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents",
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "view": {},
+ "which": {
+ "comment": "http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#legacy-key-attributes",
+ "dart_action": "unstable",
+ "support_level": "deprecated"
+ }
+ },
+ "support_level": "stable"
+ },
+ "URL": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "Uint16Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Uint32Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Uint8Array": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "BYTES_PER_ELEMENT": {},
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "Uint8ClampedArray": {
+ "comment": "http://www.khronos.org/registry/typedarray/specs/latest/",
+ "members": {
+ "length": {},
+ "setElements": {},
+ "subarray": {}
+ },
+ "support_level": "stable"
+ },
+ "ValidityState": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#validitystate",
+ "members": {
+ "badInput": {},
+ "customError": {},
+ "patternMismatch": {},
+ "rangeOverflow": {},
+ "rangeUnderflow": {},
+ "stepMismatch": {},
+ "tooLong": {},
+ "typeMismatch": {},
+ "valid": {},
+ "valueMissing": {}
+ },
+ "support_level": "stable"
+ },
+ "VoidCallback": {
+ "comment": "http://www.w3.org/TR/file-system-api/#the-voidcallback-interface",
+ "members": {
+ "handleEvent": {}
+ },
+ "support_level": "experimental"
+ },
+ "WaveShaperNode": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#dfn-WaveShaperNode",
+ "members": {
+ "curve": {}
+ },
+ "support_level": "experimental"
+ },
+ "WaveTable": {
+ "comment": "https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#WaveTable-section",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "WebGLActiveInfo": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.11",
+ "dart_action": "unstable",
+ "members": {
+ "name": {},
+ "size": {},
+ "type": {}
+ },
+ "support_level": "stable"
+ },
+ "WebGLBuffer": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.4",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLCompressedTextureATC": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_atc/",
+ "members": {
+ "COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL": {},
+ "COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL": {},
+ "COMPRESSED_RGB_ATC_WEBGL": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLCompressedTexturePVRTC": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/",
+ "dart_action": "experimental",
+ "members": {
+ "COMPRESSED_RGBA_PVRTC_2BPPV1_IMG": {},
+ "COMPRESSED_RGBA_PVRTC_4BPPV1_IMG": {},
+ "COMPRESSED_RGB_PVRTC_2BPPV1_IMG": {},
+ "COMPRESSED_RGB_PVRTC_4BPPV1_IMG": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLCompressedTextureS3TC": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/",
+ "dart_action": "experimental",
+ "members": {
+ "COMPRESSED_RGBA_S3TC_DXT1_EXT": {},
+ "COMPRESSED_RGBA_S3TC_DXT3_EXT": {},
+ "COMPRESSED_RGBA_S3TC_DXT5_EXT": {},
+ "COMPRESSED_RGB_S3TC_DXT1_EXT": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLContextAttributes": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.2",
+ "dart_action": "unstable",
+ "members": {
+ "alpha": {},
+ "antialias": {},
+ "depth": {},
+ "premultipliedAlpha": {},
+ "preserveDrawingBuffer": {},
+ "stencil": {}
+ },
+ "support_level": "stable"
+ },
+ "WebGLContextEvent": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#WEBGLCONTEXTEVENT",
+ "dart_action": "unstable",
+ "members": {
+ "statusMessage": {}
+ },
+ "support_level": "stable"
+ },
+ "WebGLDebugRendererInfo": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/",
+ "dart_action": "experimental",
+ "members": {
+ "UNMASKED_RENDERER_WEBGL": {},
+ "UNMASKED_VENDOR_WEBGL": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLDebugShaders": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/",
+ "dart_action": "experimental",
+ "members": {
+ "getTranslatedShaderSource": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLDepthTexture": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/",
+ "dart_action": "experimental",
+ "members": {
+ "UNSIGNED_INT_24_8_WEBGL": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLFramebuffer": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.5",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLLoseContext": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/",
+ "members": {
+ "loseContext": {},
+ "restoreContext": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebGLProgram": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.6",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLRenderbuffer": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.7",
+ "dart_action": "unstable",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLRenderingContext": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.14",
+ "dart_action": "unstable",
+ "members": {
+ "ACTIVE_ATTRIBUTES": {},
+ "ACTIVE_TEXTURE": {},
+ "ACTIVE_UNIFORMS": {},
+ "ALIASED_LINE_WIDTH_RANGE": {},
+ "ALIASED_POINT_SIZE_RANGE": {},
+ "ALPHA": {},
+ "ALPHA_BITS": {},
+ "ALWAYS": {},
+ "ARRAY_BUFFER": {},
+ "ARRAY_BUFFER_BINDING": {},
+ "ATTACHED_SHADERS": {},
+ "BACK": {},
+ "BLEND": {},
+ "BLEND_COLOR": {},
+ "BLEND_DST_ALPHA": {},
+ "BLEND_DST_RGB": {},
+ "BLEND_EQUATION": {},
+ "BLEND_EQUATION_ALPHA": {},
+ "BLEND_EQUATION_RGB": {},
+ "BLEND_SRC_ALPHA": {},
+ "BLEND_SRC_RGB": {},
+ "BLUE_BITS": {},
+ "BOOL": {},
+ "BOOL_VEC2": {},
+ "BOOL_VEC3": {},
+ "BOOL_VEC4": {},
+ "BROWSER_DEFAULT_WEBGL": {},
+ "BUFFER_SIZE": {},
+ "BUFFER_USAGE": {},
+ "BYTE": {},
+ "CCW": {},
+ "CLAMP_TO_EDGE": {},
+ "COLOR_ATTACHMENT0": {},
+ "COLOR_BUFFER_BIT": {},
+ "COLOR_CLEAR_VALUE": {},
+ "COLOR_WRITEMASK": {},
+ "COMPILE_STATUS": {},
+ "COMPRESSED_TEXTURE_FORMATS": {},
+ "CONSTANT_ALPHA": {},
+ "CONSTANT_COLOR": {},
+ "CONTEXT_LOST_WEBGL": {},
+ "CULL_FACE": {},
+ "CULL_FACE_MODE": {},
+ "CURRENT_PROGRAM": {},
+ "CURRENT_VERTEX_ATTRIB": {},
+ "CW": {},
+ "DECR": {},
+ "DECR_WRAP": {},
+ "DELETE_STATUS": {},
+ "DEPTH_ATTACHMENT": {},
+ "DEPTH_BITS": {},
+ "DEPTH_BUFFER_BIT": {},
+ "DEPTH_CLEAR_VALUE": {},
+ "DEPTH_COMPONENT": {},
+ "DEPTH_COMPONENT16": {},
+ "DEPTH_FUNC": {},
+ "DEPTH_RANGE": {},
+ "DEPTH_STENCIL": {},
+ "DEPTH_STENCIL_ATTACHMENT": {},
+ "DEPTH_TEST": {},
+ "DEPTH_WRITEMASK": {},
+ "DITHER": {},
+ "DONT_CARE": {},
+ "DST_ALPHA": {},
+ "DST_COLOR": {},
+ "DYNAMIC_DRAW": {},
+ "ELEMENT_ARRAY_BUFFER": {},
+ "ELEMENT_ARRAY_BUFFER_BINDING": {},
+ "EQUAL": {},
+ "FASTEST": {},
+ "FLOAT": {},
+ "FLOAT_MAT2": {},
+ "FLOAT_MAT3": {},
+ "FLOAT_MAT4": {},
+ "FLOAT_VEC2": {},
+ "FLOAT_VEC3": {},
+ "FLOAT_VEC4": {},
+ "FRAGMENT_SHADER": {},
+ "FRAMEBUFFER": {},
+ "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME": {},
+ "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE": {},
+ "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE": {},
+ "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL": {},
+ "FRAMEBUFFER_BINDING": {},
+ "FRAMEBUFFER_COMPLETE": {},
+ "FRAMEBUFFER_INCOMPLETE_ATTACHMENT": {},
+ "FRAMEBUFFER_INCOMPLETE_DIMENSIONS": {},
+ "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT": {},
+ "FRAMEBUFFER_UNSUPPORTED": {},
+ "FRONT": {},
+ "FRONT_AND_BACK": {},
+ "FRONT_FACE": {},
+ "FUNC_ADD": {},
+ "FUNC_REVERSE_SUBTRACT": {},
+ "FUNC_SUBTRACT": {},
+ "GENERATE_MIPMAP_HINT": {},
+ "GEQUAL": {},
+ "GREATER": {},
+ "GREEN_BITS": {},
+ "HALF_FLOAT_OES": {
+ "dart_action": "experimental",
+ "support_level": "nonstandard"
+ },
+ "HIGH_FLOAT": {},
+ "HIGH_INT": {},
+ "INCR": {},
+ "INCR_WRAP": {},
+ "INT": {},
+ "INT_VEC2": {},
+ "INT_VEC3": {},
+ "INT_VEC4": {},
+ "INVALID_ENUM": {},
+ "INVALID_FRAMEBUFFER_OPERATION": {},
+ "INVALID_OPERATION": {},
+ "INVALID_VALUE": {},
+ "INVERT": {},
+ "KEEP": {},
+ "LEQUAL": {},
+ "LESS": {},
+ "LINEAR": {},
+ "LINEAR_MIPMAP_LINEAR": {},
+ "LINEAR_MIPMAP_NEAREST": {},
+ "LINES": {},
+ "LINE_LOOP": {},
+ "LINE_STRIP": {},
+ "LINE_WIDTH": {},
+ "LINK_STATUS": {},
+ "LOW_FLOAT": {},
+ "LOW_INT": {},
+ "LUMINANCE": {},
+ "LUMINANCE_ALPHA": {},
+ "MAX_COMBINED_TEXTURE_IMAGE_UNITS": {},
+ "MAX_CUBE_MAP_TEXTURE_SIZE": {},
+ "MAX_FRAGMENT_UNIFORM_VECTORS": {},
+ "MAX_RENDERBUFFER_SIZE": {},
+ "MAX_TEXTURE_IMAGE_UNITS": {},
+ "MAX_TEXTURE_SIZE": {},
+ "MAX_VARYING_VECTORS": {},
+ "MAX_VERTEX_ATTRIBS": {},
+ "MAX_VERTEX_TEXTURE_IMAGE_UNITS": {},
+ "MAX_VERTEX_UNIFORM_VECTORS": {},
+ "MAX_VIEWPORT_DIMS": {},
+ "MEDIUM_FLOAT": {},
+ "MEDIUM_INT": {},
+ "MIRRORED_REPEAT": {},
+ "NEAREST": {},
+ "NEAREST_MIPMAP_LINEAR": {},
+ "NEAREST_MIPMAP_NEAREST": {},
+ "NEVER": {},
+ "NICEST": {},
+ "NONE": {},
+ "NOTEQUAL": {},
+ "NO_ERROR": {},
+ "ONE": {},
+ "ONE_MINUS_CONSTANT_ALPHA": {},
+ "ONE_MINUS_CONSTANT_COLOR": {},
+ "ONE_MINUS_DST_ALPHA": {},
+ "ONE_MINUS_DST_COLOR": {},
+ "ONE_MINUS_SRC_ALPHA": {},
+ "ONE_MINUS_SRC_COLOR": {},
+ "OUT_OF_MEMORY": {},
+ "PACK_ALIGNMENT": {},
+ "POINTS": {},
+ "POLYGON_OFFSET_FACTOR": {},
+ "POLYGON_OFFSET_FILL": {},
+ "POLYGON_OFFSET_UNITS": {},
+ "RED_BITS": {},
+ "RENDERBUFFER": {},
+ "RENDERBUFFER_ALPHA_SIZE": {},
+ "RENDERBUFFER_BINDING": {},
+ "RENDERBUFFER_BLUE_SIZE": {},
+ "RENDERBUFFER_DEPTH_SIZE": {},
+ "RENDERBUFFER_GREEN_SIZE": {},
+ "RENDERBUFFER_HEIGHT": {},
+ "RENDERBUFFER_INTERNAL_FORMAT": {},
+ "RENDERBUFFER_RED_SIZE": {},
+ "RENDERBUFFER_STENCIL_SIZE": {},
+ "RENDERBUFFER_WIDTH": {},
+ "RENDERER": {},
+ "REPEAT": {},
+ "REPLACE": {},
+ "RGB": {},
+ "RGB565": {},
+ "RGB5_A1": {},
+ "RGBA": {},
+ "RGBA4": {},
+ "SAMPLER_2D": {},
+ "SAMPLER_CUBE": {},
+ "SAMPLES": {},
+ "SAMPLE_ALPHA_TO_COVERAGE": {},
+ "SAMPLE_BUFFERS": {},
+ "SAMPLE_COVERAGE": {},
+ "SAMPLE_COVERAGE_INVERT": {},
+ "SAMPLE_COVERAGE_VALUE": {},
+ "SCISSOR_BOX": {},
+ "SCISSOR_TEST": {},
+ "SHADER_TYPE": {},
+ "SHADING_LANGUAGE_VERSION": {},
+ "SHORT": {},
+ "SRC_ALPHA": {},
+ "SRC_ALPHA_SATURATE": {},
+ "SRC_COLOR": {},
+ "STATIC_DRAW": {},
+ "STENCIL_ATTACHMENT": {},
+ "STENCIL_BACK_FAIL": {},
+ "STENCIL_BACK_FUNC": {},
+ "STENCIL_BACK_PASS_DEPTH_FAIL": {},
+ "STENCIL_BACK_PASS_DEPTH_PASS": {},
+ "STENCIL_BACK_REF": {},
+ "STENCIL_BACK_VALUE_MASK": {},
+ "STENCIL_BACK_WRITEMASK": {},
+ "STENCIL_BITS": {},
+ "STENCIL_BUFFER_BIT": {},
+ "STENCIL_CLEAR_VALUE": {},
+ "STENCIL_FAIL": {},
+ "STENCIL_FUNC": {},
+ "STENCIL_INDEX": {},
+ "STENCIL_INDEX8": {},
+ "STENCIL_PASS_DEPTH_FAIL": {},
+ "STENCIL_PASS_DEPTH_PASS": {},
+ "STENCIL_REF": {},
+ "STENCIL_TEST": {},
+ "STENCIL_VALUE_MASK": {},
+ "STENCIL_WRITEMASK": {},
+ "STREAM_DRAW": {},
+ "SUBPIXEL_BITS": {},
+ "TEXTURE": {},
+ "TEXTURE0": {},
+ "TEXTURE1": {},
+ "TEXTURE10": {},
+ "TEXTURE11": {},
+ "TEXTURE12": {},
+ "TEXTURE13": {},
+ "TEXTURE14": {},
+ "TEXTURE15": {},
+ "TEXTURE16": {},
+ "TEXTURE17": {},
+ "TEXTURE18": {},
+ "TEXTURE19": {},
+ "TEXTURE2": {},
+ "TEXTURE20": {},
+ "TEXTURE21": {},
+ "TEXTURE22": {},
+ "TEXTURE23": {},
+ "TEXTURE24": {},
+ "TEXTURE25": {},
+ "TEXTURE26": {},
+ "TEXTURE27": {},
+ "TEXTURE28": {},
+ "TEXTURE29": {},
+ "TEXTURE3": {},
+ "TEXTURE30": {},
+ "TEXTURE31": {},
+ "TEXTURE4": {},
+ "TEXTURE5": {},
+ "TEXTURE6": {},
+ "TEXTURE7": {},
+ "TEXTURE8": {},
+ "TEXTURE9": {},
+ "TEXTURE_2D": {},
+ "TEXTURE_BINDING_2D": {},
+ "TEXTURE_BINDING_CUBE_MAP": {},
+ "TEXTURE_CUBE_MAP": {},
+ "TEXTURE_CUBE_MAP_NEGATIVE_X": {},
+ "TEXTURE_CUBE_MAP_NEGATIVE_Y": {},
+ "TEXTURE_CUBE_MAP_NEGATIVE_Z": {},
+ "TEXTURE_CUBE_MAP_POSITIVE_X": {},
+ "TEXTURE_CUBE_MAP_POSITIVE_Y": {},
+ "TEXTURE_CUBE_MAP_POSITIVE_Z": {},
+ "TEXTURE_MAG_FILTER": {},
+ "TEXTURE_MIN_FILTER": {},
+ "TEXTURE_WRAP_S": {},
+ "TEXTURE_WRAP_T": {},
+ "TRIANGLES": {},
+ "TRIANGLE_FAN": {},
+ "TRIANGLE_STRIP": {},
+ "UNPACK_ALIGNMENT": {},
+ "UNPACK_COLORSPACE_CONVERSION_WEBGL": {},
+ "UNPACK_FLIP_Y_WEBGL": {},
+ "UNPACK_PREMULTIPLY_ALPHA_WEBGL": {},
+ "UNSIGNED_BYTE": {},
+ "UNSIGNED_INT": {},
+ "UNSIGNED_SHORT": {},
+ "UNSIGNED_SHORT_4_4_4_4": {},
+ "UNSIGNED_SHORT_5_5_5_1": {},
+ "UNSIGNED_SHORT_5_6_5": {},
+ "VALIDATE_STATUS": {},
+ "VENDOR": {},
+ "VERSION": {},
+ "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING": {},
+ "VERTEX_ATTRIB_ARRAY_ENABLED": {},
+ "VERTEX_ATTRIB_ARRAY_NORMALIZED": {},
+ "VERTEX_ATTRIB_ARRAY_POINTER": {},
+ "VERTEX_ATTRIB_ARRAY_SIZE": {},
+ "VERTEX_ATTRIB_ARRAY_STRIDE": {},
+ "VERTEX_ATTRIB_ARRAY_TYPE": {},
+ "VERTEX_SHADER": {},
+ "VIEWPORT": {},
+ "ZERO": {},
+ "activeTexture": {},
+ "attachShader": {},
+ "bindAttribLocation": {},
+ "bindBuffer": {},
+ "bindFramebuffer": {},
+ "bindRenderbuffer": {},
+ "bindTexture": {},
+ "blendColor": {},
+ "blendEquation": {},
+ "blendEquationSeparate": {},
+ "blendFunc": {},
+ "blendFuncSeparate": {},
+ "bufferData": {},
+ "bufferSubData": {},
+ "checkFramebufferStatus": {},
+ "clear": {},
+ "clearColor": {},
+ "clearDepth": {},
+ "clearStencil": {},
+ "colorMask": {},
+ "compileShader": {},
+ "compressedTexImage2D": {},
+ "compressedTexSubImage2D": {},
+ "copyTexImage2D": {},
+ "copyTexSubImage2D": {},
+ "createBuffer": {},
+ "createFramebuffer": {},
+ "createProgram": {},
+ "createRenderbuffer": {},
+ "createShader": {},
+ "createTexture": {},
+ "cullFace": {},
+ "deleteBuffer": {},
+ "deleteFramebuffer": {},
+ "deleteProgram": {},
+ "deleteRenderbuffer": {},
+ "deleteShader": {},
+ "deleteTexture": {},
+ "depthFunc": {},
+ "depthMask": {},
+ "depthRange": {},
+ "detachShader": {},
+ "disable": {},
+ "disableVertexAttribArray": {},
+ "drawArrays": {},
+ "drawElements": {},
+ "drawingBufferHeight": {},
+ "drawingBufferWidth": {},
+ "enable": {},
+ "enableVertexAttribArray": {},
+ "finish": {},
+ "flush": {},
+ "framebufferRenderbuffer": {},
+ "framebufferTexture2D": {},
+ "frontFace": {},
+ "generateMipmap": {},
+ "getActiveAttrib": {},
+ "getActiveUniform": {},
+ "getAttachedShaders": {},
+ "getAttribLocation": {},
+ "getBufferParameter": {},
+ "getContextAttributes": {},
+ "getError": {},
+ "getExtension": {},
+ "getFramebufferAttachmentParameter": {},
+ "getParameter": {},
+ "getProgramInfoLog": {},
+ "getProgramParameter": {},
+ "getRenderbufferParameter": {},
+ "getShaderInfoLog": {},
+ "getShaderParameter": {},
+ "getShaderPrecisionFormat": {},
+ "getShaderSource": {},
+ "getSupportedExtensions": {},
+ "getTexParameter": {},
+ "getUniform": {},
+ "getUniformLocation": {},
+ "getVertexAttrib": {},
+ "getVertexAttribOffset": {},
+ "hint": {},
+ "isBuffer": {},
+ "isContextLost": {},
+ "isEnabled": {},
+ "isFramebuffer": {},
+ "isProgram": {},
+ "isRenderbuffer": {},
+ "isShader": {},
+ "isTexture": {},
+ "lineWidth": {},
+ "linkProgram": {},
+ "pixelStorei": {},
+ "polygonOffset": {},
+ "readPixels": {},
+ "releaseShaderCompiler": {
+ "dart_action": "suppress",
+ "support_level": "nonstandard"
+ },
+ "renderbufferStorage": {},
+ "sampleCoverage": {},
+ "scissor": {},
+ "shaderSource": {},
+ "stencilFunc": {},
+ "stencilFuncSeparate": {},
+ "stencilMask": {},
+ "stencilMaskSeparate": {},
+ "stencilOp": {},
+ "stencilOpSeparate": {},
+ "texImage2D": {},
+ "texParameterf": {},
+ "texParameteri": {},
+ "texSubImage2D": {},
+ "uniform1f": {},
+ "uniform1fv": {},
+ "uniform1i": {},
+ "uniform1iv": {},
+ "uniform2f": {},
+ "uniform2fv": {},
+ "uniform2i": {},
+ "uniform2iv": {},
+ "uniform3f": {},
+ "uniform3fv": {},
+ "uniform3i": {},
+ "uniform3iv": {},
+ "uniform4f": {},
+ "uniform4fv": {},
+ "uniform4i": {},
+ "uniform4iv": {},
+ "uniformMatrix2fv": {},
+ "uniformMatrix3fv": {},
+ "uniformMatrix4fv": {},
+ "useProgram": {},
+ "validateProgram": {},
+ "vertexAttrib1f": {},
+ "vertexAttrib1fv": {},
+ "vertexAttrib2f": {},
+ "vertexAttrib2fv": {},
+ "vertexAttrib3f": {},
+ "vertexAttrib3fv": {},
+ "vertexAttrib4f": {},
+ "vertexAttrib4fv": {},
+ "vertexAttribPointer": {},
+ "viewport": {}
+ },
+ "support_level": "stable"
+ },
+ "WebGLShader": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.8",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLShaderPrecisionFormat": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.12",
+ "members": {
+ "precision": {},
+ "rangeMax": {},
+ "rangeMin": {}
+ },
+ "support_level": "stable"
+ },
+ "WebGLTexture": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.9",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLUniformLocation": {
+ "comment": "http://www.khronos.org/registry/webgl/specs/latest/#5.10",
+ "members": {},
+ "support_level": "stable"
+ },
+ "WebGLVertexArrayObjectOES": {
+ "comment": "http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/",
+ "dart_action": "experimental",
+ "members": {},
+ "support_level": "experimental"
+ },
+ "WebKitAnimationEvent": {
+ "comment": "http://www.w3.org/TR/css3-animations/#AnimationEvent-interface",
+ "dart_action": "suppress",
+ "members": {
+ "animationName": {},
+ "elapsedTime": {}
+ },
+ "support_level": "deprecated"
+ },
+ "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": {},
+ "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": {
+ "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": {},
+ "operationType": {}
+ },
+ "support_level": "deprecated"
+ },
+ "WebKitNamedFlow": {
+ "comment": "http://www.w3.org/TR/css3-regions/#dom-named-flow-collection",
+ "dart_action": "suppress",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "firstEmptyRegionIndex": {},
+ "getContent": {},
+ "getRegions": {},
+ "getRegionsByContent": {},
+ "name": {},
+ "overset": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "WebKitNamedFlowCollection": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "WebKitPoint": {
+ "comment": "http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html",
+ "dart_action": "private",
+ "members": {
+ "x": {},
+ "y": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "WebKitTransitionEvent": {
+ "comment": "http://dev.w3.org/csswg/css-transitions/#Events-TransitionEvent",
+ "dart_action": "suppress",
+ "members": {
+ "elapsedTime": {},
+ "propertyName": {},
+ "pseudoElement": {}
+ },
+ "support_level": "deprecated"
+ },
+ "WebSocket": {
+ "comment": "http://www.w3.org/TR/websockets/#the-websocket-interface",
+ "dart_action": "unstable",
+ "members": {
+ "CLOSED": {},
+ "CLOSING": {},
+ "CONNECTING": {},
+ "OPEN": {},
+ "URL": {
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "WebSocket": {},
+ "addEventListener": {},
+ "binaryType": {},
+ "bufferedAmount": {},
+ "close": {},
+ "dispatchEvent": {},
+ "extensions": {},
+ "onclose": {},
+ "onerror": {},
+ "onmessage": {},
+ "onopen": {},
+ "protocol": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "send": {},
+ "url": {}
+ },
+ "support_level": "stable"
+ },
+ "WheelEvent": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents",
+ "members": {
+ "DOM_DELTA_LINE": {},
+ "DOM_DELTA_PAGE": {},
+ "DOM_DELTA_PIXEL": {},
+ "deltaMode": {},
+ "initWebKitWheelEvent": {
+ "dart_action": "default",
+ "support_level": "experimental"
+ },
+ "webkitDirectionInvertedFromDevice": {
+ "support_level": "experimental"
+ },
+ "wheelDelta": {
+ "support_level": "nonstandard"
+ },
+ "wheelDeltaX": {
+ "support_level": "nonstandard"
+ },
+ "wheelDeltaY": {
+ "support_level": "nonstandard"
+ }
+ },
+ "support_level": "stable"
+ },
+ "Window": {
+ "members": {},
+ "support_level": "untriaged"
+ },
+ "Worker": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker",
+ "dart_action": "experimental",
+ "members": {
+ "Worker": {},
+ "onmessage": {},
+ "postMessage": {},
+ "terminate": {}
+ },
+ "support_level": "stable"
+ },
+ "WorkerContext": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#WorkerGlobalScope-partial",
+ "dart_action": "experimental",
+ "members": {
+ "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"
+ },
+ "addEventListener": {},
+ "clearInterval": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#windowtimers"
+ },
+ "clearTimeout": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#windowtimers"
+ },
+ "close": {},
+ "dispatchEvent": {},
+ "importScripts": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#WorkerGlobalScope-partial"
+ },
+ "indexedDB": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBEnvironment"
+ },
+ "location": {},
+ "navigator": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#WorkerGlobalScope-partial"
+ },
+ "onerror": {},
+ "openDatabase": {
+ "comment": "http://www.w3.org/TR/webdatabase/",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "openDatabaseSync": {
+ "comment": "http://www.w3.org/TR/webdatabase/",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "removeEventListener": {},
+ "self": {},
+ "setInterval": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#windowtimers"
+ },
+ "setTimeout": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#windowtimers"
+ },
+ "webkitIndexedDB": {
+ "comment": "http://www.w3.org/TR/IndexedDB/#idl-def-IDBEnvironment",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitNotifications": {
+ "comment": "https://plus.sandbox.google.com/u/0/+GoogleChromeDevelopers/posts/8vWo8hq4pDm?e=Showroom",
+ "dart_action": "suppress",
+ "support_level": "deprecated"
+ },
+ "webkitRequestFileSystem": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ },
+ "webkitRequestFileSystemSync": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystemSync",
+ "support_level": "experimental"
+ },
+ "webkitResolveLocalFileSystemSyncURL": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystemSync",
+ "support_level": "experimental"
+ },
+ "webkitResolveLocalFileSystemURL": {
+ "comment": "http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem",
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "stable"
+ },
+ "WorkerLocation": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerlocation",
+ "dart_action": "default",
+ "members": {
+ "hash": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "host": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "hostname": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "href": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "pathname": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "port": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "protocol": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "search": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ },
+ "toString": {
+ "comment": "http://url.spec.whatwg.org/#urlutils"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "WorkerNavigator": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workernavigator",
+ "members": {
+ "appName": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "appVersion": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "onLine": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#navigatoronline"
+ },
+ "platform": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "userAgent": {
+ "comment": "http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorid"
+ },
+ "webkitPersistentStorage": {
+ "comment": "http://www.w3.org/TR/quota-api/#accessing-storagequota",
+ "support_level": "experimental"
+ },
+ "webkitTemporaryStorage": {
+ "support_level": "experimental"
+ }
+ },
+ "support_level": "experimental"
+ },
+ "XMLHttpRequest": {
+ "comment": "http://xhr.spec.whatwg.org/#interface-xmlhttprequest",
+ "members": {
+ "DONE": {},
+ "HEADERS_RECEIVED": {},
+ "LOADING": {},
+ "OPENED": {},
+ "UNSENT": {},
+ "XMLHttpRequest": {},
+ "abort": {},
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "getAllResponseHeaders": {
+ "dart_action": "unstable"
+ },
+ "getResponseHeader": {
+ "dart_action": "unstable"
+ },
+ "onabort": {},
+ "onerror": {},
+ "onload": {},
+ "onloadend": {},
+ "onloadstart": {},
+ "onprogress": {},
+ "onreadystatechange": {},
+ "open": {},
+ "overrideMimeType": {},
+ "readyState": {},
+ "removeEventListener": {},
+ "response": {},
+ "responseText": {},
+ "responseType": {},
+ "responseXML": {},
+ "send": {},
+ "setRequestHeader": {},
+ "status": {},
+ "statusText": {},
+ "upload": {
+ "dart_action": "unstable"
+ },
+ "withCredentials": {}
+ },
+ "support_level": "stable"
+ },
+ "XMLHttpRequestException": {
+ "comment": "http://www.w3.org/TR/2007/WD-XMLHttpRequest-20070227/#exceptions",
+ "dart_action": "experimental",
+ "members": {
+ "ABORT_ERR": {
+ "support_level": "nonstandard"
+ },
+ "NETWORK_ERR": {},
+ "code": {},
+ "message": {
+ "support_level": "nonstandard"
+ },
+ "name": {
+ "support_level": "nonstandard"
+ },
+ "toString": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "XMLHttpRequestProgressEvent": {
+ "dart_action": "experimental",
+ "members": {
+ "position": {},
+ "totalSize": {}
+ },
+ "support_level": "nonstandard"
+ },
+ "XMLHttpRequestUpload": {
+ "comment": "http://xhr.spec.whatwg.org/#xmlhttprequestupload",
+ "members": {
+ "addEventListener": {},
+ "dispatchEvent": {},
+ "onabort": {},
+ "onerror": {},
+ "onload": {},
+ "onloadend": {},
+ "onloadstart": {},
+ "onprogress": {},
+ "removeEventListener": {}
+ },
+ "support_level": "experimental"
+ },
+ "XMLSerializer": {
+ "comment": "http://domparsing.spec.whatwg.org/#the-xmlserializer-interface",
+ "dart_action": "suppress",
+ "members": {
+ "XMLSerializer": {},
+ "serializeToString": {}
+ },
+ "support_level": "stable"
+ },
+ "XPathEvaluator": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator",
+ "dart_action": "suppress",
+ "members": {
+ "XPathEvaluator": {},
+ "createExpression": {},
+ "createNSResolver": {},
+ "evaluate": {}
+ },
+ "support_level": "experimental"
+ },
+ "XPathException": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException",
+ "dart_action": "suppress",
+ "members": {
+ "INVALID_EXPRESSION_ERR": {},
+ "TYPE_ERR": {},
+ "code": {},
+ "message": {
+ "support_level": "nonstandard"
+ },
+ "name": {
+ "support_level": "nonstandard"
+ },
+ "toString": {}
+ },
+ "support_level": "experimental"
+ },
+ "XPathExpression": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression",
+ "dart_action": "suppress",
+ "members": {
+ "evaluate": {}
+ },
+ "support_level": "experimental"
+ },
+ "XPathNSResolver": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver",
+ "dart_action": "suppress",
+ "members": {
+ "lookupNamespaceURI": {}
+ },
+ "support_level": "experimental"
+ },
+ "XPathResult": {
+ "comment": "http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult",
+ "dart_action": "suppress",
+ "members": {
+ "ANY_TYPE": {},
+ "ANY_UNORDERED_NODE_TYPE": {},
+ "BOOLEAN_TYPE": {},
+ "FIRST_ORDERED_NODE_TYPE": {},
+ "NUMBER_TYPE": {},
+ "ORDERED_NODE_ITERATOR_TYPE": {},
+ "ORDERED_NODE_SNAPSHOT_TYPE": {},
+ "STRING_TYPE": {},
+ "UNORDERED_NODE_ITERATOR_TYPE": {},
+ "UNORDERED_NODE_SNAPSHOT_TYPE": {},
+ "booleanValue": {},
+ "invalidIteratorState": {},
+ "iterateNext": {},
+ "numberValue": {},
+ "resultType": {},
+ "singleNodeValue": {},
+ "snapshotItem": {},
+ "snapshotLength": {},
+ "stringValue": {}
+ },
+ "support_level": "experimental"
+ },
+ "XSLTProcessor": {
+ "dart_action": "suppress",
+ "members": {
+ "XSLTProcessor": {},
+ "clearParameters": {},
+ "getParameter": {},
+ "importStylesheet": {},
+ "removeParameter": {},
+ "reset": {},
+ "setParameter": {},
+ "transformToDocument": {},
+ "transformToFragment": {}
+ },
+ "support_level": "nonstandard"
+ }
+}
\ No newline at end of file
diff --git a/tools/dom/scripts/dartdomgenerator.py b/tools/dom/scripts/dartdomgenerator.py
index 914b7ca..1292920 100755
--- a/tools/dom/scripts/dartdomgenerator.py
+++ b/tools/dom/scripts/dartdomgenerator.py
@@ -16,6 +16,7 @@
import shutil
import subprocess
import sys
+from dartmetadata import DartMetadata
from generator import TypeRegistry
from htmleventgenerator import HtmlEventGenerator
from htmlrenamer import HtmlRenamer
@@ -31,11 +32,13 @@
_logger = logging.getLogger('dartdomgenerator')
class GeneratorOptions(object):
- def __init__(self, templates, database, type_registry, renamer):
+ def __init__(self, templates, database, type_registry, renamer,
+ metadata):
self.templates = templates
self.database = database
self.type_registry = type_registry
self.renamer = renamer
+ self.metadata = metadata;
def LoadDatabase(database_dir, use_database_cache):
common_database = database.Database(database_dir)
@@ -68,14 +71,18 @@
emitters = multiemitter.MultiEmitter()
renamer = HtmlRenamer(webkit_database)
type_registry = TypeRegistry(webkit_database, renamer)
+ metadata = DartMetadata(
+ os.path.join(current_dir, '..', 'dom.json'),
+ os.path.join(current_dir, '..', 'docs', 'docs.json'))
def RunGenerator(dart_libraries, dart_output_dir,
template_loader, backend_factory):
options = GeneratorOptions(
- template_loader, webkit_database, type_registry, renamer)
+ template_loader, webkit_database, type_registry, renamer,
+ metadata)
dart_library_emitter = DartLibraryEmitter(
emitters, dart_output_dir, dart_libraries)
- event_generator = HtmlEventGenerator(webkit_database, renamer,
+ event_generator = HtmlEventGenerator(webkit_database, renamer, metadata,
template_loader)
def generate_interface(interface):
@@ -94,7 +101,8 @@
template_paths,
{'DARTIUM': False, 'DART2JS': True})
backend_options = GeneratorOptions(
- template_loader, webkit_database, type_registry, renamer)
+ template_loader, webkit_database, type_registry, renamer,
+ metadata)
backend_factory = lambda interface:\
Dart2JSBackend(interface, backend_options)
@@ -111,7 +119,8 @@
template_paths,
{'DARTIUM': True, 'DART2JS': False})
backend_options = GeneratorOptions(
- template_loader, webkit_database, type_registry, renamer)
+ template_loader, webkit_database, type_registry, renamer,
+ metadata)
cpp_output_dir = os.path.join(dartium_output_dir, 'cpp')
cpp_library_emitter = CPPLibraryEmitter(emitters, cpp_output_dir)
backend_factory = lambda interface:\
@@ -131,6 +140,7 @@
_logger.info('Flush...')
emitters.Flush()
+ metadata.Flush()
monitored.FinishMonitoring(dart2js_output_dir)
diff --git a/tools/dom/scripts/dartmetadata.py b/tools/dom/scripts/dartmetadata.py
new file mode 100644
index 0000000..ddb441c
--- /dev/null
+++ b/tools/dom/scripts/dartmetadata.py
@@ -0,0 +1,568 @@
+#!/usr/bin/python
+# 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.
+
+"""This module provides shared functionality to provide Dart metadata for
+DOM APIs.
+"""
+
+import copy
+import json
+import logging
+import monitored
+import os
+import re
+from generator import ConstantOutputOrder
+from htmlrenamer import renamed_html_members
+
+_logger = logging.getLogger('DartMetadata')
+
+# Annotations to be placed on native members. The table is indexed by the IDL
+# interface and member name, and by IDL return or field type name. Both are
+# used to assemble the annotations:
+#
+# INTERFACE.MEMBER: annotations for member.
+# +TYPE: add annotations only if there are member annotations.
+# -TYPE: add annotations only if there are no member annotations.
+# TYPE: add regardless of member annotations.
+
+_dart2js_annotations = monitored.Dict('dartmetadata._dart2js_annotations', {
+
+ 'ArrayBufferView': [
+ "@Creates('TypedData')",
+ "@Returns('TypedData|Null')",
+ ],
+
+ 'CanvasRenderingContext2D.createImageData': [
+ "@Creates('ImageData|=Object')",
+ ],
+
+ 'CanvasRenderingContext2D.getImageData': [
+ "@Creates('ImageData|=Object')",
+ ],
+
+ 'CanvasRenderingContext2D.webkitGetImageDataHD': [
+ "@Creates('ImageData|=Object')",
+ ],
+
+ 'CanvasRenderingContext2D.fillStyle': [
+ "@Creates('String|CanvasGradient|CanvasPattern')",
+ "@Returns('String|CanvasGradient|CanvasPattern')",
+ ],
+
+ 'CanvasRenderingContext2D.strokeStyle': [
+ "@Creates('String|CanvasGradient|CanvasPattern')",
+ "@Returns('String|CanvasGradient|CanvasPattern')",
+ ],
+
+ # Methods returning Window can return a local window, or a cross-frame
+ # window (=Object) that needs wrapping.
+ 'DOMWindow': [
+ "@Creates('Window|=Object')",
+ "@Returns('Window|=Object')",
+ ],
+
+ 'DOMWindow.openDatabase': [
+ "@Creates('SqlDatabase')",
+ ],
+
+ # To be in callback with the browser-created Event, we had to have called
+ # addEventListener on the target, so we avoid
+ 'Event.currentTarget': [
+ "@Creates('Null')",
+ "@Returns('EventTarget|=Object')",
+ ],
+
+ # Only nodes in the DOM bubble and have target !== currentTarget.
+ 'Event.target': [
+ "@Creates('Node')",
+ "@Returns('EventTarget|=Object')",
+ ],
+
+ 'MouseEvent.relatedTarget': [
+ "@Creates('Node')",
+ "@Returns('EventTarget|=Object')",
+ ],
+
+ # Touch targets are Elements in a Document, or the Document.
+ 'Touch.target': [
+ "@Creates('Element|Document')",
+ "@Returns('Element|Document')",
+ ],
+
+ 'FileReader.result': ["@Creates('String|ByteBuffer|Null')"],
+
+ # Rather than have the result of an IDBRequest as a union over all possible
+ # results, we mark the result as instantiating any classes, and mark
+ # each operation with the classes that it could cause to be asynchronously
+ # instantiated.
+ 'IDBRequest.result': ["@Creates('Null')"],
+
+ # The source is usually a participant in the operation that generated the
+ # IDBRequest.
+ 'IDBRequest.source': ["@Creates('Null')"],
+
+ 'IDBFactory.open': ["@Creates('Database')"],
+ 'IDBFactory.webkitGetDatabaseNames': ["@Creates('DomStringList')"],
+
+ 'IDBObjectStore.put': ["@_annotation_Creates_IDBKey"],
+ 'IDBObjectStore.add': ["@_annotation_Creates_IDBKey"],
+ 'IDBObjectStore.get': ["@annotation_Creates_SerializedScriptValue"],
+ 'IDBObjectStore.openCursor': ["@Creates('Cursor')"],
+
+ 'IDBIndex.get': ["@annotation_Creates_SerializedScriptValue"],
+ 'IDBIndex.getKey': [
+ "@annotation_Creates_SerializedScriptValue",
+ # The source is the object store behind the index.
+ "@Creates('ObjectStore')",
+ ],
+ 'IDBIndex.openCursor': ["@Creates('Cursor')"],
+ 'IDBIndex.openKeyCursor': ["@Creates('Cursor')"],
+
+ 'IDBCursorWithValue.value': [
+ '@annotation_Creates_SerializedScriptValue',
+ '@annotation_Returns_SerializedScriptValue',
+ ],
+
+ 'IDBCursor.key': [
+ "@_annotation_Creates_IDBKey",
+ "@_annotation_Returns_IDBKey",
+ ],
+
+ '+IDBRequest': [
+ "@Returns('Request')",
+ "@Creates('Request')",
+ ],
+
+ '+IDBOpenDBRequest': [
+ "@Returns('Request')",
+ "@Creates('Request')",
+ ],
+
+ 'MessageEvent.ports': ["@Creates('=List')"],
+
+ 'MessageEvent.data': [
+ "@annotation_Creates_SerializedScriptValue",
+ "@annotation_Returns_SerializedScriptValue",
+ ],
+ 'PopStateEvent.state': [
+ "@annotation_Creates_SerializedScriptValue",
+ "@annotation_Returns_SerializedScriptValue",
+ ],
+ 'SerializedScriptValue': [
+ "@annotation_Creates_SerializedScriptValue",
+ "@annotation_Returns_SerializedScriptValue",
+ ],
+
+ 'SQLResultSetRowList.item': ["@Creates('=Object')"],
+
+ 'WebGLRenderingContext.getParameter': [
+ # Taken from http://www.khronos.org/registry/webgl/specs/latest/
+ # Section 5.14.3 Setting and getting state
+ "@Creates('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
+ "|Framebuffer|Renderbuffer|Texture')",
+ "@Returns('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
+ "|Framebuffer|Renderbuffer|Texture')",
+ ],
+
+ 'XMLHttpRequest.response': [
+ "@Creates('ByteBuffer|Blob|Document|=Object|=List|String|num')",
+ ],
+}, dart2jsOnly=True)
+
+_indexed_db_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX, '15')",
+ "@SupportedBrowser(SupportedBrowser.IE, '10')",
+ "@Experimental",
+]
+
+_file_system_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@Experimental",
+]
+
+_all_but_ie9_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.IE, '10')",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+]
+
+_history_annotations = _all_but_ie9_annotations
+
+_no_ie_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+]
+
+_performance_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.IE)",
+]
+
+_rtc_annotations = [ # Note: Firefox nightly builds also support this.
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@Experimental",
+]
+
+_shadow_dom_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME, '26')",
+ "@Experimental",
+]
+
+_speech_recognition_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME, '25')",
+ "@Experimental",
+]
+
+_svg_annotations = _all_but_ie9_annotations;
+
+_web_sql_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ "@Experimental",
+]
+
+_webgl_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@Experimental",
+]
+
+_webkit_experimental_annotations = [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ "@Experimental",
+]
+
+# Annotations to be placed on generated members.
+# The table is indexed as:
+# INTERFACE: annotations to be added to the interface declaration
+# INTERFACE.MEMBER: annotation to be added to the member declaration
+_annotations = monitored.Dict('dartmetadata._annotations', {
+ 'CSSHostRule': _shadow_dom_annotations,
+ 'Crypto': _webkit_experimental_annotations,
+ 'Database': _web_sql_annotations,
+ 'DatabaseSync': _web_sql_annotations,
+ 'DOMApplicationCache': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.IE, '10')",
+ "@SupportedBrowser(SupportedBrowser.OPERA)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+ 'DOMFileSystem': _file_system_annotations,
+ 'DOMFileSystemSync': _file_system_annotations,
+ 'DOMWindow.webkitConvertPointFromNodeToPage': _webkit_experimental_annotations,
+ 'DOMWindow.webkitConvertPointFromPageToNode': _webkit_experimental_annotations,
+ 'DOMWindow.indexedDB': _indexed_db_annotations,
+ 'DOMWindow.openDatabase': _web_sql_annotations,
+ 'DOMWindow.performance': _performance_annotations,
+ 'DOMWindow.webkitNotifications': _webkit_experimental_annotations,
+ 'DOMWindow.webkitRequestFileSystem': _file_system_annotations,
+ 'DOMWindow.webkitResolveLocalFileSystemURL': _file_system_annotations,
+ 'Element.onwebkitTransitionEnd': _all_but_ie9_annotations,
+ # Placeholder to add experimental flag, implementation for this is
+ # pending in a separate CL.
+ 'Element.webkitMatchesSelector': ['@Experimental()'],
+ 'Element.webkitCreateShadowRoot': [
+ "@SupportedBrowser(SupportedBrowser.CHROME, '25')",
+ "@Experimental",
+ ],
+ 'Event.clipboardData': _webkit_experimental_annotations,
+ 'FormData': _all_but_ie9_annotations,
+ 'HashChangeEvent': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+ 'History.pushState': _history_annotations,
+ 'History.replaceState': _history_annotations,
+ 'HTMLContentElement': _shadow_dom_annotations,
+ 'HTMLDataListElement': _all_but_ie9_annotations,
+ 'HTMLDetailsElement': _webkit_experimental_annotations,
+ 'HTMLEmbedElement': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.IE)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+ 'HTMLKeygenElement': _webkit_experimental_annotations,
+ 'HTMLMeterElement': _no_ie_annotations,
+ 'HTMLObjectElement': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.IE)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+ 'HTMLOutputElement': _no_ie_annotations,
+ 'HTMLProgressElement': _all_but_ie9_annotations,
+ 'HTMLShadowElement': _shadow_dom_annotations,
+ 'HTMLTrackElement': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.IE, '10')",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+ 'IDBFactory': _indexed_db_annotations,
+ 'IDBDatabase': _indexed_db_annotations,
+ 'LocalMediaStream': _rtc_annotations,
+ 'MediaStream': _rtc_annotations,
+ 'MediaStreamEvent': _rtc_annotations,
+ 'MediaStreamTrack': _rtc_annotations,
+ 'MediaStreamTrackEvent': _rtc_annotations,
+ 'MutationObserver': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ "@Experimental",
+ ],
+ 'NotificationCenter': _webkit_experimental_annotations,
+ 'Performance': _performance_annotations,
+ 'PopStateEvent': _history_annotations,
+ 'RTCIceCandidate': _rtc_annotations,
+ 'RTCPeerConnection': _rtc_annotations,
+ 'RTCSessionDescription': _rtc_annotations,
+ 'ShadowRoot': _shadow_dom_annotations,
+ 'SpeechRecognition': _speech_recognition_annotations,
+ 'SpeechRecognitionAlternative': _speech_recognition_annotations,
+ 'SpeechRecognitionError': _speech_recognition_annotations,
+ 'SpeechRecognitionEvent': _speech_recognition_annotations,
+ 'SpeechRecognitionResult': _speech_recognition_annotations,
+ 'SVGAltGlyphElement': _no_ie_annotations,
+ 'SVGAnimateElement': _no_ie_annotations,
+ 'SVGAnimateMotionElement': _no_ie_annotations,
+ 'SVGAnimateTransformElement': _no_ie_annotations,
+ 'SVGFEBlendElement': _svg_annotations,
+ 'SVGFEColorMatrixElement': _svg_annotations,
+ 'SVGFEComponentTransferElement': _svg_annotations,
+ 'SVGFEConvolveMatrixElement': _svg_annotations,
+ 'SVGFEDiffuseLightingElement': _svg_annotations,
+ 'SVGFEDisplacementMapElement': _svg_annotations,
+ 'SVGFEDistantLightElement': _svg_annotations,
+ 'SVGFEFloodElement': _svg_annotations,
+ 'SVGFEFuncAElement': _svg_annotations,
+ 'SVGFEFuncBElement': _svg_annotations,
+ 'SVGFEFuncGElement': _svg_annotations,
+ 'SVGFEFuncRElement': _svg_annotations,
+ 'SVGFEGaussianBlurElement': _svg_annotations,
+ 'SVGFEImageElement': _svg_annotations,
+ 'SVGFEMergeElement': _svg_annotations,
+ 'SVGFEMergeNodeElement': _svg_annotations,
+ 'SVGFEMorphologyElement': _svg_annotations,
+ 'SVGFEOffsetElement': _svg_annotations,
+ 'SVGFEPointLightElement': _svg_annotations,
+ 'SVGFESpecularLightingElement': _svg_annotations,
+ 'SVGFESpotLightElement': _svg_annotations,
+ 'SVGFETileElement': _svg_annotations,
+ 'SVGFETurbulenceElement': _svg_annotations,
+ 'SVGFilterElement': _svg_annotations,
+ 'SVGForeignObjectElement': _no_ie_annotations,
+ 'SVGSetElement': _no_ie_annotations,
+ 'SQLTransaction': _web_sql_annotations,
+ 'SQLTransactionSync': _web_sql_annotations,
+ 'WebGLRenderingContext': _webgl_annotations,
+ 'WebKitCSSMatrix': _webkit_experimental_annotations,
+ 'WebKitPoint': _webkit_experimental_annotations,
+ 'WebSocket': _all_but_ie9_annotations,
+ 'Worker': _all_but_ie9_annotations,
+ 'XMLHttpRequest.onloadend': _all_but_ie9_annotations,
+ 'XMLHttpRequest.onprogress': _all_but_ie9_annotations,
+ 'XMLHttpRequest.response': _all_but_ie9_annotations,
+ 'XMLHttpRequestProgressEvent': _webkit_experimental_annotations,
+ 'XSLTProcessor': [
+ "@SupportedBrowser(SupportedBrowser.CHROME)",
+ "@SupportedBrowser(SupportedBrowser.FIREFOX)",
+ "@SupportedBrowser(SupportedBrowser.SAFARI)",
+ ],
+})
+
+
+class DartMetadata(object):
+ def __init__(self, api_status_path, doc_comments_path):
+ self._api_status_path = api_status_path
+ status_file = open(self._api_status_path, 'r+')
+ self._types = json.load(status_file)
+ status_file.close()
+
+ comments_file = open(doc_comments_path, 'r+')
+ self._doc_comments = json.load(comments_file)
+ comments_file.close()
+
+ def GetFormattedMetadata(self, library_name, interface_name, member_id=None,
+ indentation=''):
+ """ Gets all comments and annotations for an interface or member.
+ """
+ return self.FormatMetadata(
+ self.GetMetadata(library_name, interface_name, member_id),
+ indentation)
+
+ def GetMetadata(self, library_name, interface_name,
+ member_name=None, source_member_name=None):
+ """ Gets all comments and annotations for an interface or member.
+
+ Args:
+ source_member_name: If the member is dependent on a different member
+ then this is used to apply the support annotations from the other
+ member.
+ """
+ annotations = self._GetComments(library_name, interface_name, member_name)
+ annotations = annotations + self._GetCommonAnnotations(
+ interface_name, member_name, source_member_name)
+
+ return annotations
+
+ def GetDart2JSMetadata(self, idl_type, library_name,
+ interface_name, member_name,):
+ """ Gets all annotations for Dart2JS members- including annotations for
+ both dart2js and dartium.
+ """
+ annotations = self.GetMetadata(library_name, interface_name, member_name)
+
+ ann2 = self._GetDart2JSSpecificAnnotations(idl_type, interface_name, member_name)
+ if ann2:
+ if annotations:
+ annotations.extend(ann2)
+ else:
+ annotations = ann2
+ return annotations
+
+ def _GetCommonAnnotations(self, interface_name, member_name=None,
+ source_member_name=None):
+ if member_name:
+ key = '%s.%s' % (interface_name, member_name)
+ else:
+ key = interface_name
+
+ annotations = ["@DomName('" + key + "')"]
+
+ # Only add this for members, so we don't add DocsEditable to templated
+ # classes (they get it from the default class template)
+ if member_name:
+ annotations.append('@DocsEditable');
+
+ if key in _annotations:
+ annotations.extend(_annotations[key])
+
+ if (member_name and member_name.startswith('webkit') and
+ key not in renamed_html_members):
+ annotations.extend(_webkit_experimental_annotations)
+
+ if source_member_name:
+ member_name = source_member_name
+
+ # TODO(blois): Emit support level annotations
+ self._GetSupportLevelAnnotation(interface_name, member_name)
+
+ return annotations
+
+ def _GetComments(self, library_name, interface_name, member_name=None):
+ """ Gets all comments for the interface or member and returns a list. """
+
+ # Add documentation from JSON.
+ comments = []
+ library_name = 'dart.dom.%s' % library_name
+ if library_name in self._doc_comments:
+ library_info = self._doc_comments[library_name]
+ if interface_name in library_info:
+ interface_info = library_info[interface_name]
+ if member_name:
+ if 'members' in interface_info and member_name in interface_info['members']:
+ comments = interface_info['members'][member_name]
+ elif 'comment' in interface_info:
+ comments = interface_info['comment']
+
+ if comments:
+ comments = ['\n'.join(comments)]
+
+ return comments
+
+
+ def AnyConversionAnnotations(self, idl_type, interface_name, member_name):
+ if (_annotations.get('%s.%s' % (interface_name, member_name)) or
+ self._GetDart2JSSpecificAnnotations(idl_type, interface_name, member_name)):
+ return True
+ else:
+ return False
+
+ def FormatMetadata(self, metadata, indentation):
+ if metadata:
+ newline = '\n%s' % indentation
+ result = newline.join(metadata) + newline
+ return result
+ return ''
+
+ def _GetDart2JSSpecificAnnotations(self, idl_type, interface_name, member_name):
+ """ Finds dart2js-specific annotations. This does not include ones shared with
+ dartium.
+ """
+ ann1 = _dart2js_annotations.get("%s.%s" % (interface_name, member_name))
+ if ann1:
+ ann2 = _dart2js_annotations.get('+' + idl_type)
+ if ann2:
+ return ann2 + ann1
+ ann2 = _dart2js_annotations.get(idl_type)
+ if ann2:
+ return ann2 + ann1
+ return ann1
+
+ ann2 = _dart2js_annotations.get('-' + idl_type)
+ if ann2:
+ return ann2
+ ann2 = _dart2js_annotations.get(idl_type)
+ return ann2
+
+ def _GetSupportLevel(self, interface_id, member_id=None):
+ """ Looks up the interface or member in the DOM status list and returns the
+ support level for it.
+ """
+ if interface_id in self._types:
+ type_info = self._types[interface_id]
+ else:
+ type_info = {
+ 'members': {},
+ 'support_level': 'untriaged',
+ }
+ self._types[interface_id] = type_info
+
+ if not member_id:
+ return type_info.get('support_level')
+
+ members = type_info['members']
+
+ if member_id in members:
+ member_info = members[member_id]
+ else:
+ if member_id == interface_id:
+ member_info = {}
+ else:
+ member_info = {'support_level': 'untriaged'}
+ members[member_id] = member_info
+
+ support_level = member_info.get('support_level')
+ # If unset then it inherits from the type.
+ if not support_level:
+ support_level = type_info.get('support_level')
+ return support_level
+
+ def _GetSupportLevelAnnotation(self, interface_id, member_id=None):
+ support_level = self._GetSupportLevel(interface_id, member_id)
+
+ if support_level == 'untriaged':
+ return '@Experimental'
+ elif support_level == 'experimental':
+ return '@Experimental'
+ elif support_level == 'nonstandard':
+ return '@Experimental'
+ elif support_level == 'stable':
+ return
+ elif support_level == 'deprecated':
+ return '@Deprecated'
+ else:
+ _logger.warn('Unknown support_level - %s:%s' % (interface.id, member_id))
+
+ def Flush(self):
+ json_file = open(self._api_status_path, 'w+')
+ json.dump(self._types, json_file, indent=2, separators=(',', ': '), sort_keys=True)
+ json_file.close()
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 4ace8f6..c36ec9c 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -14,11 +14,6 @@
from htmlrenamer import html_interface_renames, renamed_html_members, \
typed_array_renames
-# Set up json file for retrieving comments.
-_current_dir = os.path.dirname(__file__)
-_json_path = os.path.join(_current_dir, '..', 'docs', 'docs.json')
-_dom_json = json.load(open(_json_path))
-
_pure_interfaces = monitored.Set('generator._pure_interfaces', [
# TODO(sra): DOMStringMap should be a class implementing Map<String,String>.
'DOMStringMap',
@@ -532,467 +527,6 @@
table.get('%s %s' % (idl_type, direction)))
return None
-# ------------------------------------------------------------------------------
-
-# Annotations to be placed on native members. The table is indexed by the IDL
-# interface and member name, and by IDL return or field type name. Both are
-# used to assemble the annotations:
-#
-# INTERFACE.MEMBER: annotations for member.
-# +TYPE: add annotations only if there are member annotations.
-# -TYPE: add annotations only if there are no member annotations.
-# TYPE: add regardless of member annotations.
-
-dart2js_annotations = monitored.Dict('generator.dart2js_annotations', {
-
- 'ArrayBufferView': [
- "@Creates('TypedData')",
- "@Returns('TypedData|Null')",
- ],
-
- 'CanvasRenderingContext2D.createImageData': [
- "@Creates('ImageData|=Object')",
- ],
-
- 'CanvasRenderingContext2D.getImageData': [
- "@Creates('ImageData|=Object')",
- ],
-
- 'CanvasRenderingContext2D.webkitGetImageDataHD': [
- "@Creates('ImageData|=Object')",
- ],
-
- 'CanvasRenderingContext2D.fillStyle': [
- "@Creates('String|CanvasGradient|CanvasPattern')",
- "@Returns('String|CanvasGradient|CanvasPattern')",
- ],
-
- 'CanvasRenderingContext2D.strokeStyle': [
- "@Creates('String|CanvasGradient|CanvasPattern')",
- "@Returns('String|CanvasGradient|CanvasPattern')",
- ],
-
- # Methods returning Window can return a local window, or a cross-frame
- # window (=Object) that needs wrapping.
- 'DOMWindow': [
- "@Creates('Window|=Object')",
- "@Returns('Window|=Object')",
- ],
-
- 'DOMWindow.openDatabase': [
- "@Creates('SqlDatabase')",
- ],
-
- # To be in callback with the browser-created Event, we had to have called
- # addEventListener on the target, so we avoid
- 'Event.currentTarget': [
- "@Creates('Null')",
- "@Returns('EventTarget|=Object')",
- ],
-
- # Only nodes in the DOM bubble and have target !== currentTarget.
- 'Event.target': [
- "@Creates('Node')",
- "@Returns('EventTarget|=Object')",
- ],
-
- 'MouseEvent.relatedTarget': [
- "@Creates('Node')",
- "@Returns('EventTarget|=Object')",
- ],
-
- # Touch targets are Elements in a Document, or the Document.
- 'Touch.target': [
- "@Creates('Element|Document')",
- "@Returns('Element|Document')",
- ],
-
- 'FileReader.result': ["@Creates('String|ByteBuffer|Null')"],
-
- # Rather than have the result of an IDBRequest as a union over all possible
- # results, we mark the result as instantiating any classes, and mark
- # each operation with the classes that it could cause to be asynchronously
- # instantiated.
- 'IDBRequest.result': ["@Creates('Null')"],
-
- # The source is usually a participant in the operation that generated the
- # IDBRequest.
- 'IDBRequest.source': ["@Creates('Null')"],
-
- 'IDBFactory.open': ["@Creates('Database')"],
- 'IDBFactory.webkitGetDatabaseNames': ["@Creates('DomStringList')"],
-
- 'IDBObjectStore.put': ["@_annotation_Creates_IDBKey"],
- 'IDBObjectStore.add': ["@_annotation_Creates_IDBKey"],
- 'IDBObjectStore.get': ["@annotation_Creates_SerializedScriptValue"],
- 'IDBObjectStore.openCursor': ["@Creates('Cursor')"],
-
- 'IDBIndex.get': ["@annotation_Creates_SerializedScriptValue"],
- 'IDBIndex.getKey': [
- "@annotation_Creates_SerializedScriptValue",
- # The source is the object store behind the index.
- "@Creates('ObjectStore')",
- ],
- 'IDBIndex.openCursor': ["@Creates('Cursor')"],
- 'IDBIndex.openKeyCursor': ["@Creates('Cursor')"],
-
- 'IDBCursorWithValue.value': [
- '@annotation_Creates_SerializedScriptValue',
- '@annotation_Returns_SerializedScriptValue',
- ],
-
- 'IDBCursor.key': [
- "@_annotation_Creates_IDBKey",
- "@_annotation_Returns_IDBKey",
- ],
-
- '+IDBRequest': [
- "@Returns('Request')",
- "@Creates('Request')",
- ],
-
- '+IDBOpenDBRequest': [
- "@Returns('Request')",
- "@Creates('Request')",
- ],
-
- 'MessageEvent.ports': ["@Creates('=List')"],
-
- 'MessageEvent.data': [
- "@annotation_Creates_SerializedScriptValue",
- "@annotation_Returns_SerializedScriptValue",
- ],
- 'PopStateEvent.state': [
- "@annotation_Creates_SerializedScriptValue",
- "@annotation_Returns_SerializedScriptValue",
- ],
- 'SerializedScriptValue': [
- "@annotation_Creates_SerializedScriptValue",
- "@annotation_Returns_SerializedScriptValue",
- ],
-
- 'SQLResultSetRowList.item': ["@Creates('=Object')"],
-
- 'WebGLRenderingContext.getParameter': [
- # Taken from http://www.khronos.org/registry/webgl/specs/latest/
- # Section 5.14.3 Setting and getting state
- "@Creates('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
- "|Framebuffer|Renderbuffer|Texture')",
- "@Returns('Null|num|String|bool|=List|Float32List|Int32List|Uint32List"
- "|Framebuffer|Renderbuffer|Texture')",
- ],
-
- 'XMLHttpRequest.response': [
- "@Creates('ByteBuffer|Blob|Document|=Object|=List|String|num')",
- ],
-}, dart2jsOnly=True)
-
-_indexed_db_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX, '15')",
- "@SupportedBrowser(SupportedBrowser.IE, '10')",
- "@Experimental",
-]
-
-_file_system_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@Experimental",
-]
-
-_all_but_ie9_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.IE, '10')",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
-]
-
-_history_annotations = _all_but_ie9_annotations
-
-_no_ie_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
-]
-
-_performance_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.IE)",
-]
-
-_rtc_annotations = [ # Note: Firefox nightly builds also support this.
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@Experimental",
-]
-
-_shadow_dom_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME, '26')",
- "@Experimental",
-]
-
-_speech_recognition_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME, '25')",
- "@Experimental",
-]
-
-_svg_annotations = _all_but_ie9_annotations;
-
-_web_sql_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- "@Experimental",
-]
-
-_webgl_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@Experimental",
-]
-
-_webkit_experimental_annotations = [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- "@Experimental",
-]
-
-# Annotations to be placed on generated members.
-# The table is indexed as:
-# INTERFACE: annotations to be added to the interface declaration
-# INTERFACE.MEMBER: annotation to be added to the member declaration
-dart_annotations = monitored.Dict('generator.dart_annotations', {
- 'CSSHostRule': _shadow_dom_annotations,
- 'Crypto': _webkit_experimental_annotations,
- 'Database': _web_sql_annotations,
- 'DatabaseSync': _web_sql_annotations,
- 'DOMApplicationCache': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.IE, '10')",
- "@SupportedBrowser(SupportedBrowser.OPERA)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
- 'DOMFileSystem': _file_system_annotations,
- 'DOMFileSystemSync': _file_system_annotations,
- 'DOMWindow.webkitConvertPointFromNodeToPage': _webkit_experimental_annotations,
- 'DOMWindow.webkitConvertPointFromPageToNode': _webkit_experimental_annotations,
- 'DOMWindow.indexedDB': _indexed_db_annotations,
- 'DOMWindow.openDatabase': _web_sql_annotations,
- 'DOMWindow.performance': _performance_annotations,
- 'DOMWindow.webkitNotifications': _webkit_experimental_annotations,
- 'DOMWindow.webkitRequestFileSystem': _file_system_annotations,
- 'DOMWindow.webkitResolveLocalFileSystemURL': _file_system_annotations,
- 'Element.onwebkitTransitionEnd': _all_but_ie9_annotations,
- # Placeholder to add experimental flag, implementation for this is
- # pending in a separate CL.
- 'Element.webkitMatchesSelector': ['@Experimental()'],
- 'Element.webkitCreateShadowRoot': [
- "@SupportedBrowser(SupportedBrowser.CHROME, '25')",
- "@Experimental",
- ],
- 'Event.clipboardData': _webkit_experimental_annotations,
- 'FormData': _all_but_ie9_annotations,
- 'HashChangeEvent': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
- 'History.pushState': _history_annotations,
- 'History.replaceState': _history_annotations,
- 'HTMLContentElement': _shadow_dom_annotations,
- 'HTMLDataListElement': _all_but_ie9_annotations,
- 'HTMLDetailsElement': _webkit_experimental_annotations,
- 'HTMLEmbedElement': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.IE)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
- 'HTMLKeygenElement': _webkit_experimental_annotations,
- 'HTMLMeterElement': _no_ie_annotations,
- 'HTMLObjectElement': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.IE)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
- 'HTMLOutputElement': _no_ie_annotations,
- 'HTMLProgressElement': _all_but_ie9_annotations,
- 'HTMLShadowElement': _shadow_dom_annotations,
- 'HTMLTrackElement': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.IE, '10')",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
- 'IDBFactory': _indexed_db_annotations,
- 'IDBDatabase': _indexed_db_annotations,
- 'LocalMediaStream': _rtc_annotations,
- 'MediaStream': _rtc_annotations,
- 'MediaStreamEvent': _rtc_annotations,
- 'MediaStreamTrack': _rtc_annotations,
- 'MediaStreamTrackEvent': _rtc_annotations,
- 'MutationObserver': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- "@Experimental",
- ],
- 'NotificationCenter': _webkit_experimental_annotations,
- 'Performance': _performance_annotations,
- 'PopStateEvent': _history_annotations,
- 'RTCIceCandidate': _rtc_annotations,
- 'RTCPeerConnection': _rtc_annotations,
- 'RTCSessionDescription': _rtc_annotations,
- 'ShadowRoot': _shadow_dom_annotations,
- 'SpeechRecognition': _speech_recognition_annotations,
- 'SpeechRecognitionAlternative': _speech_recognition_annotations,
- 'SpeechRecognitionError': _speech_recognition_annotations,
- 'SpeechRecognitionEvent': _speech_recognition_annotations,
- 'SpeechRecognitionResult': _speech_recognition_annotations,
- 'SVGAltGlyphElement': _no_ie_annotations,
- 'SVGAnimateElement': _no_ie_annotations,
- 'SVGAnimateMotionElement': _no_ie_annotations,
- 'SVGAnimateTransformElement': _no_ie_annotations,
- 'SVGFEBlendElement': _svg_annotations,
- 'SVGFEColorMatrixElement': _svg_annotations,
- 'SVGFEComponentTransferElement': _svg_annotations,
- 'SVGFEConvolveMatrixElement': _svg_annotations,
- 'SVGFEDiffuseLightingElement': _svg_annotations,
- 'SVGFEDisplacementMapElement': _svg_annotations,
- 'SVGFEDistantLightElement': _svg_annotations,
- 'SVGFEFloodElement': _svg_annotations,
- 'SVGFEFuncAElement': _svg_annotations,
- 'SVGFEFuncBElement': _svg_annotations,
- 'SVGFEFuncGElement': _svg_annotations,
- 'SVGFEFuncRElement': _svg_annotations,
- 'SVGFEGaussianBlurElement': _svg_annotations,
- 'SVGFEImageElement': _svg_annotations,
- 'SVGFEMergeElement': _svg_annotations,
- 'SVGFEMergeNodeElement': _svg_annotations,
- 'SVGFEMorphologyElement': _svg_annotations,
- 'SVGFEOffsetElement': _svg_annotations,
- 'SVGFEPointLightElement': _svg_annotations,
- 'SVGFESpecularLightingElement': _svg_annotations,
- 'SVGFESpotLightElement': _svg_annotations,
- 'SVGFETileElement': _svg_annotations,
- 'SVGFETurbulenceElement': _svg_annotations,
- 'SVGFilterElement': _svg_annotations,
- 'SVGForeignObjectElement': _no_ie_annotations,
- 'SVGSetElement': _no_ie_annotations,
- 'SQLTransaction': _web_sql_annotations,
- 'SQLTransactionSync': _web_sql_annotations,
- 'WebGLRenderingContext': _webgl_annotations,
- 'WebKitCSSMatrix': _webkit_experimental_annotations,
- 'WebKitPoint': _webkit_experimental_annotations,
- 'WebSocket': _all_but_ie9_annotations,
- 'Worker': _all_but_ie9_annotations,
- 'XMLHttpRequest.onloadend': _all_but_ie9_annotations,
- 'XMLHttpRequest.onprogress': _all_but_ie9_annotations,
- 'XMLHttpRequest.response': _all_but_ie9_annotations,
- 'XMLHttpRequestProgressEvent': _webkit_experimental_annotations,
- 'XSLTProcessor': [
- "@SupportedBrowser(SupportedBrowser.CHROME)",
- "@SupportedBrowser(SupportedBrowser.FIREFOX)",
- "@SupportedBrowser(SupportedBrowser.SAFARI)",
- ],
-})
-
-def GetComments(library_name, interface_name, member_name=None):
- """ Finds all comments for the interface or member and returns a list. """
-
- # Add documentation from JSON.
- comments = []
- library_name = 'dart.dom.%s' % library_name
- if library_name in _dom_json and interface_name in _dom_json[library_name]:
- if (member_name and 'members' in _dom_json[library_name][interface_name] and
- (member_name in _dom_json[library_name][interface_name]['members'])):
- comments = _dom_json[library_name][interface_name]['members'][member_name]
- elif (not member_name and 'comment' in
- _dom_json[library_name][interface_name]):
- comments = _dom_json[library_name][interface_name]['comment']
-
- if (len(comments)):
- comments = ['\n'.join(comments)]
-
- return comments
-
-def GetAnnotationsAndComments(library_name, interface_name, member_name=None):
- annotations = GetComments(library_name, interface_name, member_name)
- annotations = annotations + (FindCommonAnnotations(library_name, interface_name,
- member_name))
-
- return annotations
-
-def FindCommonAnnotations(library_name, interface_name, member_name=None):
- """ Finds annotations common between dart2js and dartium.
- """
- if member_name:
- key = '%s.%s' % (interface_name, member_name)
- else:
- key = interface_name
-
- annotations = ["@DomName('" + key + "')"]
-
- # Only add this for members, so we don't add DocsEditable to templated classes
- # (they get it from the default class template)
- if member_name:
- annotations.append('@DocsEditable');
-
- if (dart_annotations.get(key) != None):
- annotations.extend(dart_annotations.get(key))
-
- if (member_name and member_name.startswith('webkit') and
- key not in renamed_html_members):
- annotations.extend(_webkit_experimental_annotations)
-
- return annotations
-
-def FindDart2JSAnnotationsAndComments(idl_type, library_name, interface_name,
- member_name,):
- """ Finds all annotations for Dart2JS members- including annotations for
- both dart2js and dartium.
- """
- annotations = GetAnnotationsAndComments(library_name, interface_name, member_name)
-
- ann2 = _FindDart2JSSpecificAnnotations(idl_type, interface_name, member_name)
- if ann2:
- if annotations:
- annotations.extend(ann2)
- else:
- annotations = ann2
- return annotations
-
-def AnyConversionAnnotations(idl_type, interface_name, member_name):
- if (dart_annotations.get('%s.%s' % (interface_name, member_name)) or
- _FindDart2JSSpecificAnnotations(idl_type, interface_name, member_name)):
- return True
- else:
- return False
-
-def FormatAnnotationsAndComments(annotations, indentation):
- if annotations:
-
- newline = '\n%s' % indentation
- result = newline.join(annotations) + newline
- return result
- return ''
-
-def _FindDart2JSSpecificAnnotations(idl_type, interface_name, member_name):
- """ Finds dart2js-specific annotations. This does not include ones shared with
- dartium.
- """
- ann1 = dart2js_annotations.get("%s.%s" % (interface_name, member_name))
- if ann1:
- ann2 = dart2js_annotations.get('+' + idl_type)
- if ann2:
- return ann2 + ann1
- ann2 = dart2js_annotations.get(idl_type)
- if ann2:
- return ann2 + ann1
- return ann1
-
- ann2 = dart2js_annotations.get('-' + idl_type)
- if ann2:
- return ann2
- ann2 = dart2js_annotations.get(idl_type)
- return ann2
# ------------------------------------------------------------------------------
diff --git a/tools/dom/scripts/htmldartgenerator.py b/tools/dom/scripts/htmldartgenerator.py
index 55dfa25..6ecb34e 100644
--- a/tools/dom/scripts/htmldartgenerator.py
+++ b/tools/dom/scripts/htmldartgenerator.py
@@ -9,8 +9,7 @@
import emitter
from generator import AnalyzeOperation, ConstantOutputOrder, \
DartDomNameOfAttribute, FindMatchingAttribute, IsDartCollectionType, \
- IsPureInterface, TypeOrNothing, GetAnnotationsAndComments, \
- FormatAnnotationsAndComments, ConvertToFuture, GetCallbackInfo
+ IsPureInterface, TypeOrNothing, ConvertToFuture, GetCallbackInfo
from htmlrenamer import convert_to_future_members
# Types that are accessible cross-frame in a limited fashion.
@@ -35,6 +34,7 @@
self._type_registry = options.type_registry
self._interface_type_info = self._type_registry.TypeInfo(self._interface.id)
self._renamer = options.renamer
+ self._metadata = options.metadata
self._library_name = self._renamer.GetLibraryName(self._interface)
def EmitSupportCheck(self):
@@ -345,9 +345,8 @@
if self.GenerateCustomFactory(constructor_info):
return
- annotations = FormatAnnotationsAndComments(
- GetAnnotationsAndComments(self._library_name, self._interface.id,
- self._interface.id), ' ')
+ metadata = self._metadata.GetFormattedMetadata(
+ self._library_name, self._interface.id, self._interface.id, ' ')
if not factory_constructor_name:
factory_constructor_name = '_create'
@@ -364,19 +363,19 @@
if not has_optional:
self._members_emitter.Emit(
- '\n $(ANNOTATIONS)'
+ '\n $(METADATA)'
'factory $CTOR($PARAMS) => '
'$FACTORY.$CTOR_FACTORY_NAME($FACTORY_PARAMS);\n',
CTOR=constructor_info._ConstructorFullName(self._DartType),
PARAMS=constructor_info.ParametersDeclaration(self._DartType),
FACTORY=factory_name,
- ANNOTATIONS=annotations,
+ METADATA=metadata,
CTOR_FACTORY_NAME=factory_constructor_name,
FACTORY_PARAMS=factory_parameters)
else:
if has_factory_provider:
dispatcher_emitter = self._members_emitter.Emit(
- '\n $(ANNOTATIONS)'
+ '\n $(METADATA)'
'factory $CTOR($PARAMS) {\n'
'$!DISPATCHER'
' return $FACTORY._create($FACTORY_PARAMS);\n'
@@ -384,7 +383,7 @@
CTOR=constructor_info._ConstructorFullName(self._DartType),
PARAMS=constructor_info.ParametersDeclaration(self._DartType),
FACTORY=factory_name,
- ANNOTATIONS=annotations,
+ METADATA=metadata,
FACTORY_PARAMS=constructor_info.ParametersAsArgumentList())
for index, param_info in enumerate(constructor_info.param_infos):
@@ -398,14 +397,14 @@
FACTORY_PARAMS=constructor_info.ParametersAsArgumentList(index))
else:
inits = self._members_emitter.Emit(
- '\n $(ANNOTATIONS)'
+ '\n $(METADATA)'
'factory $CONSTRUCTOR($PARAMS) {\n'
' var e = $FACTORY.$CTOR_FACTORY_NAME($FACTORY_PARAMS);\n'
'$!INITS'
' return e;\n'
' }\n',
CONSTRUCTOR=constructor_info._ConstructorFullName(self._DartType),
- ANNOTATIONS=annotations,
+ METADATA=metadata,
FACTORY=factory_name,
CTOR_FACTORY_NAME=factory_constructor_name,
PARAMS=constructor_info.ParametersDeclaration(self._DartType),
@@ -438,12 +437,12 @@
constructor_info.idl_args,
False,
[info.name for info in constructor_info.param_infos],
- emitter.Format('$(ANNOTATIONS)$FACTORY_KEYWORD $CTOR($PARAMS)',
+ emitter.Format('$(METADATA)$FACTORY_KEYWORD $CTOR($PARAMS)',
FACTORY_KEYWORD=('factory' if not custom_factory_ctr else
'static %s' % constructor_full_name),
CTOR=(('' if not custom_factory_ctr else '_factory')
+ constructor_full_name),
- ANNOTATIONS=annotations,
+ METADATA=metadata,
PARAMS=constructor_info.ParametersDeclaration(self._DartType)),
GenerateCall,
IsOptional)
@@ -457,13 +456,13 @@
self._database.GetInterface(info.callback_args[0].type_id))
param_list = info.ParametersAsArgumentList()
- annotations = ''
+ metadata = ''
if '_RenamingAnnotation' in dir(self):
- annotations = (self._RenamingAnnotation(info.declared_name, html_name) +
- self._Annotations(info.type_name, info.declared_name))
+ metadata = (self._RenamingAnnotation(info.declared_name, html_name) +
+ self._Metadata(info.type_name, info.declared_name))
self._members_emitter.Emit(
'\n'
- ' $ANNOTATIONS$MODIFIERS$TYPE$FUTURE_GENERIC $NAME($PARAMS) {\n'
+ ' $METADATA$MODIFIERS$TYPE$FUTURE_GENERIC $NAME($PARAMS) {\n'
' var completer = new Completer$(FUTURE_GENERIC)();\n'
' $ORIGINAL_FUNCTION($PARAMS_LIST\n'
' $NAMED_PARAM($VARIABLE_NAME) { '
@@ -471,7 +470,7 @@
'$ERROR_CALLBACK);\n'
' return completer.future;\n'
' }\n',
- ANNOTATIONS=annotations,
+ METADATA=metadata,
MODIFIERS='static ' if info.IsStatic() else '',
TYPE=self.SecureOutputType(info.type_name),
NAME=html_name[1:],
diff --git a/tools/dom/scripts/htmleventgenerator.py b/tools/dom/scripts/htmleventgenerator.py
index 59a8955..4c0fac0 100644
--- a/tools/dom/scripts/htmleventgenerator.py
+++ b/tools/dom/scripts/htmleventgenerator.py
@@ -7,7 +7,6 @@
import logging
import monitored
-from generator import GetAnnotationsAndComments, FormatAnnotationsAndComments
_logger = logging.getLogger('dartgenerator')
@@ -215,10 +214,11 @@
class HtmlEventGenerator(object):
- def __init__(self, database, renamer, template_loader):
+ def __init__(self, database, renamer, metadata, template_loader):
self._event_classes = set()
self._database = database
self._renamer = renamer
+ self._metadata = metadata
self._template_loader = template_loader
def EmitStreamProviders(self, interface, custom_events,
@@ -235,9 +235,9 @@
if self._GetEventRedirection(interface, html_name, event_type):
continue
- annotations = FormatAnnotationsAndComments(
- GetAnnotationsAndComments(library_name, interface.id,
- annotation_name), ' ')
+ annotations = self._metadata.FormatMetadata(
+ self._metadata.GetMetadata(library_name, interface.id,
+ annotation_name, 'on' + dom_name), ' ')
members_emitter.Emit(
"\n"
@@ -266,9 +266,8 @@
else:
provider = html_name + 'Event'
- annotations = FormatAnnotationsAndComments(
- GetAnnotationsAndComments(library_name, interface.id,
- annotation_name), ' ')
+ annotations = self._metadata.GetFormattedMetadata(
+ library_name, interface.id, annotation_name, ' ')
members_emitter.Emit(
"\n"
diff --git a/tools/dom/scripts/systemhtml.py b/tools/dom/scripts/systemhtml.py
index d6fa18a..75a4ffe 100644
--- a/tools/dom/scripts/systemhtml.py
+++ b/tools/dom/scripts/systemhtml.py
@@ -426,6 +426,7 @@
self._backend = backend
self._interface_type_info = self._type_registry.TypeInfo(self._interface.id)
self._library_name = self._renamer.GetLibraryName(self._interface)
+ self._metadata = options.metadata
def Generate(self):
if IsCustomType(self._interface.id):
@@ -518,9 +519,8 @@
if implements:
implements_str = ' implements ' + ', '.join(set(implements))
- annotations = FormatAnnotationsAndComments(
- GetAnnotationsAndComments(self._library_name,
- self._interface.doc_js_name), '')
+ annotations = self._metadata.GetFormattedMetadata(
+ self._library_name, self._interface.doc_js_name, '')
class_modifiers = ''
if self._renamer.ShouldSuppressInterface(self._interface):
@@ -589,6 +589,7 @@
self._template_loader = options.templates
self._type_registry = options.type_registry
self._renamer = options.renamer
+ self._metadata = options.metadata
self._interface_type_info = self._type_registry.TypeInfo(self._interface.id)
self._current_secondary_parent = None
self._library_name = self._renamer.GetLibraryName(self._interface)
@@ -773,14 +774,14 @@
output_type = self.SecureOutputType(attribute.type.id)
input_type = self._NarrowInputType(attribute.type.id)
- annotations = self._Annotations(attribute.type.id, attribute.id)
+ metadata = self._Metadata(attribute.type.id, attribute.id)
rename = self._RenamingAnnotation(attribute.id, html_name)
if not read_only:
self._members_emitter.Emit(
- '\n $RENAME$ANNOTATIONS$TYPE $NAME;'
+ '\n $RENAME$METADATA$TYPE $NAME;'
'\n',
RENAME=rename,
- ANNOTATIONS=annotations,
+ METADATA=metadata,
NAME=html_name,
TYPE=output_type)
else:
@@ -793,7 +794,7 @@
self._members_emitter.Emit(
template,
RENAME=rename,
- ANNOTATIONS=annotations,
+ ANNOTATIONS=metadata,
NAME=html_name,
TYPE=output_type)
@@ -844,9 +845,9 @@
self._members_emitter.Emit(
'\n $RETURN_TYPE get $HTML_NAME => $CONVERT(this._get_$(HTML_NAME));'
"\n @JSName('$NAME')"
- '\n $(ANNOTATIONS)final $NATIVE_TYPE _get_$HTML_NAME;'
+ '\n $(METADATA)final $NATIVE_TYPE _get_$HTML_NAME;'
'\n',
- ANNOTATIONS=self._Annotations(attr.type.id, html_name),
+ METADATA=self._Metadata(attr.type.id, html_name),
CONVERT=conversion.function_name,
HTML_NAME=html_name,
NAME=attr.id,
@@ -893,9 +894,9 @@
def _AddDirectNativeOperation(self, info, html_name):
self._members_emitter.Emit(
'\n'
- ' $RENAME$ANNOTATIONS$MODIFIERS$TYPE $NAME($PARAMS) native;\n',
+ ' $RENAME$METADATA$MODIFIERS$TYPE $NAME($PARAMS) native;\n',
RENAME=self._RenamingAnnotation(info.declared_name, html_name),
- ANNOTATIONS=self._Annotations(info.type_name, info.declared_name),
+ METADATA=self._Metadata(info.type_name, info.declared_name),
MODIFIERS='static ' if info.IsStatic() else '',
TYPE=self.SecureOutputType(info.type_name),
NAME=html_name,
@@ -975,16 +976,16 @@
call_emitter.Emit(call)
self._members_emitter.Emit(
- ' $RENAME$ANNOTATIONS$MODIFIERS$TYPE$TARGET($PARAMS) native;\n',
+ ' $RENAME$METADATA$MODIFIERS$TYPE$TARGET($PARAMS) native;\n',
RENAME=self._RenamingAnnotation(info.declared_name, target),
- ANNOTATIONS=self._Annotations(info.type_name, info.declared_name),
+ METADATA=self._Metadata(info.type_name, info.declared_name),
MODIFIERS='static ' if info.IsStatic() else '',
TYPE=TypeOrNothing(native_return_type),
TARGET=target,
PARAMS=', '.join(target_parameters))
declaration = '%s%s%s %s(%s)' % (
- self._Annotations(info.type_name, info.declared_name),
+ self._Metadata(info.type_name, info.declared_name),
'static ' if info.IsStatic() else '',
return_type,
html_name,
@@ -1032,13 +1033,12 @@
return "@JSName('%s')\n " % idl_name
return ''
- def _Annotations(self, idl_type, idl_member_name, indent=' '):
- anns = FindDart2JSAnnotationsAndComments(idl_type, self._library_name,
- self._interface.id,
- idl_member_name)
+ def _Metadata(self, idl_type, idl_member_name, indent=' '):
+ anns = self._metadata.GetDart2JSMetadata(
+ idl_type, self._library_name, self._interface.id, idl_member_name)
- if not AnyConversionAnnotations(idl_type, self._interface.id,
- idl_member_name):
+ if not self._metadata.AnyConversionAnnotations(
+ idl_type, self._interface.id, idl_member_name):
return_type = self.SecureOutputType(idl_type)
native_type = self._NarrowToImplementationType(idl_type)
if native_type != return_type:
@@ -1046,7 +1046,7 @@
"@Returns('%s')" % native_type,
"@Creates('%s')" % native_type,
]
- return FormatAnnotationsAndComments(anns, indent);
+ return self._metadata.FormatMetadata(anns, indent);
def CustomJSMembers(self):
return _js_custom_members
diff --git a/tools/dom/scripts/systemnative.py b/tools/dom/scripts/systemnative.py
index fc27037..130c933 100644
--- a/tools/dom/scripts/systemnative.py
+++ b/tools/dom/scripts/systemnative.py
@@ -25,6 +25,7 @@
self._template_loader = options.templates
self._type_registry = options.type_registry
self._interface_type_info = self._type_registry.TypeInfo(self._interface.id)
+ self._metadata = options.metadata
def ImplementsMergedMembers(self):
# We could not add merged functions to implementation class because
@@ -520,7 +521,7 @@
overload_name, argument_list)
cpp_callback_name = self._GenerateNativeBinding(
overload_name, (0 if operation.is_static else 1) + argument_count,
- dart_declaration, 'Callback', False)
+ dart_declaration, 'Callback', False, False)
self._GenerateOperationNativeCallback(operation, operation.arguments[:argument_count], cpp_callback_name)
self._GenerateDispatcherBody(
@@ -817,18 +818,19 @@
TO_DART_CONVERSION=to_dart_conversion)
def _GenerateNativeBinding(self, idl_name, argument_count, dart_declaration,
- native_suffix, is_custom):
- annotations = FormatAnnotationsAndComments(
- GetAnnotationsAndComments(self._renamer.GetLibraryName(self._interface),
- self._interface.id, idl_name),
- ' ')
+ native_suffix, is_custom, emit_metadata=True):
+ metadata = []
+ if emit_metadata:
+ metadata = self._metadata.GetFormattedMetadata(
+ self._renamer.GetLibraryName(self._interface),
+ self._interface.id, idl_name, ' ')
native_binding = '%s_%s_%s' % (self._interface.id, idl_name, native_suffix)
self._members_emitter.Emit(
'\n'
- ' $ANNOTATIONS$DART_DECLARATION native "$NATIVE_BINDING";\n',
+ ' $METADATA$DART_DECLARATION native "$NATIVE_BINDING";\n',
DOMINTERFACE=self._interface.id,
- ANNOTATIONS=annotations,
+ METADATA=metadata,
DART_DECLARATION=dart_declaration,
NATIVE_BINDING=native_binding)