6d051311b6
These assertions need to be added back into the nnbd sdk in order to be compatible with weak mode. Change-Id: Ie774fffda1fb0e79dbc7fe13cb75b9d28e4268fd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136720 Commit-Queue: Srujan Gaddam <srujzs@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Stephen Adams <sra@google.com>
67 lines
2.5 KiB
Dart
67 lines
2.5 KiB
Dart
// 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.
|
|
|
|
part of dart.dom.html;
|
|
|
|
void Function(T)? _wrapZone<T>(void Function(T) callback) {
|
|
// For performance reasons avoid wrapping if we are in the root zone.
|
|
if (Zone.current == Zone.root) return callback;
|
|
if (callback == null) return null;
|
|
return Zone.current.bindUnaryCallbackGuarded(callback);
|
|
}
|
|
|
|
void Function(T1, T2)? _wrapBinaryZone<T1, T2>(void Function(T1, T2) callback) {
|
|
// For performance reasons avoid wrapping if we are in the root zone.
|
|
if (Zone.current == Zone.root) return callback;
|
|
if (callback == null) return null;
|
|
return Zone.current.bindBinaryCallbackGuarded(callback);
|
|
}
|
|
|
|
/**
|
|
* Finds the first descendant element of this document that matches the
|
|
* specified group of selectors.
|
|
*
|
|
* Unless your webpage contains multiple documents, the top-level
|
|
* [querySelector]
|
|
* method behaves the same as this method, so you should use it instead to
|
|
* save typing a few characters.
|
|
*
|
|
* [selectors] should be a string using CSS selector syntax.
|
|
*
|
|
* var element1 = document.querySelector('.className');
|
|
* var element2 = document.querySelector('#id');
|
|
*
|
|
* For details about CSS selector syntax, see the
|
|
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
|
|
*/
|
|
Element? querySelector(String selectors) => document.querySelector(selectors);
|
|
|
|
/**
|
|
* Finds all descendant elements of this document that match the specified
|
|
* group of selectors.
|
|
*
|
|
* Unless your webpage contains multiple documents, the top-level
|
|
* [querySelectorAll]
|
|
* method behaves the same as this method, so you should use it instead to
|
|
* save typing a few characters.
|
|
*
|
|
* [selectors] should be a string using CSS selector syntax.
|
|
*
|
|
* var items = document.querySelectorAll('.itemClassName');
|
|
*
|
|
* For details about CSS selector syntax, see the
|
|
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
|
|
*/
|
|
ElementList<T> querySelectorAll<T extends Element>(String selectors) =>
|
|
document.querySelectorAll(selectors);
|
|
|
|
/// A utility for changing the Dart wrapper type for elements.
|
|
abstract class ElementUpgrader {
|
|
/// Upgrade the specified element to be of the Dart type this was created for.
|
|
///
|
|
/// After upgrading the element passed in is invalid and the returned value
|
|
/// should be used instead.
|
|
Element upgrade(Element element);
|
|
}
|