bc65eafd3b
There are several instances where there are non-nullable variables with null checks associated with them that should be converted back to nullable. Attribute functions in Element are clarified as well. Change-Id: I23cf020f02f3d4b512e041f0339daafb46fdd7f2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140909 Reviewed-by: Stephen Adams <sra@google.com> Commit-Queue: Srujan Gaddam <srujzs@google.com>
68 lines
2.5 KiB
Dart
68 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);
|
|
}
|