Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 639e972

Browse files
Merge branch 'flutter:main' into pipeline_future
2 parents 3fc0429 + 4e9e97b commit 639e972

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1528
-306
lines changed

.ci.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,8 @@ targets:
268268
add_recipes_cq: "true"
269269
cores: "32"
270270
gcs_goldens_bucket: flutter_logs
271+
gclient_custom_vars: >-
272+
{"download_emsdk": true}
271273
dependencies: >-
272274
[
273275
{"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
@@ -407,6 +409,8 @@ targets:
407409
properties:
408410
add_recipes_cq: "true"
409411
gcs_goldens_bucket: flutter_logs
412+
gclient_custom_vars: >-
413+
{"download_emsdk": true}
410414
dependencies: >-
411415
[
412416
{"dependency": "goldctl", "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"}
@@ -463,13 +467,15 @@ targets:
463467
bringup: true
464468
timeout: 60
465469
properties:
470+
release_build: "true"
466471
config_name: windows_android_aot_engine
467472

468473
- name: Windows windows_host_engine
469474
recipe: engine_v2/engine_v2
470475
bringup: true
471476
timeout: 60
472477
properties:
478+
release_build: "true"
473479
config_name: windows_host_engine
474480

475481
- name: Windows Unopt
@@ -481,6 +487,8 @@ targets:
481487
- name: Windows Web Engine
482488
recipe: engine/web_engine
483489
properties:
490+
gclient_custom_vars: >-
491+
{"download_emsdk": true}
484492
gcs_goldens_bucket: flutter_logs
485493
timeout: 60
486494
runIf:

DEPS

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ vars = {
1818
'llvm_git': 'https://llvm.googlesource.com',
1919
# OCMock is for testing only so there is no google clone
2020
'ocmock_git': 'https://github.com/erikdoe/ocmock.git',
21-
'skia_revision': '513f0fd34590eb65c079b0bd4fe82b680ab798c1',
21+
'skia_revision': '8b19fb0f57d47fd217add26a5eb3e430d7a0d473',
2222

2323
# WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY
2424
# See `lib/web_ui/README.md` for how to roll CanvasKit to a new version.
@@ -48,7 +48,7 @@ vars = {
4848
# Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS.
4949
# You can use //tools/dart/create_updated_flutter_deps.py to produce
5050
# updated revision list of existing dependencies.
51-
'dart_revision': 'd97d5ad9889378e70f9803f8bf1ba3e0781ab1b8',
51+
'dart_revision': 'b22b36c0f52ef7068f321ac1266f286745b65de0',
5252

5353
# WARNING: DO NOT EDIT MANUALLY
5454
# The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py
@@ -59,7 +59,7 @@ vars = {
5959
'dart_collection_rev': 'efd709fc1760a595f8575f4137a1847de1b49d76',
6060
'dart_devtools_rev': '23444af89d716818f099974df3e4fffac87fd886',
6161
'dart_protobuf_rev': 'ba29983968de5b54196c6c2a5cff1afbdda24ae2',
62-
'dart_pub_rev': '6506cc01b1bd17aff782037817d86a88a1c312e8',
62+
'dart_pub_rev': '65c7f3e528f3f9978c4330cbd471070f17370f65',
6363
'dart_root_certificates_rev': '692f6d6488af68e0121317a9c2c9eb393eb0ee50',
6464
'dart_watcher_rev': '32591071a83f632478e702f67e29de6e54428ce9',
6565
'dart_webdev_rev': '069b87091b0cd25ae1a5e5927cdf6a475fda5bf7',
@@ -118,7 +118,7 @@ allowed_hosts = [
118118
]
119119

120120
deps = {
121-
'src': 'https://github.com/flutter/buildroot.git' + '@' + '4099e11fffa406aaa13be8bd512fe5b0ad6262f6',
121+
'src': 'https://github.com/flutter/buildroot.git' + '@' + 'd13d64086f5e301bd0415eede895b34af220ef42',
122122

123123
# Fuchsia compatibility
124124
#
@@ -255,7 +255,7 @@ deps = {
255255
Var('dart_git') + '/logging.git@f322480fb9d9e83e677c08db6d09067059f7ff74',
256256

257257
'src/third_party/dart/third_party/pkg/markdown':
258-
Var('dart_git') + '/markdown.git@f3873403f5b1a0319f78632a8fbc2b22315a7b83',
258+
Var('dart_git') + '/markdown.git@9ff4a9f1d37c763f827084ba28a3d0bfec6b5d67',
259259

260260
'src/third_party/dart/third_party/pkg/matcher':
261261
Var('dart_git') + '/matcher.git@6a9b83bbd73e50df2058b3e8e4aa301df49569c6',
@@ -686,7 +686,7 @@ deps = {
686686
'packages': [
687687
{
688688
'package': 'fuchsia/sdk/core/mac-amd64',
689-
'version': '5XOj9l5e2wkSpMKT1pLJGtq9_UAQkHV13y-kg9rVNiUC'
689+
'version': 'sa5bVGimNo3JwLV27Wpu8RLzitWUvIeqJtAqcrtplosC'
690690
}
691691
],
692692
'condition': 'host_os == "mac" and not download_fuchsia_sdk',

ci/licenses_golden/licenses_skia

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Signature: 4cfa83d4b64ec67ed40c288fbd614591
1+
Signature: 7140d8ef2695ea07f4bc05d55aab7947
22

33
UNUSED LICENSES:
44

@@ -611,6 +611,7 @@ FILE: ../../../third_party/skia/experimental/wasm-hello-world/BUILD.bazel
611611
FILE: ../../../third_party/skia/experimental/wasm-hello-world/hello_world.html
612612
FILE: ../../../third_party/skia/experimental/webgpu-bazel/example/index.html
613613
FILE: ../../../third_party/skia/experimental/webgpu-bazel/src/BUILD.bazel
614+
FILE: ../../../third_party/skia/gn/BUILD.bazel
614615
FILE: ../../../third_party/skia/go.mod
615616
FILE: ../../../third_party/skia/go.sum
616617
FILE: ../../../third_party/skia/go_repositories.bzl

ci/licenses_golden/licenses_third_party

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Signature: e9f20361a5fb96f8af457ee0112f23cd
1+
Signature: 29ec7dd59754e16658570708295646c7
22

33
UNUSED LICENSES:
44

@@ -14113,6 +14113,7 @@ FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/string_patch.dart
1411314113
FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/symbol_patch.dart
1411414114
FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/timer_patch.dart
1411514115
FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/type.dart
14116+
FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/typed_data_patch.dart
1411614117
FILE: ../../../third_party/dart/sdk/lib/_internal/wasm/lib/uri_patch.dart
1411714118
FILE: ../../../third_party/dart/sdk/lib/core/record.dart
1411814119
FILE: ../../../third_party/dart/sdk/lib/ffi/c_type.dart

ci/lint.sh

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ DART="${DART_BIN}/dart"
3636
# to have this as an error.
3737
MAC_HOST_WARNINGS_AS_ERRORS="performance-move-const-arg,performance-unnecessary-value-param"
3838

39+
# FLUTTER_LINT_PRINT_FIX will make it so that fix is executed and the generated
40+
# diff is printed to stdout if clang-tidy fails. This is helpful for enabling
41+
# new lints.
42+
if [[ -z "${FLUTTER_LINT_PRINT_FIX}" ]]; then
43+
fix_flag=""
44+
else
45+
fix_flag="--fix"
46+
fi
47+
3948
COMPILE_COMMANDS="$SRC_DIR/out/host_debug/compile_commands.json"
4049
if [ ! -f "$COMPILE_COMMANDS" ]; then
4150
(cd "$SRC_DIR"; ./flutter/tools/gn)
@@ -49,7 +58,18 @@ cd "$SCRIPT_DIR"
4958
"$SRC_DIR/flutter/tools/clang_tidy/bin/main.dart" \
5059
--src-dir="$SRC_DIR" \
5160
--mac-host-warnings-as-errors="$MAC_HOST_WARNINGS_AS_ERRORS" \
52-
"$@"
61+
$fix_flag \
62+
"$@" && true # errors ignored
63+
clang_tidy_return=$?
64+
if [ $clang_tidy_return -ne 0 ]; then
65+
if [ -n "$fix_flag" ]; then
66+
echo "###################################################"
67+
echo "# Attempted to fix issues with the following patch:"
68+
echo "###################################################"
69+
git --no-pager diff
70+
fi
71+
exit $clang_tidy_return
72+
fi
5373

5474
echo "$(date +%T) Running pylint"
5575

display_list/display_list_image_filter_unittests.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -810,8 +810,11 @@ TEST(DisplayListImageFilter, LocalImageFilterBounds) {
810810
auto sk_local_filter = sk_filters[i]->makeWithLocalMatrix(m);
811811
auto dl_local_filter = dl_filters[i]->makeWithLocalMatrix(m);
812812
if (!sk_local_filter || !dl_local_filter) {
813-
ASSERT_TRUE(!sk_local_filter);
814-
ASSERT_TRUE(!dl_local_filter);
813+
// Temporarily relax the equivalence testing to allow Skia to expand
814+
// their behavior. Once the Skia fixes are rolled in, the
815+
// DlImageFilter should adapt to the new rules.
816+
// See https://github.com/flutter/flutter/issues/114723
817+
ASSERT_TRUE(sk_local_filter || !dl_local_filter);
815818
continue;
816819
}
817820
{

lib/ui/platform_dispatcher.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,27 @@ class PlatformDispatcher {
750750
_invoke(onAccessibilityFeaturesChanged, _onAccessibilityFeaturesChangedZone,);
751751
}
752752

753+
/// Change the retained semantics data about this platform dispatcher.
754+
///
755+
/// If [semanticsEnabled] is true, the user has requested that this function
756+
/// be called whenever the semantic content of this platform dispatcher
757+
/// changes.
758+
///
759+
/// In either case, this function disposes the given update, which means the
760+
/// semantics update cannot be used further.
761+
@Deprecated('''
762+
In a multi-view world, the platform dispatcher can no longer provide apis
763+
to update semantics since each view will host its own semantics tree.
764+
765+
Semantics updates must be passed to an individual [FlutterView]. To update
766+
semantics, use PlatformDispatcher.instance.views to get a [FlutterView] and
767+
call `updateSemantics`.
768+
''')
769+
void updateSemantics(SemanticsUpdate update) => _updateSemantics(update);
770+
771+
@FfiNative<Void Function(Pointer<Void>)>('PlatformConfigurationNativeApi::UpdateSemantics')
772+
external static void _updateSemantics(SemanticsUpdate update);
773+
753774
/// The system-reported default locale of the device.
754775
///
755776
/// This establishes the language and formatting conventions that application

lib/web_ui/lib/platform_dispatcher.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,14 @@ abstract class PlatformDispatcher {
8383
VoidCallback? get onAccessibilityFeaturesChanged;
8484
set onAccessibilityFeaturesChanged(VoidCallback? callback);
8585

86+
@Deprecated('''
87+
In a multi-view world, the platform dispatcher can no longer provide apis
88+
to update semantics since each view will host its own semantics tree.
89+
90+
Semantics updates must be passed to an individual [FlutterView]. To update
91+
semantics, use PlatformDispatcher.instance.views to get a [FlutterView] and
92+
call `updateSemantics`.
93+
''')
8694
void updateSemantics(SemanticsUpdate update);
8795

8896
Locale get locale;

lib/web_ui/lib/src/engine/key_map.g.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,7 @@ const Map<String, List<int?>> kWebLogicalLocationMap = <String, List<int?>>{
574574
'8': <int?>[0x00000000038, null, null, 0x00200000238], // digit8, null, null, numpad8
575575
'9': <int?>[0x00000000039, null, null, 0x00200000239], // digit9, null, null, numpad9
576576
'Alt': <int?>[0x00200000104, 0x00200000104, 0x00200000105, null], // altLeft, altLeft, altRight, null
577+
'AltGraph': <int?>[0x00100000103, null, 0x00100000103, null], // altGraph, null, altGraph, null
577578
'ArrowDown': <int?>[0x00100000301, null, null, 0x00200000232], // arrowDown, null, null, numpad2
578579
'ArrowLeft': <int?>[0x00100000302, null, null, 0x00200000234], // arrowLeft, null, null, numpad4
579580
'ArrowRight': <int?>[0x00100000303, null, null, 0x00200000236], // arrowRight, null, null, numpad6

lib/web_ui/lib/src/engine/keyboard_binding.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -584,31 +584,27 @@ class KeyboardConverter {
584584
_kPhysicalAltLeft,
585585
_kPhysicalAltRight,
586586
_kLogicalAltLeft,
587-
_kLogicalAltRight,
588587
altPressed ? ui.KeyEventType.down : ui.KeyEventType.up,
589588
eventTimestamp,
590589
);
591590
_synthesizeModifierIfNeeded(
592591
_kPhysicalControlLeft,
593592
_kPhysicalControlRight,
594593
_kLogicalControlLeft,
595-
_kLogicalControlRight,
596594
controlPressed ? ui.KeyEventType.down : ui.KeyEventType.up,
597595
eventTimestamp,
598596
);
599597
_synthesizeModifierIfNeeded(
600598
_kPhysicalMetaLeft,
601599
_kPhysicalMetaRight,
602600
_kLogicalMetaLeft,
603-
_kLogicalMetaRight,
604601
metaPressed ? ui.KeyEventType.down : ui.KeyEventType.up,
605602
eventTimestamp,
606603
);
607604
_synthesizeModifierIfNeeded(
608605
_kPhysicalShiftLeft,
609606
_kPhysicalShiftRight,
610607
_kLogicalShiftLeft,
611-
_kLogicalShiftRight,
612608
shiftPressed ? ui.KeyEventType.down : ui.KeyEventType.up,
613609
eventTimestamp,
614610
);
@@ -618,7 +614,6 @@ class KeyboardConverter {
618614
int physicalLeft,
619615
int physicalRight,
620616
int logicalLeft,
621-
int logicalRight,
622617
ui.KeyEventType type,
623618
num domTimestamp,
624619
) {
@@ -635,12 +630,14 @@ class KeyboardConverter {
635630

636631
// Synthesize an up event for left key if pressed
637632
if (synthesizeUp && leftPressed) {
638-
_synthesizeKeyUpEvent(domTimestamp, physicalLeft, logicalLeft);
633+
final int knownLogicalKey = _pressingRecords[physicalLeft]!;
634+
_synthesizeKeyUpEvent(domTimestamp, physicalLeft, knownLogicalKey);
639635
}
640636

641637
// Synthesize an up event for right key if pressed
642638
if (synthesizeUp && rightPressed) {
643-
_synthesizeKeyUpEvent(domTimestamp, physicalRight, logicalRight);
639+
final int knownLogicalKey = _pressingRecords[physicalRight]!;
640+
_synthesizeKeyUpEvent(domTimestamp, physicalRight, knownLogicalKey);
644641
}
645642
}
646643

0 commit comments

Comments
 (0)