mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Spell check of Flutter docs (#45200)
No code changes, just comments: I spell-checked all the comments in the repo.
This commit is contained in:
parent
fcb40a05bb
commit
a60bf8e23a
@ -50,8 +50,8 @@ class FlutterCompactFormatter {
|
||||
/// this is Windows or not outputting to a terminal.
|
||||
String get _noColor => useColor ? '\u001b[0m' : '';
|
||||
|
||||
/// The termianl escape for clearing the line, or a carriage return if
|
||||
/// this is Windows or not outputting to a termianl.
|
||||
/// The terminal escape for clearing the line, or a carriage return if
|
||||
/// this is Windows or not outputting to a terminal.
|
||||
String get _clearLine => useColor ? '\x1b[2K\r' : '\r';
|
||||
|
||||
final Map<int, TestResult> _tests = <int, TestResult>{};
|
||||
|
@ -961,7 +961,7 @@ Future<String> verifyVersion(File file) async {
|
||||
}
|
||||
|
||||
/// If the CIRRUS_TASK_NAME environment variable exists, we use that to determine
|
||||
/// the shard and subshard (parsing it in the form shard-subshard-platform, ignoring
|
||||
/// the shard and sub-shard (parsing it in the form shard-subshard-platform, ignoring
|
||||
/// the platform).
|
||||
///
|
||||
/// However, for local testing you can just set the SHARD and SUBSHARD
|
||||
|
@ -13,7 +13,7 @@ import 'package:path/path.dart' as path;
|
||||
final String gradlew = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
|
||||
final String gradlewExecutable = Platform.isWindows ? '.\\$gradlew' : './$gradlew';
|
||||
|
||||
/// Tests that projects can include plugins that have a transtive dependency in common.
|
||||
/// Tests that projects can include plugins that have a transitive dependency in common.
|
||||
/// For more info see: https://github.com/flutter/flutter/issues/27254.
|
||||
Future<void> main() async {
|
||||
await task(() async {
|
||||
|
@ -10,7 +10,7 @@ import 'package:flutter_devicelab/framework/utils.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
/// Tests that flutter build apk uses R8 by default by adding an
|
||||
/// invalid proguard rule and evaluating the error message.
|
||||
/// invalid ProGuard rule and evaluating the error message.
|
||||
Future<void> main() async {
|
||||
await task(() async {
|
||||
|
||||
|
@ -25,7 +25,7 @@ bool _isTaskRegistered = false;
|
||||
/// The task does not run immediately but waits for the request via the
|
||||
/// VM service protocol to run it.
|
||||
///
|
||||
/// It is ok for a [task] to perform many things. However, only one task can be
|
||||
/// It is OK for a [task] to perform many things. However, only one task can be
|
||||
/// registered per Dart VM.
|
||||
Future<TaskResult> task(TaskFunction task) {
|
||||
if (_isTaskRegistered)
|
||||
@ -143,7 +143,7 @@ class _TaskRunner {
|
||||
});
|
||||
}
|
||||
|
||||
/// Disables the keep-alive port, allowing the VM to exit.
|
||||
/// Disables the keepalive port, allowing the VM to exit.
|
||||
void _closeKeepAlivePort() {
|
||||
_startTaskTimeout?.cancel();
|
||||
_keepAlivePort?.close();
|
||||
|
@ -602,7 +602,7 @@ int parseServicePort(String line, {
|
||||
return matches.isEmpty ? null : int.parse(matches[0].group(2));
|
||||
}
|
||||
|
||||
/// Tries to extract a Uri from the string.
|
||||
/// Tries to extract a URL from the string.
|
||||
///
|
||||
/// The `prefix`, if specified, is a regular expression pattern and must not contain groups.
|
||||
/// `prefix` defaults to the RegExp: `An Observatory debugger .* is available at: `.
|
||||
|
@ -88,7 +88,7 @@ class SectorParentData extends ParentData {
|
||||
/// * <https://en.wikipedia.org/wiki/Polar_coordinate_system>, which defines
|
||||
/// the polar coordinate space.
|
||||
/// * [RenderBox], which is the base class for [RenderObject]s that live in a
|
||||
/// cartesian coordinate space.
|
||||
/// Cartesian coordinate space.
|
||||
abstract class RenderSector extends RenderObject {
|
||||
|
||||
@override
|
||||
|
@ -642,7 +642,7 @@ class CupertinoColors {
|
||||
///
|
||||
/// {@tool sample}
|
||||
///
|
||||
/// The following code samples demostrate two cases where you have to manually
|
||||
/// The following code samples demonstrate two cases where you have to manually
|
||||
/// resolve a [CupertinoDynamicColor].
|
||||
///
|
||||
/// ```dart
|
||||
@ -926,16 +926,16 @@ class CupertinoDynamicColor extends Color with DiagnosticableMixin implements Di
|
||||
/// `data` is [CupertinoUserInterfaceLevelData.elevated]), the resolved
|
||||
/// [CupertinoDynamicColor] will be the same as this [CupertinoDynamicColor],
|
||||
/// except its effective color will be the `darkHighContrastElevatedColor` variant
|
||||
/// from the orignal [CupertinoDynamicColor].
|
||||
/// from the original [CupertinoDynamicColor].
|
||||
///
|
||||
/// Calling this function may create dependencies on the closest instance of some
|
||||
/// [InheritedWidget]s that enclose the given [BuildContext]. E.g., if [darkColor]
|
||||
/// is different from [color], this method will call [CupertinoTheme.of], and
|
||||
/// then [MediaQuery.of] if brightness wasn't specified in the theme data retrived
|
||||
/// then [MediaQuery.of] if brightness wasn't specified in the theme data retrieved
|
||||
/// from the previous [CupertinoTheme.of] call, in an effort to determine the
|
||||
/// brightness value.
|
||||
///
|
||||
/// If any of the required dependecies are missing from the given context, the
|
||||
/// If any of the required dependencies are missing from the given context, the
|
||||
/// default value of that trait will be used ([Brightness.light] platform
|
||||
/// brightness, normal contrast, [CupertinoUserInterfaceLevelData.base] elevation
|
||||
/// level), unless [nullOk] is set to false, in which case an exception will be
|
||||
|
@ -1273,7 +1273,7 @@ class CupertinoTimerPicker extends StatefulWidget {
|
||||
/// Callback called when the timer duration changes.
|
||||
final ValueChanged<Duration> onTimerDurationChanged;
|
||||
|
||||
/// Defines how the timper picker should be positioned within its parent.
|
||||
/// Defines how the timer picker should be positioned within its parent.
|
||||
///
|
||||
/// This property must not be null. It defaults to [Alignment.center].
|
||||
final AlignmentGeometry alignment;
|
||||
|
@ -190,7 +190,7 @@ class CupertinoIcons {
|
||||
/// A 25% charged battery.
|
||||
static const IconData battery_25_percent = IconData(0xf115, fontFamily: iconFont, fontPackage: iconFontPackage);
|
||||
|
||||
/// The bluetooth logo.
|
||||
/// The Bluetooth logo.
|
||||
static const IconData bluetooth = IconData(0xf116, fontFamily: iconFont, fontPackage: iconFontPackage);
|
||||
|
||||
/// A restart arrow, pointing downwards.
|
||||
|
@ -172,7 +172,7 @@ class CupertinoPicker extends StatefulWidget {
|
||||
|
||||
/// {@macro flutter.rendering.wheelList.squeeze}
|
||||
///
|
||||
/// Defaults to `1.45` fo visually mimic iOS.
|
||||
/// Defaults to `1.45` to visually mimic iOS.
|
||||
final double squeeze;
|
||||
|
||||
/// An option callback when the currently centered item changes.
|
||||
|
@ -68,13 +68,13 @@ enum OverlayVisibilityMode {
|
||||
|
||||
/// Overlay will only appear when the current text entry is not empty.
|
||||
///
|
||||
/// This includes pre-filled text that the user did not type in manually. But
|
||||
/// This includes prefilled text that the user did not type in manually. But
|
||||
/// does not include text in placeholders.
|
||||
editing,
|
||||
|
||||
/// Overlay will only appear when the current text entry is empty.
|
||||
///
|
||||
/// This also includes not having pre-filled text that the user did not type
|
||||
/// This also includes not having prefilled text that the user did not type
|
||||
/// in manually. Texts in placeholders are ignored.
|
||||
notEditing,
|
||||
|
||||
@ -178,7 +178,7 @@ class _CupertinoTextFieldSelectionGestureDetectorBuilder extends TextSelectionGe
|
||||
class CupertinoTextField extends StatefulWidget {
|
||||
/// Creates an iOS-style text field.
|
||||
///
|
||||
/// To provide a pre-filled text entry, pass in a [TextEditingController] with
|
||||
/// To provide a prefilled text entry, pass in a [TextEditingController] with
|
||||
/// an initial value to the [controller] parameter.
|
||||
///
|
||||
/// To provide a hint placeholder text that appears when the text entry is
|
||||
|
@ -277,7 +277,7 @@ class CupertinoThemeData extends Diagnosticable {
|
||||
);
|
||||
}
|
||||
|
||||
/// Returns a new `CupertinoThemeData` with all its colors resolved aginst the
|
||||
/// Returns a new `CupertinoThemeData` with all its colors resolved against the
|
||||
/// given [BuildContext].
|
||||
///
|
||||
/// Called by [CupertinoTheme.of] to resolve colors defined in the retrieved
|
||||
|
@ -6,7 +6,7 @@ import 'bitfield.dart' as bitfield;
|
||||
|
||||
/// The dart:html implementation of [bitfield.kMaxUnsignedSMI].
|
||||
///
|
||||
/// This value is used as an optimization to coerse some numbers to be within
|
||||
/// This value is used as an optimization to coerce some numbers to be within
|
||||
/// the SMI range and avoid heap allocations. Because number encoding is
|
||||
/// VM-specific, there's no guarantee that this optimization will be effective
|
||||
/// on all JavaScript engines. The value picked here should be correct, but it
|
||||
|
@ -772,7 +772,7 @@ void debugPrintStack({StackTrace stackTrace, String label, int maxFrames}) {
|
||||
debugPrint(FlutterError.defaultStackFilter(lines).join('\n'));
|
||||
}
|
||||
|
||||
/// Diagnostic with a [StackTrace] [value] suitable for displaying stacktraces
|
||||
/// Diagnostic with a [StackTrace] [value] suitable for displaying stack traces
|
||||
/// as part of a [FlutterError] object.
|
||||
///
|
||||
/// See also:
|
||||
|
@ -18,7 +18,7 @@ const bool kReleaseMode = bool.fromEnvironment('dart.vm.product', defaultValue:
|
||||
/// compiled in Dart with the '-Ddart.vm.profile=true' flag.
|
||||
///
|
||||
/// Since this is a const value, it can be used to indicate to the compiler that
|
||||
/// a particular block of code will not be executed in profle mode, an hence
|
||||
/// a particular block of code will not be executed in profile mode, an hence
|
||||
/// can be removed.
|
||||
const bool kProfileMode = bool.fromEnvironment('dart.vm.profile', defaultValue: false);
|
||||
|
||||
|
@ -85,7 +85,7 @@ int debugDoublePrecision;
|
||||
|
||||
/// Formats a double to have standard formatting.
|
||||
///
|
||||
/// This behavior can be overriden by [debugDoublePrecision].
|
||||
/// This behavior can be overridden by [debugDoublePrecision].
|
||||
String debugFormatDouble(double value) {
|
||||
if (value == null) {
|
||||
return 'null';
|
||||
|
@ -1056,7 +1056,7 @@ bool _isSingleLine(DiagnosticsTreeStyle style) {
|
||||
return style == DiagnosticsTreeStyle.singleLine;
|
||||
}
|
||||
|
||||
/// Renderer that creates ascii art representations of trees of
|
||||
/// Renderer that creates ASCII art representations of trees of
|
||||
/// [DiagnosticsNode] objects.
|
||||
///
|
||||
/// See also:
|
||||
@ -1385,7 +1385,7 @@ class TextTreeRenderer {
|
||||
/// Defines diagnostics data for a [value].
|
||||
///
|
||||
/// For debug and profile modes, [DiagnosticsNode] provides a high quality
|
||||
/// multi-line string dump via [toStringDeep]. The core members are the [name],
|
||||
/// multiline string dump via [toStringDeep]. The core members are the [name],
|
||||
/// [toDescription], [getProperties], [value], and [getChildren]. All other
|
||||
/// members exist typically to provide hints for how [toStringDeep] and
|
||||
/// debugging tools should format output.
|
||||
@ -3352,7 +3352,7 @@ abstract class DiagnosticableTree extends Diagnosticable {
|
||||
///
|
||||
/// `joiner` specifies the string which is place between each part obtained
|
||||
/// from [debugFillProperties]. Passing a string such as `'\n '` will result
|
||||
/// in a multi-line string that indents the properties of the object below its
|
||||
/// in a multiline string that indents the properties of the object below its
|
||||
/// name (as per [toString]).
|
||||
///
|
||||
/// `minLevel` specifies the minimum [DiagnosticLevel] for properties included
|
||||
|
@ -5,7 +5,7 @@
|
||||
import 'basic_types.dart';
|
||||
import 'constants.dart';
|
||||
|
||||
/// DEPRECATED. `function` cannot be treeshaken out of release builds.
|
||||
/// DEPRECATED. `function` cannot be tree-shaken out of release builds.
|
||||
///
|
||||
/// Instead use:
|
||||
///
|
||||
|
@ -12,7 +12,7 @@ export 'dart:ui' show Offset, PointerDeviceKind;
|
||||
/// The bit of [PointerEvent.buttons] that corresponds to a cross-device
|
||||
/// behavior of "primary operation".
|
||||
///
|
||||
/// More specifially, it includes:
|
||||
/// More specifically, it includes:
|
||||
///
|
||||
/// * [kTouchContact]: The pointer contacts the touch screen.
|
||||
/// * [kStylusContact]: The stylus contacts the screen.
|
||||
@ -135,7 +135,7 @@ int nthStylusButton(int number) => (kPrimaryStylusButton << (number - 1)) & kMax
|
||||
|
||||
/// Returns the button of `buttons` with the smallest integer.
|
||||
///
|
||||
/// The `buttons` parameter is a bitfield where each set bit represents a button.
|
||||
/// The `buttons` parameter is a bit field where each set bit represents a button.
|
||||
/// This function returns the set bit closest to the least significant bit.
|
||||
///
|
||||
/// It returns zero when `buttons` is zero.
|
||||
@ -155,7 +155,7 @@ int smallestButton(int buttons) => buttons & (-buttons);
|
||||
|
||||
/// Returns whether `buttons` contains one and only one button.
|
||||
///
|
||||
/// The `buttons` parameter is a bitfield where each set bit represents a button.
|
||||
/// The `buttons` parameter is a bit field where each set bit represents a button.
|
||||
/// This function returns whether there is only one set bit in the given integer.
|
||||
///
|
||||
/// It returns false when `buttons` is zero.
|
||||
@ -170,7 +170,7 @@ int smallestButton(int buttons) => buttons & (-buttons);
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
/// * [smallestButton], which returns the button in a `buttons` bitfield with
|
||||
/// * [smallestButton], which returns the button in a `buttons` bit field with
|
||||
/// the smallest integer button.
|
||||
bool isSingleButton(int buttons) => buttons != 0 && (smallestButton(buttons) == buttons);
|
||||
|
||||
|
@ -253,7 +253,7 @@ class AppBar extends StatefulWidget implements PreferredSizeWidget {
|
||||
/// If leading widget is not null, this parameter has no effect.
|
||||
final bool automaticallyImplyLeading;
|
||||
|
||||
/// The primary widget displayed in the appbar.
|
||||
/// The primary widget displayed in the app bar.
|
||||
///
|
||||
/// Typically a [Text] widget containing a description of the current contents
|
||||
/// of the app.
|
||||
@ -952,7 +952,7 @@ class SliverAppBar extends StatefulWidget {
|
||||
/// If leading widget is not null, this parameter has no effect.
|
||||
final bool automaticallyImplyLeading;
|
||||
|
||||
/// The primary widget displayed in the appbar.
|
||||
/// The primary widget displayed in the app bar.
|
||||
///
|
||||
/// Typically a [Text] widget containing a description of the current contents
|
||||
/// of the app.
|
||||
@ -997,7 +997,7 @@ class SliverAppBar extends StatefulWidget {
|
||||
/// Typically a [FlexibleSpaceBar]. See [FlexibleSpaceBar] for details.
|
||||
final Widget flexibleSpace;
|
||||
|
||||
/// This widget appears across the bottom of the appbar.
|
||||
/// This widget appears across the bottom of the app bar.
|
||||
///
|
||||
/// Typically a [TabBar]. Only widgets that implement [PreferredSizeWidget] can
|
||||
/// be used at the bottom of an app bar.
|
||||
@ -1155,7 +1155,7 @@ class SliverAppBar extends StatefulWidget {
|
||||
/// a scroll dismisses the app bar, the animation will slide the app bar
|
||||
/// completely out of view.
|
||||
///
|
||||
/// Snapping only applies when the app bar is floating, not when the appbar
|
||||
/// Snapping only applies when the app bar is floating, not when the app bar
|
||||
/// appears at the top of its scroll view.
|
||||
///
|
||||
/// ## Animated Examples
|
||||
|
@ -17,7 +17,7 @@ import 'theme.dart';
|
||||
/// to be dismissed.
|
||||
///
|
||||
/// Banners should be displayed at the top of the screen, below a top app bar.
|
||||
/// They are persistent and nonmodal, allowing the user to either ignore them or
|
||||
/// They are persistent and non-modal, allowing the user to either ignore them or
|
||||
/// interact with them at any time.
|
||||
///
|
||||
/// The [actions] will be placed beside the [content] if there is only one.
|
||||
|
@ -90,7 +90,7 @@ class BottomSheet extends StatefulWidget {
|
||||
final WidgetBuilder builder;
|
||||
|
||||
/// If true, the bottom sheet can be dragged up and down and dismissed by
|
||||
/// swiping downards.
|
||||
/// swiping downwards.
|
||||
///
|
||||
/// Default is true.
|
||||
final bool enableDrag;
|
||||
@ -497,11 +497,11 @@ Future<T> showModalBottomSheet<T>({
|
||||
/// this method.
|
||||
///
|
||||
/// The new bottom sheet becomes a [LocalHistoryEntry] for the enclosing
|
||||
/// [ModalRoute] and a back button is added to the appbar of the [Scaffold]
|
||||
/// [ModalRoute] and a back button is added to the app bar of the [Scaffold]
|
||||
/// that closes the bottom sheet.
|
||||
///
|
||||
/// To create a persistent bottom sheet that is not a [LocalHistoryEntry] and
|
||||
/// does not add a back button to the enclosing Scaffold's appbar, use the
|
||||
/// does not add a back button to the enclosing Scaffold's app bar, use the
|
||||
/// [Scaffold.bottomSheet] constructor parameter.
|
||||
///
|
||||
/// A closely related widget is a modal bottom sheet, which is an alternative
|
||||
|
@ -186,7 +186,7 @@ class ButtonBar extends StatelessWidget {
|
||||
/// there is not enough horizontal space.
|
||||
///
|
||||
/// It first attempts to lay out its buttons as though there were no
|
||||
/// maximumm width constraints on the widget. If the button bar's width is
|
||||
/// maximum width constraints on the widget. If the button bar's width is
|
||||
/// less than the maximum width constraints of the widget, it then lays
|
||||
/// out the widget as though it were placed in a [Row].
|
||||
///
|
||||
@ -249,7 +249,7 @@ class _ButtonBarRow extends Flex {
|
||||
/// there is not enough horizontal space.
|
||||
///
|
||||
/// It first attempts to lay out its buttons as though there were no
|
||||
/// maximumm width constraints on the widget. If the button bar's width is
|
||||
/// maximum width constraints on the widget. If the button bar's width is
|
||||
/// less than the maximum width constraints of the widget, it then lays
|
||||
/// out the widget as though it were placed in a [Row].
|
||||
///
|
||||
|
@ -2971,7 +2971,7 @@ class InputDecoration {
|
||||
/// If provided, this replaces the semantic label of the [counterText].
|
||||
final String semanticCounterText;
|
||||
|
||||
/// Typically set to true when the [InputDecorator] contains a multi-line
|
||||
/// Typically set to true when the [InputDecorator] contains a multiline
|
||||
/// [TextField] ([TextField.maxLines] is null or > 1) to override the default
|
||||
/// behavior of aligning the label with the center of the [TextField].
|
||||
///
|
||||
@ -3585,7 +3585,7 @@ class InputDecorationTheme extends Diagnosticable {
|
||||
/// rounded rectangle around the input decorator's container.
|
||||
final InputBorder border;
|
||||
|
||||
/// Typically set to true when the [InputDecorator] contains a multi-line
|
||||
/// Typically set to true when the [InputDecorator] contains a multiline
|
||||
/// [TextField] ([TextField.maxLines] is null or > 1) to override the default
|
||||
/// behavior of aligning the label with the center of the [TextField].
|
||||
final bool alignLabelWithHint;
|
||||
|
@ -440,7 +440,7 @@ enum ListTileControlAffinity {
|
||||
///
|
||||
/// {@tool snippet --template=stateless_widget_scaffold}
|
||||
///
|
||||
/// Here is an example of an article list item with multi-line titles and
|
||||
/// Here is an example of an article list item with multiline titles and
|
||||
/// subtitles. It utilizes [Row]s and [Column]s, as well as [Expanded] and
|
||||
/// [AspectRatio] widgets to organize its layout.
|
||||
///
|
||||
|
@ -273,7 +273,7 @@ class RangeSlider extends StatefulWidget {
|
||||
/// There are two labels: one for the start thumb and one for the end thumb.
|
||||
///
|
||||
/// Each label is rendered using the active [ThemeData]'s
|
||||
/// [ThemeData.accentTextTheme.body2] text style, and can be overriden
|
||||
/// [ThemeData.accentTextTheme.body2] text style, and can be overridden
|
||||
/// by changing the [SliderThemeData.valueIndicatorTextStyle].
|
||||
///
|
||||
/// If null, then the value indicator will not be displayed.
|
||||
|
@ -1799,11 +1799,11 @@ class ScaffoldState extends State<Scaffold> with TickerProviderStateMixin {
|
||||
/// this method.
|
||||
///
|
||||
/// The new bottom sheet becomes a [LocalHistoryEntry] for the enclosing
|
||||
/// [ModalRoute] and a back button is added to the appbar of the [Scaffold]
|
||||
/// [ModalRoute] and a back button is added to the app bar of the [Scaffold]
|
||||
/// that closes the bottom sheet.
|
||||
///
|
||||
/// To create a persistent bottom sheet that is not a [LocalHistoryEntry] and
|
||||
/// does not add a back button to the enclosing Scaffold's appbar, use the
|
||||
/// does not add a back button to the enclosing Scaffold's app bar, use the
|
||||
/// [Scaffold.bottomSheet] constructor parameter.
|
||||
///
|
||||
/// A persistent bottom sheet shows information that supplements the primary
|
||||
|
@ -1500,7 +1500,7 @@ abstract class BaseSliderTrackShape {
|
||||
/// [parentBox]. The track rectangle extends to the bounds of the [parentBox],
|
||||
/// but is padded by the [RoundSliderOverlayShape] radius. The height is defined
|
||||
/// by the [SliderThemeData.trackHeight]. The color is determined by the
|
||||
/// [Slider]'s enabled state and the track segments's active state which are
|
||||
/// [Slider]'s enabled state and the track segment's active state which are
|
||||
/// defined by:
|
||||
/// [SliderThemeData.activeTrackColor],
|
||||
/// [SliderThemeData.inactiveTrackColor],
|
||||
@ -1706,7 +1706,7 @@ class RoundedRectSliderTrackShape extends SliderTrackShape with BaseSliderTrackS
|
||||
/// [parentBox]. The track rectangle extends to the bounds of the [parentBox],
|
||||
/// but is padded by the [RoundSliderOverlayShape] radius. The height is
|
||||
/// defined by the [SliderThemeData.trackHeight]. The color is determined by the
|
||||
/// [Slider]'s enabled state and the track segments's active state which are
|
||||
/// [Slider]'s enabled state and the track segment's active state which are
|
||||
/// defined by:
|
||||
/// [SliderThemeData.activeTrackColor],
|
||||
/// [SliderThemeData.inactiveTrackColor],
|
||||
|
@ -13,7 +13,7 @@ import 'debug.dart';
|
||||
import 'image_provider.dart' as image_provider;
|
||||
import 'image_stream.dart';
|
||||
|
||||
/// The dart:io implemenation of [image_provider.NetworkImage].
|
||||
/// The dart:io implementation of [image_provider.NetworkImage].
|
||||
class NetworkImage extends image_provider.ImageProvider<image_provider.NetworkImage> implements image_provider.NetworkImage {
|
||||
/// Creates an object that fetches the image at the given URL.
|
||||
///
|
||||
|
@ -10,7 +10,7 @@ import 'package:flutter/foundation.dart';
|
||||
import 'image_provider.dart' as image_provider;
|
||||
import 'image_stream.dart';
|
||||
|
||||
/// The dart:html implemenation of [image_provider.NetworkImage].
|
||||
/// The dart:html implementation of [image_provider.NetworkImage].
|
||||
///
|
||||
/// NetworkImage on the web does not support decoding to a specified size.
|
||||
class NetworkImage extends image_provider.ImageProvider<image_provider.NetworkImage> implements image_provider.NetworkImage {
|
||||
|
@ -904,7 +904,7 @@ class NetworkImageLoadException implements Exception {
|
||||
/// A human-readable error message.
|
||||
final String _message;
|
||||
|
||||
/// Resolved URI of the requested image.
|
||||
/// Resolved URL of the requested image.
|
||||
final Uri uri;
|
||||
|
||||
@override
|
||||
|
@ -43,7 +43,7 @@ typedef InlineSpanVisitor = bool Function(InlineSpan span);
|
||||
/// * [InlineSpan.getSemanticsInformation]
|
||||
@immutable
|
||||
class InlineSpanSemanticsInformation {
|
||||
/// Constructs an object that holds the text and sematnics label values of an
|
||||
/// Constructs an object that holds the text and semantics label values of an
|
||||
/// [InlineSpan].
|
||||
///
|
||||
/// The text parameter must not be null.
|
||||
@ -283,7 +283,7 @@ abstract class InlineSpan extends DiagnosticableTree {
|
||||
/// represented as a 0xFFFC 'object replacement character'.
|
||||
///
|
||||
/// The plain-text representation of this [InlineSpan] is written into the `buffer`.
|
||||
/// This method will then recursively call [computeToPlainText] on its childen
|
||||
/// This method will then recursively call [computeToPlainText] on its children
|
||||
/// [InlineSpan]s if available.
|
||||
@protected
|
||||
void computeToPlainText(StringBuffer buffer, {bool includeSemanticsLabels = true, bool includePlaceholders = true});
|
||||
|
@ -72,7 +72,7 @@ abstract class ShaderWarmUp {
|
||||
/// Alternatively, one may run the app with `flutter run --trace-skia` and
|
||||
/// then examine the GPU thread in the observatory timeline to see which
|
||||
/// Skia draw operations are commonly used, and which shader compilations
|
||||
/// are causing janks.
|
||||
/// are causing jank.
|
||||
@protected
|
||||
Future<void> warmUpOnCanvas(ui.Canvas canvas);
|
||||
|
||||
|
@ -37,7 +37,7 @@ import 'text_style.dart';
|
||||
///
|
||||
/// Ascent is the font's spacing above the baseline without leading and
|
||||
/// descent is the spacing below the baseline without leading. Leading is
|
||||
/// split evenly betweenthe top and bottom. The values for `ascent` and
|
||||
/// split evenly between the top and bottom. The values for `ascent` and
|
||||
/// `descent` are provided by the font named by [fontFamily]. If no
|
||||
/// [fontFamily] or [fontFamilyFallback] is provided, then the platform's
|
||||
/// default family will be used.
|
||||
|
@ -83,7 +83,7 @@ class PlaceholderDimensions {
|
||||
///
|
||||
/// See [Text.textWidthBasis], for example.
|
||||
enum TextWidthBasis {
|
||||
/// Multiline text will take up the full width given by the parent. For single
|
||||
/// multiline text will take up the full width given by the parent. For single
|
||||
/// line text, only the minimum amount of width needed to contain the text
|
||||
/// will be used. A common use case for this is a standard series of
|
||||
/// paragraphs.
|
||||
@ -178,7 +178,7 @@ class TextPainter {
|
||||
/// This and [textDirection] must be non-null before you call [layout].
|
||||
///
|
||||
/// The [InlineSpan] this provides is in the form of a tree that may contain
|
||||
/// multiple instances of [TextSpan]s and [WidgetSpan]s. To obtain a plaintext
|
||||
/// multiple instances of [TextSpan]s and [WidgetSpan]s. To obtain a plain text
|
||||
/// representation of the contents of this [TextPainter], use [InlineSpan.toPlainText]
|
||||
/// to get the full contents of all nodes in the tree. [TextSpan.text] will
|
||||
/// only provide the contents of the first node in the tree.
|
||||
@ -846,7 +846,7 @@ class TextPainter {
|
||||
///
|
||||
/// This can potentially return a large amount of data, so it is not recommended
|
||||
/// to repeatedly call this. Instead, cache the results. The cached results
|
||||
/// should be invalidated upon the next sucessful [layout].
|
||||
/// should be invalidated upon the next successful [layout].
|
||||
List<ui.LineMetrics> computeLineMetrics() {
|
||||
assert(!_needsLayout);
|
||||
return _paragraph.computeLineMetrics();
|
||||
|
@ -609,7 +609,7 @@ class TextStyle extends Diagnosticable {
|
||||
/// The style in which to paint the text decorations (e.g., dashed).
|
||||
final TextDecorationStyle decorationStyle;
|
||||
|
||||
/// The thickness of the decoration stroke as a muliplier of the thickness
|
||||
/// The thickness of the decoration stroke as a multiplier of the thickness
|
||||
/// defined by the font.
|
||||
///
|
||||
/// The font provides a base stroke width for [decoration]s which scales off
|
||||
|
@ -392,14 +392,14 @@ class RenderEditable extends RenderBox with RelayoutWhenSystemFontsChangeMixin {
|
||||
// to select vertically past the end or beginning of the field. If they do,
|
||||
// then we need to keep the old cursor location so that we can go back to it
|
||||
// if they change their minds. Only used for moving selection up and down in a
|
||||
// multi-line text field when selecting using the keyboard.
|
||||
// multiline text field when selecting using the keyboard.
|
||||
int _cursorResetLocation = -1;
|
||||
|
||||
// Whether we should reset the location of the cursor in the case the user
|
||||
// tries to select vertically past the end or beginning of the field. If they
|
||||
// do, then we need to keep the old cursor location so that we can go back to
|
||||
// it if they change their minds. Only used for resetting selection up and
|
||||
// down in a multi-line text field when selecting using the keyboard.
|
||||
// down in a multiline text field when selecting using the keyboard.
|
||||
bool _wasSelectingVerticallyWithKeyboard = false;
|
||||
|
||||
// This is the affinity we use when a platform-supplied value has null
|
||||
|
@ -21,7 +21,7 @@ import 'debug.dart';
|
||||
/// * [Layer.findAnnotations], which create and use objects of this class.
|
||||
@immutable
|
||||
class AnnotationEntry<T> {
|
||||
/// Create an entry of found annotation by providing the oject and related
|
||||
/// Create an entry of found annotation by providing the object and related
|
||||
/// information.
|
||||
const AnnotationEntry({
|
||||
@required this.annotation,
|
||||
@ -590,11 +590,11 @@ class TextureLayer extends Layer {
|
||||
|
||||
/// When true the texture that will not be updated with new frames.
|
||||
///
|
||||
/// This is used when resizing an embedded Android views: When resizing
|
||||
/// there is a short period during which the framework cannot tell
|
||||
/// if the newest texture frame has the previous or new size, to workaround this
|
||||
/// the framework "freezes" the texture just before resizing the Android view and unfreezes
|
||||
/// it when it is certain that a frame with the new size is ready.
|
||||
/// This is used when resizing an embedded Android views: When resizing there
|
||||
/// is a short period during which the framework cannot tell if the newest
|
||||
/// texture frame has the previous or new size, to workaround this the
|
||||
/// framework "freezes" the texture just before resizing the Android view and
|
||||
/// un-freezes it when it is certain that a frame with the new size is ready.
|
||||
final bool freeze;
|
||||
|
||||
@override
|
||||
@ -2338,7 +2338,7 @@ class AnnotatedRegionLayer<T> extends ContainerLayer {
|
||||
/// The [offset] defaults to [Offset.zero] if not provided, and is ignored if
|
||||
/// [size] is not set.
|
||||
///
|
||||
/// The [offset] only offsets the clipping rectagle, and does not affect
|
||||
/// The [offset] only offsets the clipping rectangle, and does not affect
|
||||
/// how the painting or annotation search is propagated to its children.
|
||||
final Offset offset;
|
||||
|
||||
|
@ -751,11 +751,11 @@ class SemanticsProperties extends DiagnosticableTree {
|
||||
/// Doing so instructs screen readers to not read out the [value].
|
||||
final bool obscured;
|
||||
|
||||
/// Whether the [value] is coming from a field that supports multi-line text
|
||||
/// Whether the [value] is coming from a field that supports multiline text
|
||||
/// editing.
|
||||
///
|
||||
/// This option is only meaningful when [textField] is true to indicate
|
||||
/// whether it's a single-line or multi-line text field.
|
||||
/// whether it's a single-line or multiline text field.
|
||||
///
|
||||
/// This option is null when [textField] is false.
|
||||
final bool multiline;
|
||||
@ -1737,7 +1737,7 @@ class SemanticsNode extends AbstractNode with DiagnosticableTreeMixin {
|
||||
TextSelection _textSelection;
|
||||
|
||||
/// If this node represents a text field, this indicates whether or not it's
|
||||
/// a multi-line text field.
|
||||
/// a multiline text field.
|
||||
bool get isMultiline => _isMultiline;
|
||||
bool _isMultiline;
|
||||
|
||||
@ -3697,10 +3697,10 @@ class SemanticsConfiguration {
|
||||
_setFlag(SemanticsFlag.isObscured, value);
|
||||
}
|
||||
|
||||
/// Whether the text field is multi-line.
|
||||
/// Whether the text field is multiline.
|
||||
///
|
||||
/// This option is usually set in combination with [textField] to indicate
|
||||
/// that the text field is configured to be multi-line.
|
||||
/// that the text field is configured to be multiline.
|
||||
bool get isMultiline => _hasFlag(SemanticsFlag.isMultiline);
|
||||
set isMultiline(bool value) {
|
||||
_setFlag(SemanticsFlag.isMultiline, value);
|
||||
|
@ -68,10 +68,10 @@ class TextInputType {
|
||||
/// Requests the default platform keyboard.
|
||||
static const TextInputType text = TextInputType._(0);
|
||||
|
||||
/// Optimize for multi-line textual information.
|
||||
/// Optimize for multiline textual information.
|
||||
///
|
||||
/// Requests the default platform keyboard, but accepts newlines when the
|
||||
/// enter key is pressed. This is the input type used for all multi-line text
|
||||
/// enter key is pressed. This is the input type used for all multiline text
|
||||
/// fields.
|
||||
static const TextInputType multiline = TextInputType._(1);
|
||||
|
||||
@ -408,7 +408,7 @@ class TextInputConfiguration {
|
||||
/// Defaults to false.
|
||||
final bool obscureText;
|
||||
|
||||
/// Whether to enable auto-correction.
|
||||
/// Whether to enable autocorrection.
|
||||
///
|
||||
/// Defaults to true.
|
||||
final bool autocorrect;
|
||||
|
@ -214,7 +214,7 @@ class _AutomaticKeepAliveState extends State<AutomaticKeepAlive> {
|
||||
// If mounted is false, we went away as well, so there's nothing to do.
|
||||
// If _handles is no longer empty, then another client (or the same
|
||||
// client in a new place) registered itself before we had a chance to
|
||||
// turn off keep-alive, so again there's nothing to do.
|
||||
// turn off keepalive, so again there's nothing to do.
|
||||
setState(() {
|
||||
assert(!_keepingAlive);
|
||||
});
|
||||
@ -273,7 +273,7 @@ class _AutomaticKeepAliveState extends State<AutomaticKeepAlive> {
|
||||
/// Failure to trigger the [handle] in the manner described above will likely
|
||||
/// cause the [AutomaticKeepAlive] to lose track of whether the widget should be
|
||||
/// kept alive or not, leading to memory leaks or lost data. For example, if the
|
||||
/// widget that requested keep-alive is removed from the subtree but doesn't
|
||||
/// widget that requested keepalive is removed from the subtree but doesn't
|
||||
/// trigger its [Listenable] on the way out, then the subtree will continue to
|
||||
/// be kept alive until the list itself is disposed. Similarly, if the
|
||||
/// [Listenable] is triggered while the widget needs to be kept alive, but a new
|
||||
|
@ -19,7 +19,7 @@ class ColorFiltered extends SingleChildRenderObjectWidget {
|
||||
: assert(colorFilter != null),
|
||||
super(key: key, child: child);
|
||||
|
||||
/// The color filter to apply to the child of this widvget.
|
||||
/// The color filter to apply to the child of this widget.
|
||||
final ColorFilter colorFilter;
|
||||
|
||||
@override
|
||||
|
@ -511,7 +511,7 @@ class _DraggableScrollableSheetScrollPosition
|
||||
/// A widget that can notify a descendent [DraggableScrollableSheet] that it
|
||||
/// should reset its position to the initial state.
|
||||
///
|
||||
/// The [Scaffold] uses this widget to notify a persistentent bottom sheet that
|
||||
/// The [Scaffold] uses this widget to notify a persistent bottom sheet that
|
||||
/// the user has tapped back if the sheet has started to cover more of the body
|
||||
/// than when at its initial position. This is important for users of assistive
|
||||
/// technology, where dragging may be difficult to communicate.
|
||||
|
@ -544,7 +544,7 @@ class EditableText extends StatefulWidget {
|
||||
/// and CSS's [line-height](https://www.w3.org/TR/CSS2/visudet.html#line-height).
|
||||
/// {@endtemplate}
|
||||
///
|
||||
/// Within editable text and textfields, [StrutStyle] will not use its standalone
|
||||
/// Within editable text and text fields, [StrutStyle] will not use its standalone
|
||||
/// default values, and will instead inherit omitted/null properties from the
|
||||
/// [TextStyle] instead. See [StrutStyle.inheritFromTextStyle].
|
||||
StrutStyle get strutStyle {
|
||||
|
@ -165,7 +165,7 @@ class FocusAttachment {
|
||||
///
|
||||
/// There are several actors involved in the lifecycle of a
|
||||
/// [FocusNode]/[FocusScopeNode]. They are created and disposed by their
|
||||
/// _owner_, attached, detached, and reparented using a [FocusAttachment] by
|
||||
/// _owner_, attached, detached, and re-parented using a [FocusAttachment] by
|
||||
/// their _host_ (which must be owned by the [State] of a [StatefulWidget]), and
|
||||
/// they are managed by the [FocusManager]. Different parts of the [FocusNode]
|
||||
/// API are intended for these different actors.
|
||||
|
@ -101,7 +101,7 @@ abstract class FocusTraversalPolicy {
|
||||
@protected
|
||||
void invalidateScopeData(FocusScopeNode node) {}
|
||||
|
||||
/// This is called whenever the given [node] is reparented into a new scope,
|
||||
/// This is called whenever the given [node] is re-parented into a new scope,
|
||||
/// so that the policy has a chance to update or invalidate any cached data
|
||||
/// that it maintains per scope about the node.
|
||||
///
|
||||
|
@ -721,7 +721,7 @@ abstract class BoxScrollView extends ScrollView {
|
||||
///
|
||||
/// * Letting [KeepAlive] be the root widget of the list child widget subtree
|
||||
/// that needs to be preserved. The [KeepAlive] widget marks the child
|
||||
/// subtree's top render object child for keep-alive. When the associated top
|
||||
/// subtree's top render object child for keepalive. When the associated top
|
||||
/// render object is scrolled out of view, the list keeps the child's render
|
||||
/// object (and by extension, its associated elements and states) in a cache
|
||||
/// list instead of destroying them. When scrolled back into view, the render
|
||||
@ -739,7 +739,7 @@ abstract class BoxScrollView extends ScrollView {
|
||||
///
|
||||
/// As an example, the [EditableText] widget signals its list child element
|
||||
/// subtree to stay alive while its text field has input focus. If it doesn't
|
||||
/// have focus and no other descendants signaled for keep-alive via a
|
||||
/// have focus and no other descendants signaled for keepalive via a
|
||||
/// [KeepAliveNotification], the list child element subtree will be destroyed
|
||||
/// when scrolled away.
|
||||
///
|
||||
|
@ -78,7 +78,7 @@ int _kDefaultSemanticIndexCallback(Widget _, int localIndex) => localIndex;
|
||||
///
|
||||
/// * Letting [KeepAlive] be the root widget of the sliver child widget subtree
|
||||
/// that needs to be preserved. The [KeepAlive] widget marks the child
|
||||
/// subtree's top render object child for keep-alive. When the associated top
|
||||
/// subtree's top render object child for keepalive. When the associated top
|
||||
/// render object is scrolled out of view, the sliver keeps the child's
|
||||
/// render object (and by extension, its associated elements and states) in a
|
||||
/// cache list instead of destroying them. When scrolled back into view, the
|
||||
@ -98,7 +98,7 @@ int _kDefaultSemanticIndexCallback(Widget _, int localIndex) => localIndex;
|
||||
///
|
||||
/// As an example, the [EditableText] widget signals its sliver child element
|
||||
/// subtree to stay alive while its text field has input focus. If it doesn't
|
||||
/// have focus and no other descendants signaled for keep-alive via a
|
||||
/// have focus and no other descendants signaled for keepalive via a
|
||||
/// [KeepAliveNotification], the sliver child element subtree will be
|
||||
/// destroyed when scrolled away.
|
||||
///
|
||||
|
@ -703,7 +703,7 @@ class _WidgetInspectorService = Object with WidgetInspectorService;
|
||||
///
|
||||
/// All methods returning String values return JSON.
|
||||
mixin WidgetInspectorService {
|
||||
/// Ring of cached JSON values to prevent json from being garbage
|
||||
/// Ring of cached JSON values to prevent JSON from being garbage
|
||||
/// collected before it can be requested over the Observatory protocol.
|
||||
final List<String> _serializeRing = List<String>(20);
|
||||
int _serializeRingIndex = 0;
|
||||
@ -1691,7 +1691,7 @@ mixin WidgetInspectorService {
|
||||
/// to be at most [width] pixels wide and [height] pixels tall. The returned
|
||||
/// image will never have a scale between logical pixels and the
|
||||
/// size of the output image larger than maxPixelRatio.
|
||||
/// [margin] indicates the number of pixels relative to the unscaled size of
|
||||
/// [margin] indicates the number of pixels relative to the un-scaled size of
|
||||
/// the [object] to include as a margin to include around the bounds of the
|
||||
/// [object] in the screenshot. Including a margin can be useful to capture
|
||||
/// areas that are slightly outside of the normal bounds of an object such as
|
||||
|
@ -642,7 +642,7 @@ void main() {
|
||||
|
||||
final RenderBox actionsSectionBox = findScrollableActionsSectionRenderBox(tester);
|
||||
|
||||
// The two multi-line buttons with large text are taller than 50% of the
|
||||
// The two multiline buttons with large text are taller than 50% of the
|
||||
// dialog height, but with the accessibility layout policy, the 2 buttons
|
||||
// should be in a scrollable area equal to half the dialog height.
|
||||
expect(
|
||||
|
@ -11,7 +11,7 @@ const List<int> kTransparentImage = <int>[
|
||||
];
|
||||
|
||||
/// An animated GIF image with 3 1x1 pixel frames (a red, green, and blue
|
||||
/// frames). The gif animates forever, and each frame has a 100ms delay.
|
||||
/// frames). The GIF animates forever, and each frame has a 100ms delay.
|
||||
const List<int> kAnimatedGif = <int> [
|
||||
0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0xa1, 0x03, 0x00,
|
||||
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x21,
|
||||
|
@ -259,7 +259,7 @@ void main() {
|
||||
children: <Widget>[
|
||||
EditableText(
|
||||
backgroundCursorColor: Colors.grey,
|
||||
maxLines: null, // multi-line
|
||||
maxLines: null, // multiline
|
||||
controller: controller,
|
||||
focusNode: focusNode,
|
||||
style: textStyle,
|
||||
|
@ -756,7 +756,7 @@ void main() {
|
||||
|
||||
/// Toolbar is not used in Flutter Web. Skip this check.
|
||||
///
|
||||
/// Web is using native dom elements (it is also used as platform input)
|
||||
/// Web is using native DOM elements (it is also used as platform input)
|
||||
/// to enable clipboard functionality of the toolbar: copy, paste, select,
|
||||
/// cut. It might also provide additional functionality depending on the
|
||||
/// browser (such as translation). Due to this, in browsers, we should not
|
||||
|
@ -11,7 +11,7 @@ const List<int> kTransparentImage = <int>[
|
||||
];
|
||||
|
||||
/// An animated GIF image with 3 1x1 pixel frames (a red, green, and blue
|
||||
/// frames). The gif animates forever, and each frame has a 100ms delay.
|
||||
/// frames). The GIF animates forever, and each frame has a 100ms delay.
|
||||
const List<int> kAnimatedGif = <int> [
|
||||
0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0xa1, 0x03, 0x00,
|
||||
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x21,
|
||||
|
@ -17,7 +17,7 @@ enum DiagnosticsType {
|
||||
|
||||
EnumIndex<DiagnosticsType> _diagnosticsTypeIndex = EnumIndex<DiagnosticsType>(DiagnosticsType.values);
|
||||
|
||||
/// A Flutter Driver command to retrieve the json-serialized [DiagnosticsNode]
|
||||
/// A Flutter Driver command to retrieve the JSON-serialized [DiagnosticsNode]
|
||||
/// tree of the object identified by [finder].
|
||||
///
|
||||
/// The [DiagnosticsType] of the [DiagnosticsNode] tree returned is specified by
|
||||
@ -67,7 +67,7 @@ class DiagnosticsTreeResult extends Result {
|
||||
/// Creates a [DiagnosticsTreeResult].
|
||||
const DiagnosticsTreeResult(this.json);
|
||||
|
||||
/// The json encoded [DiagnosticsNode] tree requested by the
|
||||
/// The JSON encoded [DiagnosticsNode] tree requested by the
|
||||
/// [GetDiagnosticsTree] command.
|
||||
final Map<String, Object> json;
|
||||
|
||||
|
@ -435,7 +435,7 @@ class GetSemanticsId extends CommandWithTarget {
|
||||
/// Creates a command which finds a Widget and then looks up the semantic id.
|
||||
GetSemanticsId(SerializableFinder finder, {Duration timeout}) : super(finder, timeout: timeout);
|
||||
|
||||
/// Creates a command from a json map.
|
||||
/// Creates a command from a JSON map.
|
||||
GetSemanticsId.deserialize(Map<String, String> json)
|
||||
: super.deserialize(json);
|
||||
|
||||
|
@ -76,7 +76,7 @@ class _DriverBinding extends BindingBase with ServicesBinding, SchedulerBinding,
|
||||
///
|
||||
/// `silenceErrors` will prevent exceptions from being logged. This is useful
|
||||
/// for tests where exceptions are expected. Defaults to false. Any errors
|
||||
/// will still be returned in the `response` field of the result json along
|
||||
/// will still be returned in the `response` field of the result JSON along
|
||||
/// with an `isError` boolean.
|
||||
void enableFlutterDriverExtension({ DataHandler handler, bool silenceErrors = false }) {
|
||||
assert(WidgetsBinding.instance == null);
|
||||
|
@ -156,7 +156,7 @@ abstract class FlutterGoldenFileComparator extends GoldenFileComparator {
|
||||
return goldenFile;
|
||||
}
|
||||
|
||||
/// Prepends the golden Uri with the library name that encloses the current
|
||||
/// Prepends the golden URL with the library name that encloses the current
|
||||
/// test.
|
||||
Uri _addPrefix(Uri golden) {
|
||||
final String prefix = basedir.pathSegments[basedir.pathSegments.length - 2];
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
/// Json response template for Skia Gold expectations request:
|
||||
/// JSON response template for Skia Gold expectations request:
|
||||
/// https://flutter-gold.skia.org/json/expectations/commit/HEAD
|
||||
String rawExpectationsTemplate() {
|
||||
return '''
|
||||
|
@ -58,7 +58,7 @@ class SkiaGoldClient {
|
||||
final io.HttpClient httpClient;
|
||||
|
||||
/// The local [Directory] within the [comparisonRoot] for the current test
|
||||
/// context. In this directory, the client will create image and json files
|
||||
/// context. In this directory, the client will create image and JSON files
|
||||
/// for the goldctl tool to use.
|
||||
///
|
||||
/// This is informed by the [FlutterGoldenFileComparator] [basedir]. It cannot
|
||||
@ -404,7 +404,7 @@ class SkiaGoldDigest {
|
||||
this.status,
|
||||
});
|
||||
|
||||
/// Create a digest from requested json.
|
||||
/// Create a digest from requested JSON.
|
||||
factory SkiaGoldDigest.fromJson(Map<String, dynamic> json) {
|
||||
if (json == null)
|
||||
return null;
|
||||
@ -424,10 +424,10 @@ class SkiaGoldDigest {
|
||||
/// Parameter set for the given test, e.g. Platform : Windows.
|
||||
final Map<String, dynamic> paramSet;
|
||||
|
||||
/// Test name associated with the digest, e.g. positive or untriaged.
|
||||
/// Test name associated with the digest, e.g. positive or un-triaged.
|
||||
final String testName;
|
||||
|
||||
/// Status of the given digest, e.g. positive or untriaged.
|
||||
/// Status of the given digest, e.g. positive or un-triaged.
|
||||
final String status;
|
||||
|
||||
/// Validates a given digest against the current testing conditions.
|
||||
|
@ -25,7 +25,7 @@ import 'widgets_localizations.dart';
|
||||
///
|
||||
/// {@macro flutter.localizations.cupertino.languages}
|
||||
///
|
||||
/// This list is available programatically via [kCupertinoSupportedLanguages].
|
||||
/// This list is available programmatically via [kCupertinoSupportedLanguages].
|
||||
///
|
||||
/// ## Sample code
|
||||
///
|
||||
|
@ -23,7 +23,7 @@ import 'widgets_localizations.dart';
|
||||
///
|
||||
/// {@macro flutter.localizations.material.languages}
|
||||
///
|
||||
/// This list is available programatically via [kMaterialSupportedLanguages].
|
||||
/// This list is available programmatically via [kMaterialSupportedLanguages].
|
||||
///
|
||||
/// ## Sample code
|
||||
///
|
||||
|
@ -65,7 +65,7 @@ abstract class AccessibilityGuideline {
|
||||
String get description;
|
||||
}
|
||||
|
||||
/// A guideline which enforces that all tapable semantics nodes have a minimum
|
||||
/// A guideline which enforces that all tappable semantics nodes have a minimum
|
||||
/// size.
|
||||
///
|
||||
/// Each platform defines its own guidelines for minimum tap areas.
|
||||
@ -73,7 +73,7 @@ abstract class AccessibilityGuideline {
|
||||
class MinimumTapTargetGuideline extends AccessibilityGuideline {
|
||||
const MinimumTapTargetGuideline._(this.size, this.link);
|
||||
|
||||
/// The minimum allowed size of a tapable node.
|
||||
/// The minimum allowed size of a tappable node.
|
||||
final Size size;
|
||||
|
||||
/// A link describing the tap target guidelines for a platform.
|
||||
@ -419,7 +419,7 @@ class _ContrastReport {
|
||||
}
|
||||
}
|
||||
|
||||
/// A guideline which requires tapable semantic nodes a minimum size of 48 by 48.
|
||||
/// A guideline which requires tappable semantic nodes a minimum size of 48 by 48.
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
@ -429,7 +429,7 @@ const AccessibilityGuideline androidTapTargetGuideline = MinimumTapTargetGuideli
|
||||
'https://support.google.com/accessibility/android/answer/7101858?hl=en',
|
||||
);
|
||||
|
||||
/// A guideline which requires tapable semantic nodes a minimum size of 44 by 44.
|
||||
/// A guideline which requires tappable semantic nodes a minimum size of 44 by 44.
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
|
@ -142,7 +142,7 @@ Matcher isSameColorAs(Color color) => _ColorMatcher(targetColor: color);
|
||||
/// empty, and does not contain the default `Instance of ...` string.
|
||||
const Matcher hasOneLineDescription = _HasOneLineDescription();
|
||||
|
||||
/// Asserts that an object's toStringDeep() is a plausible multi-line
|
||||
/// Asserts that an object's toStringDeep() is a plausible multiline
|
||||
/// description.
|
||||
///
|
||||
/// Specifically, this matcher checks that an object's
|
||||
@ -308,7 +308,7 @@ Matcher coversSameAreaAs(Path expectedPath, { @required Rect areaToCompare, int
|
||||
/// treated as the image for the widget. As such, you may choose to wrap a test
|
||||
/// widget in a [RepaintBoundary] to specify a particular focus for the test.
|
||||
///
|
||||
/// The [key] may be either a [Uri] or a [String] representation of a URI.
|
||||
/// The [key] may be either a [Uri] or a [String] representation of a URL.
|
||||
///
|
||||
/// The [version] is a number that can be used to differentiate historical
|
||||
/// golden files. This parameter is optional.
|
||||
@ -589,8 +589,8 @@ Matcher matchesSemantics({
|
||||
///
|
||||
/// Supported accessibility guidelines:
|
||||
///
|
||||
/// * [androidTapTargetGuideline], for Android minimum tapable area guidelines.
|
||||
/// * [iOSTapTargetGuideline], for iOS minimum tapable area guidelines.
|
||||
/// * [androidTapTargetGuideline], for Android minimum tappable area guidelines.
|
||||
/// * [iOSTapTargetGuideline], for iOS minimum tappable area guidelines.
|
||||
/// * [textContrastGuideline], for WCAG minimum text contrast guidelines.
|
||||
AsyncMatcher meetsGuideline(AccessibilityGuideline guideline) {
|
||||
return _MatchesAccessibilityGuideline(guideline);
|
||||
@ -812,7 +812,7 @@ class _EqualsIgnoringHashCodes extends Matcher {
|
||||
) {
|
||||
if (matchState.containsKey(_mismatchedValueKey)) {
|
||||
final String actualValue = matchState[_mismatchedValueKey] as String;
|
||||
// Leading whitespace is added so that lines in the multi-line
|
||||
// Leading whitespace is added so that lines in the multiline
|
||||
// description returned by addDescriptionOf are all indented equally
|
||||
// which makes the output easier to read for this case.
|
||||
return mismatchDescription
|
||||
|
@ -208,7 +208,7 @@ void createSettingsAarGradle(Directory androidDirectory) {
|
||||
///
|
||||
/// * [project] is typically [FlutterProject.current()].
|
||||
/// * [androidBuildInfo] is the build configuration.
|
||||
/// * [target] is the target dart entrypoint. Typically, `lib/main.dart`.
|
||||
/// * [target] is the target dart entry point. Typically, `lib/main.dart`.
|
||||
/// * If [isBuildingBundle] is `true`, then the output artifact is an `*.aab`,
|
||||
/// otherwise the output artifact is an `*.apk`.
|
||||
/// * The plugins are built as AARs if [shouldBuildPluginAsAar] is `true`. This isn't set by default
|
||||
|
@ -257,11 +257,11 @@ class _Asset {
|
||||
|
||||
final String baseDir;
|
||||
|
||||
/// A platform-independent Uri where this asset can be found on disk on the
|
||||
/// A platform-independent URL where this asset can be found on disk on the
|
||||
/// host system relative to [baseDir].
|
||||
final Uri relativeUri;
|
||||
|
||||
/// A platform-independent Uri representing the entry for the asset manifest.
|
||||
/// A platform-independent URL representing the entry for the asset manifest.
|
||||
final Uri entryUri;
|
||||
|
||||
File get assetFile {
|
||||
|
@ -173,7 +173,7 @@ class BuildMode {
|
||||
/// other development features.
|
||||
bool get isRelease => releaseModes.contains(this);
|
||||
|
||||
/// Whether this mode is using the jit runtime.
|
||||
/// Whether this mode is using the JIT runtime.
|
||||
bool get isJit => jitModes.contains(this);
|
||||
|
||||
/// Whether this mode is using the precompiled runtime.
|
||||
|
@ -175,14 +175,14 @@ final List<core.BuilderApplication> builders = <core.BuilderApplication>[
|
||||
defaultGenerateFor: const InputSet()),
|
||||
];
|
||||
|
||||
/// The entrypoint to this build script.
|
||||
/// The entry point to this build script.
|
||||
Future<void> main(List<String> args, [SendPort sendPort]) async {
|
||||
core.overrideGeneratedOutputDirectory('flutter_web');
|
||||
final int result = await build_runner.run(args, builders);
|
||||
sendPort?.send(result);
|
||||
}
|
||||
|
||||
/// A ddc-only entrypoint builder that respects the Flutter target flag.
|
||||
/// A ddc-only entry point builder that respects the Flutter target flag.
|
||||
class FlutterWebTestEntrypointBuilder implements Builder {
|
||||
const FlutterWebTestEntrypointBuilder();
|
||||
|
||||
@ -208,7 +208,7 @@ class FlutterWebTestEntrypointBuilder implements Builder {
|
||||
}
|
||||
}
|
||||
|
||||
/// A ddc-only entrypoint builder that respects the Flutter target flag.
|
||||
/// A ddc-only entry point builder that respects the Flutter target flag.
|
||||
class FlutterWebEntrypointBuilder implements Builder {
|
||||
const FlutterWebEntrypointBuilder(this.release, this.profile, this.flutterWebSdk);
|
||||
|
||||
@ -237,7 +237,7 @@ class FlutterWebEntrypointBuilder implements Builder {
|
||||
}
|
||||
}
|
||||
|
||||
/// Bootstraps the test entrypoint.
|
||||
/// Bootstraps the test entry point.
|
||||
class FlutterWebTestBootstrapBuilder implements Builder {
|
||||
const FlutterWebTestBootstrapBuilder();
|
||||
|
||||
@ -347,7 +347,7 @@ void setStackTraceMapper(StackTraceMapper mapper) {
|
||||
}
|
||||
}
|
||||
|
||||
/// A shell builder which generates the web specific entrypoint.
|
||||
/// A shell builder which generates the web specific entry point.
|
||||
class FlutterWebShellBuilder implements Builder {
|
||||
const FlutterWebShellBuilder({this.hasPlugins = false, this.initializePlatform = true});
|
||||
|
||||
@ -403,7 +403,7 @@ Future<void> main() async {
|
||||
};
|
||||
}
|
||||
|
||||
/// Returns whether or not [dartId] is an app entrypoint (basically, whether
|
||||
/// Returns whether or not [dartId] is an app entry point (basically, whether
|
||||
/// or not it has a `main` function).
|
||||
Future<bool> _isAppEntryPoint(AssetId dartId, AssetReader reader) async {
|
||||
assert(dartId.extension == '.dart');
|
||||
|
@ -94,7 +94,7 @@ class BuildRunnerWebCompilationProxy extends WebCompilationProxy {
|
||||
}
|
||||
}
|
||||
|
||||
/// Handles mapping a single root file scheme to a multiroot scheme.
|
||||
/// Handles mapping a single root file scheme to a multi-root scheme.
|
||||
///
|
||||
/// This allows one build_runner build to read the output from a previous
|
||||
/// isolated build.
|
||||
|
@ -71,7 +71,7 @@ typedef DwdsFactory = Future<Dwds> Function({
|
||||
bool enableDebugExtension,
|
||||
});
|
||||
|
||||
/// A function with the same signatuure as [WebFs.start].
|
||||
/// A function with the same signature as [WebFs.start].
|
||||
typedef WebFsFactory = Future<WebFs> Function({
|
||||
@required String target,
|
||||
@required FlutterProject flutterProject,
|
||||
@ -100,7 +100,7 @@ class WebFs {
|
||||
this._dartDefines,
|
||||
);
|
||||
|
||||
/// The server uri.
|
||||
/// The server URL.
|
||||
final String uri;
|
||||
|
||||
final HttpServer _server;
|
||||
|
@ -29,7 +29,7 @@ BuildSystem get buildSystem => context.get<BuildSystem>();
|
||||
/// A reasonable amount of files to open at the same time.
|
||||
///
|
||||
/// This number is somewhat arbitrary - it is difficult to detect whether
|
||||
/// or not we'll run out of file descriptiors when using async dart:io
|
||||
/// or not we'll run out of file descriptors when using async dart:io
|
||||
/// APIs.
|
||||
const int kMaxOpenFiles = 64;
|
||||
|
||||
@ -83,7 +83,7 @@ class BuildSystemConfig {
|
||||
///
|
||||
/// ## Code review
|
||||
///
|
||||
/// ### Targes should only depend on files that are provided as inputs
|
||||
/// ### Targets should only depend on files that are provided as inputs
|
||||
///
|
||||
/// Example: gen_snapshot must be provided as an input to the aot_elf
|
||||
/// build steps, even though it isn't a source file. This ensures that changes
|
||||
|
@ -81,9 +81,9 @@ class SourceVisitor implements ResolvedFiles {
|
||||
.map((String path) => fs.file(path));
|
||||
}
|
||||
|
||||
/// Visit a [Source] which contains a file uri.
|
||||
/// Visit a [Source] which contains a file URL.
|
||||
///
|
||||
/// The uri may include constants defined in an [Environment]. If
|
||||
/// The URL may include constants defined in an [Environment]. If
|
||||
/// [optional] is true, the file is not required to exist. In this case, it
|
||||
/// is never resolved as an input.
|
||||
void visitPattern(String pattern, bool optional) {
|
||||
@ -182,7 +182,7 @@ class SourceVisitor implements ResolvedFiles {
|
||||
|
||||
/// A description of an input or output of a [Target].
|
||||
abstract class Source {
|
||||
/// This source is a file-uri which contains some references to magic
|
||||
/// This source is a file URL which contains some references to magic
|
||||
/// environment variables.
|
||||
const factory Source.pattern(String pattern, { bool optional }) = _PatternSource;
|
||||
/// The source is provided by an [Artifact].
|
||||
|
@ -42,7 +42,7 @@ const String kExtraGenSnapshotOptions = 'ExtraGenSnapshotOptions';
|
||||
|
||||
/// Alternative scheme for file URIs.
|
||||
///
|
||||
/// May be used along with [kFileSystemRoots] to support a multiroot
|
||||
/// May be used along with [kFileSystemRoots] to support a multi-root
|
||||
/// filesystem.
|
||||
const String kFileSystemScheme = 'FileSystemScheme';
|
||||
|
||||
@ -62,7 +62,7 @@ const String kDartDefines = 'DartDefines';
|
||||
/// The other supported value is armv7, the 32-bit iOS architecture.
|
||||
const String kIosArchs = 'IosArchs';
|
||||
|
||||
/// Copies the prebuilt flutter bundle.
|
||||
/// Copies the pre-built flutter bundle.
|
||||
// This is a one-off rule for implementing build bundle in terms of assemble.
|
||||
class CopyFlutterBundle extends Target {
|
||||
const CopyFlutterBundle();
|
||||
@ -118,7 +118,7 @@ class CopyFlutterBundle extends Target {
|
||||
];
|
||||
}
|
||||
|
||||
/// Copies the prebuilt flutter bundle for release mode.
|
||||
/// Copies the pre-built flutter bundle for release mode.
|
||||
class ReleaseCopyFlutterBundle extends CopyFlutterBundle {
|
||||
const ReleaseCopyFlutterBundle();
|
||||
|
||||
@ -331,7 +331,7 @@ class AotElfRelease extends AotElfBase {
|
||||
];
|
||||
}
|
||||
|
||||
/// Copies the prebuilt flutter aot bundle.
|
||||
/// Copies the pre-built flutter aot bundle.
|
||||
// This is a one-off rule for implementing build aot in terms of assemble.
|
||||
abstract class CopyFlutterAotBundle extends Target {
|
||||
const CopyFlutterAotBundle();
|
||||
|
@ -18,7 +18,7 @@ import 'dart.dart';
|
||||
/// Supports compiling a dart kernel file to an assembly file.
|
||||
///
|
||||
/// If more than one iOS arch is provided, then this rule will
|
||||
/// produce a univeral binary.
|
||||
/// produce a universal binary.
|
||||
abstract class AotAssemblyBase extends Target {
|
||||
const AotAssemblyBase();
|
||||
|
||||
|
@ -26,7 +26,7 @@ const String kHasWebPlugins = 'HasWebPlugins';
|
||||
/// Valid values are O1 (lowest, profile default) to O4 (highest, release default).
|
||||
const String kDart2jsOptimization = 'Dart2jsOptimization';
|
||||
|
||||
/// Generates an entrypoint for a web target.
|
||||
/// Generates an entry point for a web target.
|
||||
class WebEntrypointTarget extends Target {
|
||||
const WebEntrypointTarget();
|
||||
|
||||
@ -94,7 +94,7 @@ Future<void> main() async {
|
||||
}
|
||||
}
|
||||
|
||||
/// Compiles a web entrypoint with dart2js.
|
||||
/// Compiles a web entry point with dart2js.
|
||||
class Dart2JSTarget extends Target {
|
||||
const Dart2JSTarget();
|
||||
|
||||
|
@ -33,7 +33,7 @@ CodeGenerator get codeGenerator => context.get<CodeGenerator>();
|
||||
abstract class CodeGenerator {
|
||||
const CodeGenerator();
|
||||
|
||||
/// Starts a persistent code generting daemon.
|
||||
/// Starts a persistent code generating daemon.
|
||||
///
|
||||
/// The defines of the daemon command are the arguments required in the
|
||||
/// flutter_build kernel builder.
|
||||
@ -44,7 +44,7 @@ abstract class CodeGenerator {
|
||||
Future<void> generateBuildScript(FlutterProject flutterProject);
|
||||
|
||||
/// Create generated packages file which adds a multi-root scheme to the user's
|
||||
/// project directory. Currently we only replace the root package with a multiroot
|
||||
/// project directory. Currently we only replace the root package with a multi-root
|
||||
/// scheme. To support codegen on arbitrary packages we would need to do
|
||||
/// this for each dependency.
|
||||
void updatePackages(FlutterProject flutterProject) {
|
||||
@ -83,7 +83,7 @@ abstract class CodegenDaemon {
|
||||
/// An implementation of the [KernelCompiler] which delegates to build_runner.
|
||||
///
|
||||
/// Only a subset of the arguments provided to the [KernelCompiler] are
|
||||
/// supported here. Using the build pipeline implies a fixed multiroot
|
||||
/// supported here. Using the build pipeline implies a fixed multi-root
|
||||
/// filesystem and requires a pubspec.
|
||||
class CodeGeneratingKernelCompiler implements KernelCompiler {
|
||||
const CodeGeneratingKernelCompiler();
|
||||
|
@ -111,7 +111,7 @@ class BuildAarCommand extends BuildSubCommand {
|
||||
return null;
|
||||
}
|
||||
|
||||
/// Returns the [FlutterProject] which is determinated from the remaining command-line
|
||||
/// Returns the [FlutterProject] which is determined from the remaining command-line
|
||||
/// argument if any or the current working directory.
|
||||
FlutterProject _getProject() {
|
||||
if (argResults.rest.isEmpty) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
import '../runner/flutter_command.dart';
|
||||
|
||||
/// This command is run when generating the app-jit snapshot for the tool, so it cannot access the Cache
|
||||
/// This command is run when generating the app-JIT snapshot for the tool, so it cannot access the Cache
|
||||
/// or any artifacts that haven't been downloaded yet.
|
||||
class TrainingCommand extends FlutterCommand {
|
||||
@override
|
||||
|
@ -1207,7 +1207,7 @@ class PubDependencyTree {
|
||||
/// dependencies section). We ignore if something is a dependency or
|
||||
/// dev_dependency (pub won't use different versions for those two).
|
||||
///
|
||||
/// We then parse out the package name, version number, and subdependencies for
|
||||
/// We then parse out the package name, version number, and sub-dependencies for
|
||||
/// each entry, and store than in our _versions and _dependencyTree fields
|
||||
/// above.
|
||||
String fill(String message) {
|
||||
|
@ -46,7 +46,7 @@ class PackageMap {
|
||||
/// Returns the path to [packageUri].
|
||||
String pathForPackage(Uri packageUri) => uriForPackage(packageUri).path;
|
||||
|
||||
/// Returns the path to [packageUri] as Uri.
|
||||
/// Returns the path to [packageUri] as URL.
|
||||
Uri uriForPackage(Uri packageUri) {
|
||||
assert(packageUri.scheme == 'package');
|
||||
final List<String> pathSegments = packageUri.pathSegments.toList();
|
||||
|
@ -534,5 +534,5 @@ class DevFS {
|
||||
}
|
||||
}
|
||||
|
||||
/// Converts a platform-specific file path to a platform-independent Uri path.
|
||||
/// Converts a platform-specific file path to a platform-independent URL path.
|
||||
String _asUriPath(String filePath) => fs.path.toUri(filePath).path + '/';
|
||||
|
@ -158,7 +158,7 @@ class DeviceManager {
|
||||
|
||||
/// Find and return a list of devices based on the current project and environment.
|
||||
///
|
||||
/// Returns a list of deviecs specified by the user.
|
||||
/// Returns a list of devices specified by the user.
|
||||
///
|
||||
/// * If the user specified '-d all', then return all connected devices which
|
||||
/// support the current project, except for fuchsia and web.
|
||||
@ -221,7 +221,7 @@ class DeviceManager {
|
||||
|
||||
/// Returns whether the device is supported for the project.
|
||||
///
|
||||
/// This exists to allow the check to be overriden for google3 clients.
|
||||
/// This exists to allow the check to be overridden for google3 clients.
|
||||
bool isDeviceSupportedForProject(Device device, FlutterProject flutterProject) {
|
||||
return device.isSupportedForProject(flutterProject);
|
||||
}
|
||||
@ -545,7 +545,7 @@ class DebuggingOptions {
|
||||
final int deviceVmServicePort;
|
||||
final String port;
|
||||
final String hostname;
|
||||
/// A file where the vmservice uri should be written after the application is started.
|
||||
/// A file where the vmservice URL should be written after the application is started.
|
||||
final String vmserviceOutFile;
|
||||
|
||||
bool get hasObservatoryPort => hostVmServicePort != null;
|
||||
|
@ -385,11 +385,11 @@ class GroupedValidator extends DoctorValidator {
|
||||
|
||||
List<ValidationResult> _subResults;
|
||||
|
||||
/// Subvalidator results.
|
||||
/// Sub-validator results.
|
||||
///
|
||||
/// To avoid losing information when results are merged, the subresults are
|
||||
/// To avoid losing information when results are merged, the sub-results are
|
||||
/// cached on this field when they are available. The results are in the same
|
||||
/// order as the subvalidator list.
|
||||
/// order as the sub-validator list.
|
||||
List<ValidationResult> get subResults => _subResults;
|
||||
|
||||
@override
|
||||
|
@ -261,7 +261,7 @@ class FeatureChannelSetting {
|
||||
|
||||
/// Whether the feature is available on this channel.
|
||||
///
|
||||
/// If not provded, defaults to `false`. This implies that the feature
|
||||
/// If not provided, defaults to `false`. This implies that the feature
|
||||
/// cannot be enabled even by the settings below.
|
||||
final bool available;
|
||||
|
||||
|
@ -319,7 +319,7 @@ String buildSchemaPath(FileSystem fs) {
|
||||
|
||||
/// This method should be kept in sync with the schema in
|
||||
/// `$FLUTTER_ROOT/packages/flutter_tools/schema/pubspec_yaml.json`,
|
||||
/// but avoid introducing depdendencies on packages for simple validation.
|
||||
/// but avoid introducing dependencies on packages for simple validation.
|
||||
bool _validate(YamlMap manifest) {
|
||||
final List<String> errors = <String>[];
|
||||
for (final MapEntry<dynamic, dynamic> kvp in manifest.entries) {
|
||||
|
@ -16,7 +16,7 @@ import '../project.dart';
|
||||
/// This is a simple wrapper around the custom kernel compiler from the Fuchsia
|
||||
/// SDK.
|
||||
class FuchsiaKernelCompiler {
|
||||
/// Compiles the [fuchsiaProject] with entrypoint [target] to a collection of
|
||||
/// Compiles the [fuchsiaProject] with entry point [target] to a collection of
|
||||
/// .dilp files (consisting of the app split along package: boundaries, but
|
||||
/// the Flutter tool should make no use of that fact), and a manifest that
|
||||
/// refers to them.
|
||||
|
@ -99,9 +99,9 @@ class FuchsiaPM {
|
||||
]);
|
||||
}
|
||||
|
||||
/// Spawns an http server in a new process for serving Fuchisa packages.
|
||||
/// Spawns an http server in a new process for serving Fuchsia packages.
|
||||
///
|
||||
/// The arguemnt [repoPath] should have previously been an arguemnt to
|
||||
/// The argument [repoPath] should have previously been an argument to
|
||||
/// [newrepo]. The [host] should be the host reported by
|
||||
/// [FuchsiaDevFinder.resolve], and [port] should be an unused port for the
|
||||
/// http server to bind.
|
||||
@ -187,13 +187,13 @@ class FuchsiaPackageServer {
|
||||
|
||||
Process _process;
|
||||
|
||||
/// The url that can be used by the device to access this package server.
|
||||
/// The URL that can be used by the device to access this package server.
|
||||
String get url => 'http://$_host:$_port';
|
||||
|
||||
// The name used to reference the server by fuchsia-pkg:// urls.
|
||||
final String name;
|
||||
|
||||
/// Usees [FuchiaPM.newrepo] and [FuchsiaPM.serve] to spin up a new Fuchsia
|
||||
/// Uses [FuchiaPM.newrepo] and [FuchsiaPM.serve] to spin up a new Fuchsia
|
||||
/// package server.
|
||||
///
|
||||
/// Returns false if the repo could not be created or the server could not
|
||||
|
@ -52,7 +52,7 @@ class FuchsiaTilesCtl {
|
||||
return result.exitCode == 0;
|
||||
}
|
||||
|
||||
/// Returns a mapping of tile keys to app urls.
|
||||
/// Returns a mapping of tile keys to app URLs.
|
||||
///
|
||||
/// Returns an empty mapping if tiles_ctl is running but no apps are running.
|
||||
/// Returns null if tiles_ctl is not running.
|
||||
@ -86,7 +86,7 @@ class FuchsiaTilesCtl {
|
||||
///
|
||||
/// The app is passed the arguments in [args]. Flutter apps receive these
|
||||
/// arguments as arguments to `main()`. [url] should be formatted as a
|
||||
/// Fuchsia-style package url, e.g.:
|
||||
/// Fuchsia-style package URL, e.g.:
|
||||
/// fuchsia-pkg://fuchsia.com/flutter_gallery#meta/flutter_gallery.cmx
|
||||
/// Returns true on success and false on failure.
|
||||
Future<bool> add(FuchsiaDevice device, String url, List<String> args) async {
|
||||
|
@ -629,9 +629,9 @@ class IOSDeviceLogReader extends DeviceLogReader {
|
||||
set idevicesyslogProcess(Process process) => _idevicesyslogProcess = process;
|
||||
Process _idevicesyslogProcess;
|
||||
|
||||
// Returns a stateful line handler to properly capture multi-line output.
|
||||
// Returns a stateful line handler to properly capture multiline output.
|
||||
//
|
||||
// For multi-line log messages, any line after the first is logged without
|
||||
// For multiline log messages, any line after the first is logged without
|
||||
// any specific prefix. To properly capture those, we enter "printing" mode
|
||||
// after matching a log line from the runner. When in printing mode, we print
|
||||
// all lines until we find the start of another log message (from any app).
|
||||
|
@ -893,7 +893,7 @@ class LinuxProject {
|
||||
Future<void> ensureReadyForPlatformSpecificTooling() async {}
|
||||
}
|
||||
|
||||
/// The Fuchisa sub project
|
||||
/// The Fuchsia sub project
|
||||
class FuchsiaProject {
|
||||
FuchsiaProject._(this.project);
|
||||
|
||||
|
@ -63,20 +63,20 @@ class ProtocolDiscovery {
|
||||
StreamSubscription<String> _deviceLogSubscription;
|
||||
_BufferedStreamController<Uri> _uriStreamController;
|
||||
|
||||
/// The discovered service URI.
|
||||
/// The discovered service URL.
|
||||
/// Use [uris] instead.
|
||||
// TODO(egarciad): replace `uri` for `uris`.
|
||||
Future<Uri> get uri {
|
||||
return uris.first;
|
||||
}
|
||||
|
||||
/// The discovered service URIs.
|
||||
/// The discovered service URLs.
|
||||
///
|
||||
/// When a new observatory URI is available in [logReader],
|
||||
/// the URIs are forwarded at most once every [throttleDuration].
|
||||
/// When a new observatory URL: is available in [logReader],
|
||||
/// the URLs are forwarded at most once every [throttleDuration].
|
||||
///
|
||||
/// Port forwarding is only attempted when this is invoked,
|
||||
/// for each observatory URI in the stream.
|
||||
/// for each observatory URL in the stream.
|
||||
Stream<Uri> get uris {
|
||||
return _uriStreamController.stream
|
||||
.transform(_throttle<Uri>(
|
||||
|
@ -8,7 +8,7 @@ const String _kFlutterUA = 'UA-67589403-6';
|
||||
|
||||
/// The collection of custom dimensions understood by the analytics backend.
|
||||
/// When adding to this list, first ensure that the custom dimension is
|
||||
/// defined in the backend, or will be defined shortly after the relevent PR
|
||||
/// defined in the backend, or will be defined shortly after the relevant PR
|
||||
/// lands.
|
||||
enum CustomDimensions {
|
||||
sessionHostOsDetails, // cd1
|
||||
@ -92,7 +92,7 @@ abstract class Usage {
|
||||
/// Whether this is the first run of the tool.
|
||||
bool get isFirstRun;
|
||||
|
||||
/// Whether analytics reporting should be supressed.
|
||||
/// Whether analytics reporting should be suppressed.
|
||||
bool get suppressAnalytics;
|
||||
|
||||
/// Suppress analytics for this session.
|
||||
|
@ -293,7 +293,7 @@ class FlutterPlatform extends PlatformPlugin {
|
||||
|
||||
/// The test compiler produces dill files for each test main.
|
||||
///
|
||||
/// To speed up compilation, each compile is intialized from an existing
|
||||
/// To speed up compilation, each compile is initialized from an existing
|
||||
/// dill file from previous runs, if possible.
|
||||
TestCompiler compiler;
|
||||
|
||||
|
@ -11,7 +11,7 @@ import 'package:meta/meta.dart';
|
||||
/// actual main.dart file.
|
||||
///
|
||||
/// This file is served when the browser requests "main.dart.js" in debug mode,
|
||||
/// and is responsible for bootstraping the RequireJS modules and attaching
|
||||
/// and is responsible for bootstrapping the RequireJS modules and attaching
|
||||
/// the hot reload hooks.
|
||||
String generateBootstrapScript({
|
||||
@required String requireUrl,
|
||||
|
@ -81,7 +81,7 @@ class WebCompilationProxy {
|
||||
/// Returns whether or not the build was successful.
|
||||
///
|
||||
/// `release` controls whether we build the bundle for dartdevc or only
|
||||
/// the entrypoints for dart2js to later take over.
|
||||
/// the entry points for dart2js to later take over.
|
||||
Future<bool> initialize({
|
||||
@required Directory projectDirectory,
|
||||
@required String projectName,
|
||||
|
@ -7,7 +7,7 @@ import 'package:xml/xml.dart' as xml;
|
||||
import '../base/file_system.dart';
|
||||
|
||||
/// Writes a property sheet (.props) file to expose all of the key/value
|
||||
/// pairs in [variables] as enivornment variables.
|
||||
/// pairs in [variables] as environment variables.
|
||||
void writePropertySheet(File propertySheetFile, Map<String, String> variables) {
|
||||
final xml.XmlBuilder builder = xml.XmlBuilder();
|
||||
builder.processing('xml', 'version="1.0" encoding="utf-8"');
|
||||
|
@ -83,7 +83,7 @@ class VisualStudio {
|
||||
/// The names of the components within the workload that must be installed.
|
||||
///
|
||||
/// If there is an existing Visual Studio installation, the major version
|
||||
/// should be provided here, as the descriptions of some componets differ
|
||||
/// should be provided here, as the descriptions of some components differ
|
||||
/// from version to version.
|
||||
List<String> necessaryComponentDescriptions([int visualStudioMajorVersion]) {
|
||||
return _requiredComponents(visualStudioMajorVersion).values.toList();
|
||||
@ -118,7 +118,7 @@ class VisualStudio {
|
||||
'vswhere.exe',
|
||||
);
|
||||
|
||||
/// Components for use with vswhere requriements.
|
||||
/// Components for use with vswhere requirements.
|
||||
///
|
||||
/// Maps from component IDs to description in the installer UI.
|
||||
/// See https://docs.microsoft.com/en-us/visualstudio/install/workload-and-component-ids
|
||||
@ -283,7 +283,7 @@ class VisualStudio {
|
||||
/// Studio.
|
||||
///
|
||||
/// If there's a version that has all the required components, that
|
||||
/// will be returned, otherwise returs the lastest installed version (if any).
|
||||
/// will be returned, otherwise returns the latest installed version (if any).
|
||||
Map<String, dynamic> get _bestVisualStudioDetails {
|
||||
if (_usableVisualStudioDetails.isNotEmpty) {
|
||||
return _usableVisualStudioDetails;
|
||||
|
@ -64,7 +64,7 @@ class FakeCommand {
|
||||
|
||||
/// The process' exit code.
|
||||
///
|
||||
/// To simulate a never-ending process, set [duration] to a value greated than
|
||||
/// To simulate a never-ending process, set [duration] to a value greater than
|
||||
/// 15 minutes (the timeout for our tests).
|
||||
///
|
||||
/// To simulate a crash, subtract the crash signal number from 256. For example,
|
||||
|
@ -12,7 +12,7 @@ import 'package:flutter_tools/src/base/file_system.dart';
|
||||
///
|
||||
/// Do not provide a [LocalFileSystem] as a delegate. Since internally this calls
|
||||
/// out to `dart:io` classes, it will result in a stack overflow error as the
|
||||
/// IOOverrides and LocalFileSystem call eachother endlessly.
|
||||
/// IOOverrides and LocalFileSystem call each other endlessly.
|
||||
///
|
||||
/// The only safe delegate types are those that do not call out to `dart:io`,
|
||||
/// like the [MemoryFileSystem].
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user