Skip to content

Commit 1e86c1f

Browse files
[flutter_tools] re-enable debug extension (flutter#53765)
1 parent 66d7a6c commit 1e86c1f

File tree

2 files changed

+62
-2
lines changed

2 files changed

+62
-2
lines changed

packages/flutter_tools/lib/src/build_runner/devfs_web.dart

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,22 @@ import '../globals.dart' as globals;
3636
import '../web/bootstrap.dart';
3737
import '../web/chrome.dart';
3838

39+
typedef DwdsLauncher = Future<Dwds> Function({
40+
@required AssetReader assetReader,
41+
@required Stream<BuildResult> buildResults,
42+
@required ConnectionProvider chromeConnection,
43+
@required LoadStrategy loadStrategy,
44+
@required bool enableDebugging,
45+
bool enableDebugExtension,
46+
String hostname,
47+
bool useSseForDebugProxy,
48+
bool serveDevTools,
49+
void Function(Level, String) logWriter,
50+
bool verbose,
51+
UrlEncoder urlEncoder,
52+
ExpressionCompiler expressionCompiler,
53+
});
54+
3955
/// An expression compiler connecting to FrontendServer
4056
///
4157
/// This is only used in development mode
@@ -87,7 +103,6 @@ class WebAssetServer implements AssetReader {
87103
static const String _kDefaultMimeType = 'application/octet-stream';
88104

89105
final Map<String, String> _modules;
90-
91106
final Map<String, String> _digests;
92107

93108
void performRestart(List<String> modules) {
@@ -121,6 +136,7 @@ class WebAssetServer implements AssetReader {
121136
Uri entrypoint,
122137
ExpressionCompiler expressionCompiler, {
123138
bool testMode = false,
139+
DwdsLauncher dwdsLauncher = Dwds.start,
124140
}) async {
125141
try {
126142
final InternetAddress address = (await InternetAddress.lookup(hostname)).first;
@@ -184,8 +200,9 @@ class WebAssetServer implements AssetReader {
184200
}
185201

186202
// In debug builds, spin up DWDS and the full asset server.
187-
final Dwds dwds = await Dwds.start(
203+
final Dwds dwds = await dwdsLauncher(
188204
assetReader: server,
205+
enableDebugExtension: true,
189206
buildResults: const Stream<BuildResult>.empty(),
190207
chromeConnection: () async {
191208
final Chrome chrome = await ChromeLauncher.connectedInstance;

packages/flutter_tools/test/general.shard/web/devfs_web_test.dart

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,21 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5+
import 'dart:async';
56
import 'dart:io';
67

8+
import 'package:dwds/data/build_result.dart';
9+
import 'package:dwds/dwds.dart';
10+
import 'package:dwds/src/loaders/strategy.dart';
11+
import 'package:dwds/src/readers/asset_reader.dart';
12+
import 'package:dwds/src/services/expression_compiler.dart';
713
import 'package:flutter_tools/src/base/file_system.dart';
814
import 'package:flutter_tools/src/base/io.dart';
915
import 'package:flutter_tools/src/build_info.dart';
1016
import 'package:flutter_tools/src/compile.dart';
1117
import 'package:flutter_tools/src/convert.dart';
1218
import 'package:flutter_tools/src/build_runner/devfs_web.dart';
19+
import 'package:logging/logging.dart';
1320
import 'package:mockito/mockito.dart';
1421
// TODO(bkonyi): remove deprecated member usage, https://github.com/flutter/flutter/issues/51951
1522
// ignore: deprecated_member_use
@@ -432,7 +439,43 @@ void main() {
432439

433440
await webDevFS.destroy();
434441
}));
442+
443+
test('Launches DWDS with the correct arguments', () => testbed.run(() async {
444+
final WebAssetServer server = await WebAssetServer.start(
445+
'localhost',
446+
8123,
447+
(String url) => null,
448+
BuildMode.debug,
449+
true,
450+
Uri.file('test.dart'),
451+
null,
452+
dwdsLauncher: ({
453+
AssetReader assetReader,
454+
Stream<BuildResult> buildResults,
455+
ConnectionProvider chromeConnection,
456+
bool enableDebugExtension,
457+
bool enableDebugging,
458+
ExpressionCompiler expressionCompiler,
459+
String hostname,
460+
LoadStrategy loadStrategy,
461+
void Function(Level, String) logWriter,
462+
bool serveDevTools,
463+
UrlEncoder urlEncoder,
464+
bool useSseForDebugProxy,
465+
bool verbose,
466+
}) async {
467+
expect(serveDevTools, false);
468+
expect(verbose, null);
469+
expect(enableDebugging, true);
470+
expect(enableDebugExtension, true);
471+
472+
return MockDwds();
473+
});
474+
475+
await server.dispose();
476+
}));
435477
}
436478

437479
class MockHttpServer extends Mock implements HttpServer {}
438480
class MockResidentCompiler extends Mock implements ResidentCompiler {}
481+
class MockDwds extends Mock implements Dwds {}

0 commit comments

Comments
 (0)