Skip to content

Commit fcaba6e

Browse files
authored
Merge branch 'master' into fix-textscaler-clamp-assertion
2 parents 93a455f + 91b2d41 commit fcaba6e

39 files changed

Lines changed: 855 additions & 284 deletions

File tree

DEPS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ vars = {
1515
'flutter_git': 'https://flutter.googlesource.com',
1616
'skia_git': 'https://skia.googlesource.com',
1717
'llvm_git': 'https://llvm.googlesource.com',
18-
'skia_revision': '7bbdc51ab0aac2d26c919ce00f2b4b2344599338',
18+
'skia_revision': 'ce5854495a3a1e0bbac6c77d81f1e863f1a809a3',
1919

2020
# WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY
2121
# See `lib/web_ui/README.md` for how to roll CanvasKit to a new version.

docs/contributing/issue_hygiene/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ Common naming conventions for labels include:
212212
- **`d: *`** - The purple `d` ("devtools") labels are for organizing our developer tool issues.
213213
- **`d: *`** - The green `d` ("documentation") labels are for organizing our documentation-related issues.
214214
- **`dependency: *`** - Indicates the upstream team for issues that are blocked on some work from an upstream project (e.g. Skia, Dart).
215-
- **`e: *`** - The `e` ("engine") prefix is for subsets of the Flutter engine ([flutter/engine](https://github.com/flutter/engine)).
215+
- **`e: *`** - The `e` ("engine") prefix is for subsets of the Flutter engine ([flutter/engine](https://github.com/flutter/flutter/tree/main/engine)).
216216
- **`f: *`** - The `f` ("framework") prefix is for subsets of the Flutter framework ([flutter/flutter's packages/flutter/](https://github.com/flutter/flutter/tree/main/packages/flutter)).
217217
- **`found in release: x.yy`** - Used for a series of labels that indicate which versions of Flutter an issue was found in.
218218
- **`from: *`** - Labels that indicate where an issue originated (e.g. research, postmortems), if it wasn't filed organically.

docs/engine/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This document is intended for developers of third party embedders who wish to package and ship their Flutter applications for AOT mode operation. A third party embedder uses [the stable C embedder API](https://github.com/flutter/engine/blob/869d9f528503778be1e5ab27ba53502f0cb20de2/shell/platform/embedder/embedder.h) to embed Flutter applications on their platform.
1+
This document is intended for developers of third party embedders who wish to package and ship their Flutter applications for AOT mode operation. A third party embedder uses [the stable C embedder API](https://github.com/flutter/flutter/blob/main/engine/src/flutter/shell/platform/embedder/embedder.h) to embed Flutter applications on their platform.
22

33
## Building an AOT Flutter Engine
44

docs/engine/impeller/docs/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ migrate away from using those sub-components. We wholeheartedly recommend Skia
252252
for most rendering needs.
253253

254254
All of Impellers shaders are [manually authored and
255-
compiled](https://github.com/flutter/engine/tree/0a8de3dd3285c0b64de47630a8218ae38b8e04e1/impeller#the-offline-shader-compilation-pipeline)
255+
compiled](https://github.com/flutter/flutter/tree/main/engine/src/flutter/impeller#the-offline-shader-compilation-pipeline)
256256
during build time and packaged with the Flutter engine. There is no runtime
257257
shader generation, reflection, or compilation. Skia can and does generate and
258258
compile shaders at runtime.

docs/engine/impeller/docs/renderdoc_frame_capture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
If the RenderDoc installed from your package manager crashes on startup, consider [building from source](https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md).
88

99
2. The next step would be to run the application you wish the capture the frames of.
10-
Typically these would be one of the [playground tests](https://github.com/flutter/engine/tree/main/impeller/playground),
10+
Typically these would be one of the [playground tests](https://github.com/flutter/flutter/tree/main/engine/src/flutter/impeller/playground),
1111
for example [those in entity_unittests.cc](https://github.com/flutter/flutter/blob/main/engine/src/flutter/impeller/entity/entity_unittests.cc).
1212
To build these, do:
1313

docs/platforms/android/Upgrading-pre-1.12-Android-projects.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ _If you `flutter create`d your project prior to version 1.12, this may apply to
22

33
# Background
44

5-
In order to better support the execution environments of adding Flutter to an existing project, the old Android platform-side wrappers hosting the Flutter runtime at [`io.flutter.app.FlutterActivity`](https://github.com/flutter/engine/blob/main/shell/platform/android/io/flutter/app/FlutterActivity.java) and their associated classes are now deprecated. New wrappers at [`io.flutter.embedding.android.FlutterActivity`](https://github.com/flutter/engine/blob/main/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java) and associated classes now replace them.
5+
In order to better support the execution environments of adding Flutter to an existing project, the old Android platform-side wrappers hosting the Flutter runtime at [`io.flutter.app.FlutterActivity`](https://github.com/flutter/engine/blob/main/shell/platform/android/io/flutter/app/FlutterActivity.java) and their associated classes are now deprecated. New wrappers at [`io.flutter.embedding.android.FlutterActivity`](https://github.com/flutter/flutter/blob/main/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java) and associated classes now replace them.
66

77
Those classes better support real world scenarios where the FlutterActivity isn't the first and only Android Activity in an application.
88

engine/src/flutter/lib/web_ui/test/ui/codecs_test.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ Future<void> testMain() async {
143143
// https://github.com/flutter/flutter/issues/152709
144144
continue;
145145
}
146+
if (testFile == 'rgb24prof.bmp' && isSafari) {
147+
// This file causes Safari to crash with `EncodingError`.
148+
continue;
149+
}
146150
if (testFile == 'b464333052.jpg') {
147151
// This is an undecodable image used to test a Skia failure code path.
148152
continue;

engine/src/flutter/shell/platform/common/client_wrapper/core_implementations.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ void ResizeChannel(BinaryMessenger* messenger, std::string name, int new_size) {
183183
messenger, kControlChannelName, &StandardMethodCodec::GetInstance());
184184

185185
// The deserialization logic handles only 32 bits values, see
186-
// https://github.com/flutter/engine/blob/93e8901490e78c7ba7e319cce4470d9c6478c6dc/lib/ui/channel_buffers.dart#L495.
186+
// https://github.com/flutter/flutter/blob/230240c56880f2c19bf92d2c32203b064054f173/engine/src/flutter/lib/ui/channel_buffers.dart#L523
187187
control_channel->InvokeMethod(
188188
kResizeMethod, std::make_unique<EncodableValue>(EncodableList{
189189
EncodableValue(name),

engine/src/flutter/shell/platform/darwin/common/framework/Source/FlutterChannels.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ static void ResizeChannelBuffer(NSObject<FlutterBinaryMessenger>* binaryMessenge
1818
NSCAssert(newSize >= 0, @"Channel buffer size must be non-negative");
1919
// Cast newSize to int because the deserialization logic handles only 32 bits values,
2020
// see
21-
// https://github.com/flutter/engine/blob/93e8901490e78c7ba7e319cce4470d9c6478c6dc/lib/ui/channel_buffers.dart#L495.
21+
// https://github.com/flutter/flutter/blob/230240c56880f2c19bf92d2c32203b064054f173/engine/src/flutter/lib/ui/channel_buffers.dart#L523
2222
NSArray* args = @[ channel, @(static_cast<int>(newSize)) ];
2323
FlutterMethodCall* resizeMethodCall = [FlutterMethodCall methodCallWithMethodName:kResizeMethod
2424
arguments:args];

engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ @interface FlutterEngine () <FlutterIndirectScribbleDelegate,
147147
@property(nonatomic, strong) FlutterMethodChannel* navigationChannel;
148148
@property(nonatomic, strong) FlutterMethodChannel* restorationChannel;
149149
@property(nonatomic, strong) FlutterMethodChannel* platformChannel;
150+
// This channel only sends status bar related events to the framework thus has
151+
// no handlers.
152+
@property(nonatomic, strong) FlutterMethodChannel* statusBarChannel;
150153
@property(nonatomic, strong) FlutterMethodChannel* platformViewsChannel;
151154
@property(nonatomic, strong) FlutterMethodChannel* textInputChannel;
152155
@property(nonatomic, strong) FlutterMethodChannel* undoManagerChannel;
@@ -577,6 +580,7 @@ - (void)resetChannels {
577580
self.navigationChannel = nil;
578581
self.restorationChannel = nil;
579582
self.platformChannel = nil;
583+
self.statusBarChannel = nil;
580584
self.platformViewsChannel = nil;
581585
self.textInputChannel = nil;
582586
self.undoManagerChannel = nil;
@@ -641,6 +645,12 @@ - (void)setUpChannels {
641645
binaryMessenger:self.binaryMessenger
642646
codec:[FlutterJSONMethodCodec sharedInstance]];
643647

648+
self.statusBarChannel =
649+
[[FlutterMethodChannel alloc] initWithName:@"flutter/status_bar"
650+
binaryMessenger:self.binaryMessenger
651+
codec:[FlutterJSONMethodCodec sharedInstance]];
652+
[self.statusBarChannel resizeChannelBuffer:0]; // No buffering.
653+
644654
self.platformViewsChannel =
645655
[[FlutterMethodChannel alloc] initWithName:@"flutter/platform_views"
646656
binaryMessenger:self.binaryMessenger
@@ -1483,6 +1493,13 @@ - (void)onLocaleUpdated:(NSNotification*)notification {
14831493
[self.localizationChannel invokeMethod:@"setLocale" arguments:localeData];
14841494
}
14851495

1496+
- (void)onStatusBarTap {
1497+
// Called by FlutterViewController to notify the framework that a tap landed
1498+
// on the status bar, and the most relevant vertical scroll view visible in the
1499+
// app, if applicable, should scroll to top.
1500+
[self.statusBarChannel invokeMethod:@"handleScrollToTop" arguments:nil];
1501+
}
1502+
14861503
- (void)waitForFirstFrameSync:(NSTimeInterval)timeout
14871504
callback:(NS_NOESCAPE void (^_Nonnull)(BOOL didTimeout))callback {
14881505
fml::TimeDelta waitTime = fml::TimeDelta::FromMilliseconds(timeout * 1000);

0 commit comments

Comments
 (0)