Skip to content

Commit 111b4fe

Browse files
authored
[web] Set COEP:credentialless on flutter run/drive. (#152413)
This PR changes the value of the `COEP` response header from `require-corp` to `credentialless` in the Flutter tool, when running `flutter run`/`drive` for Web projects. This enables running tests compiled to wasm, that access 3P resources (like Google Maps) without blocking those resources. Docs: * https://developer.chrome.com/blog/coep-credentialless-origin-trial#credentialless_to_the_rescue ## Issue * flutter/flutter#152411
1 parent 4778895 commit 111b4fe

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,7 +1196,7 @@ class ReleaseAssetServer {
11961196
'Access-Control-Allow-Origin': '*',
11971197
if (_needsCoopCoep && _fileSystem.path.extension(file.path) == '.html') ...<String, String>{
11981198
'Cross-Origin-Opener-Policy': 'same-origin',
1199-
'Cross-Origin-Embedder-Policy': 'require-corp',
1199+
'Cross-Origin-Embedder-Policy': 'credentialless',
12001200
}
12011201
});
12021202
}
@@ -1208,7 +1208,7 @@ class ReleaseAssetServer {
12081208
'Content-Type': 'text/html',
12091209
if (_needsCoopCoep) ...<String, String>{
12101210
'Cross-Origin-Opener-Policy': 'same-origin',
1211-
'Cross-Origin-Embedder-Policy': 'require-corp',
1211+
'Cross-Origin-Embedder-Policy': 'credentialless',
12121212
},
12131213
});
12141214
}

packages/flutter_tools/lib/src/test/flutter_web_platform.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ shelf.Handler createDirectoryHandler(Directory directory, { required bool crossO
6464
if (needsCrossOriginIsolated)
6565
...<String, String>{
6666
'Cross-Origin-Opener-Policy': 'same-origin',
67-
'Cross-Origin-Embedder-Policy': 'require-corp',
67+
'Cross-Origin-Embedder-Policy': 'credentialless',
6868
},
6969
},
7070
);
@@ -539,7 +539,7 @@ class FlutterWebPlatform extends PlatformPlugin {
539539
if (webRenderer == WebRendererMode.skwasm)
540540
...<String, String>{
541541
'Cross-Origin-Opener-Policy': 'same-origin',
542-
'Cross-Origin-Embedder-Policy': 'require-corp',
542+
'Cross-Origin-Embedder-Policy': 'credentialless',
543543
}
544544
});
545545
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ void main() {
160160
expect(response.statusCode, HttpStatus.ok);
161161
final Map<String, String> headers = response.headers;
162162
expect(headers['Cross-Origin-Opener-Policy'], 'same-origin');
163-
expect(headers['Cross-Origin-Embedder-Policy'], 'require-corp');
163+
expect(headers['Cross-Origin-Embedder-Policy'], 'credentialless');
164164
});
165165

166166
testWithoutContext('release asset server serves html content without COOP/COEP headers when specified', () async {

0 commit comments

Comments
 (0)