Unverified Commit c5318f7f authored by Dan Field's avatar Dan Field Committed by GitHub

Make debugSemantics available to profile mode (#58620)

parent e216eec7
......@@ -190,6 +190,7 @@ Future<void> runDemos(List<String> demos, FlutterDriver driver) async {
}
void main([List<String> args = const <String>[]]) {
final bool withSemantics = args.contains('--with_semantics');
group('flutter gallery transitions', () {
FlutterDriver driver;
setUpAll(() async {
......@@ -197,8 +198,7 @@ void main([List<String> args = const <String>[]]) {
// Wait for the first frame to be rasterized.
await driver.waitUntilFirstFrameRasterized();
if (args.contains('--with_semantics')) {
if (withSemantics) {
print('Enabeling semantics...');
await driver.setSemantics(true);
}
......@@ -214,6 +214,12 @@ void main([List<String> args = const <String>[]]) {
await driver.close();
});
test('find.bySemanticsLabel', () async {
// Assert that we can use semantics related finders in profile mode.
final int id = await driver.getSemanticsId(find.bySemanticsLabel('Material'));
expect(id, greaterThan(-1));
}, skip: !withSemantics);
test('all demos', () async {
// Collect timeline data for just a limited set of demos to avoid OOMs.
final Timeline timeline = await driver.traceAction(
......
......@@ -2482,15 +2482,13 @@ abstract class RenderObject extends AbstractNode with DiagnosticableTreeMixin im
/// render objects in production, obtain a [SemanticsHandle] from
/// [PipelineOwner.ensureSemantics].
///
/// Only valid when asserts are enabled. In release builds, always returns
/// Only valid in debug and profile mode. In release builds, always returns
/// null.
SemanticsNode get debugSemantics {
SemanticsNode result;
assert(() {
result = _semantics;
return true;
}());
return result;
if (!kReleaseMode) {
return _semantics;
}
return null;
}
/// Removes all semantics from this render object and its descendants.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment