747 Commits

Author SHA1 Message Date
Brian Osman
19d37a310c Migrate Fuchsia VK calls of GrBackend* (flutter/engine#45380)
Follow-up to https://github.com/flutter/engine/pull/45325

No functional change.
2023-09-01 15:41:43 +00:00
Tong Mu
177a6128c1 Basic view management for engine classes (flutter/engine#42991)
_This PR is part of the multiview engine project. For a complete roadmap, see [this doc](https://docs.google.com/document/d/10APhzRDR7XqjWdbYWpFfKur7DPiz_HvSKNcLvcyA9vg/edit?resourcekey=0-DfGcg4-XWRMMZF__C1nmcA)._

------

This PR adds view management to all engine classes that need it. View management here basically means `AddView` and `RemoveView` methods, and most importantly, how to handle the implicit view.

The implicit view is a special view that's handled differently than all the other "regular views", since it keeps the behavior of the current single view of Flutter. Detailed introduction can be found in `Settings.implicit_view_enabled`.

The following two graphs show the difference between initializing with/without the implicit view and creating regular views.

<img width="879" alt="image" src="https://github.com/flutter/engine/assets/1596656/31244685-d9d3-4c9a-9a9e-6e8540a5711e">

<img width="864" alt="image" src="https://github.com/flutter/engine/assets/1596656/e2dd4b8c-57e3-428d-8547-834fb270052b">

<img width="860" alt="image" src="https://github.com/flutter/engine/assets/1596656/58dae687-8c17-434e-ae24-a48c2d8fa5fa">

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-08-17 20:06:25 +00:00
Brian Osman
829b42e044 Stop using deprecated GrBackendRenderTarget constructor (flutter/engine#44694)
Sample count is part of GrVkImageInfo (and was already being set in both places).
2023-08-15 03:47:09 +00:00
Caroline Liu
c49236d4c0 [fuchsia] Delete obsolete GFX-specific source files (flutter/engine#44594)
This change removes 
- GFX source files removed from the BUILD in #44401 
- Extraneous unused Scenic includes in the same directory
(`//shell/platform/fuchsia/flutter/`)
- All remaining uses of the Scenic library from the Fuchsia SDK
- All remaining uses of fuchsia.ui.scenic.*
2023-08-15 09:47:32 +10:00
Yegor Pomortsev
62b3a0cfa7 Remove dependencies on fuchsia.sys.* FIDL protocols (flutter/engine#44614)
The fuchsia.sys FIDL library, used to implement v1 components, is
deprecated in the Fuchsia platform and is being removed.

Flutter now implements Components v2 but still imports the old library.

Bug: https://fxbug.dev/109013
2023-08-12 10:41:38 +10:00
Caroline Liu
4e424a605d Remove GFX and Scenic dependencies from Fuchsia integration tests (flutter/engine#44498)
This change removes GFX and Scenic dependencies from Fuchsia integration
tests. Mainly, it:
- swaps out `fuchsia.ui.scenic.Scenic/GetDisplayInfo` for
`fuchsia.ui.display.singleton.Info/GetMetrics`
- removes the no longer necessary `fuchsia.ui.scenic.Scenic` connections
and component manifest declarations from tests
- removes any extraneous build deps tests have on `fuchsia.ui.gfx`,
`fuchsia.ui.policy`, and `scenic_cpp`

Related bug: fxbug.dev/64206

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.
2023-08-09 08:54:09 -04:00
Caroline Liu
e493b1011e Remove GFX branches from Flutter engine (flutter/engine#44401)
This change does the following:
- Refactors `engine.cc`/`.h` and `component_v2.cc`/`.h` to remove GFX ctors and callbacks.
- Removes `gfx_external_view_embedder`, `gfx_platform_view`, `gfx_session_connection`, their tests, and any supporting testing infrastructure (e.g. `fake_session`) from the build. This change does not delete the source files themselves in order to keep the change size smaller (as all these file deletions together are about another ~8K lines worth of deletions.) A separate follow up change will delete these files.

Related bug: fxbug.dev/64206
2023-08-08 18:20:09 +00:00
Siva
4f13581147 Manual roll of Dart with fixups to zircon system.dart (flutter/engine#44185)
https://dart.googlesource.com/sdk.git/+log/4fd35600b477..0e02245635ea

Merge to Dart Version 3.2.0-16.0.dev
2023-07-31 16:03:14 -07:00
Kevin Lubick
778cc2a363 Reland "Remove more calls to SkCanvas::flush() and SkSurface::flush()" (flutter/engine#43965)
Relanding https://github.com/flutter/engine/pull/43902 without the
copy-pasta return statements which did not seem to cause a compile
issue, but caused Fuchsia tests to hang.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-07-25 14:05:44 -04:00
Zachary Anderson
ef7a6e324b Revert "Remove more calls to SkCanvas::flush() and SkSurface::flush()" (flutter/engine#43957)
Reverts flutter/engine#43902

Speculative revert for Fuchsia tests that began failing/timing-out on
this commit:
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Fuchsia%20FEMU/16871/overview
2023-07-24 09:09:51 -07:00
Kevin Lubick
ec84f26d46 Remove more calls to SkCanvas::flush() and SkSurface::flush() (flutter/engine#43902)
Skia has removed flushing from both
[SkCanvas](https://skia-review.googlesource.com/c/skia/+/716476) and
[SkSurface](https://skia-review.googlesource.com/c/skia/+/698237). This
migrates the calls to use GrDirectContext directly (or removing no-op
flushes for Raster canvases/surfaces).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-07-24 08:54:25 -04:00
Caroline Liu
adc9cec1df [fuchsia] flutter-embedder-test and touch-input-test use Flatland Test UI Stack (flutter/engine#43562)
This change also:
- removes reliance from both tests on `fuchsia.ui.scenic.Scenic`
protocols
- migrates `touch-input-test` to get display info from
`fuchsia.ui.display.singleton.Info` instead of
`fuchsia.ui.gfx.DisplayInfo`
- adds support for `fuchsia.ui.display.singleton.Info` in
`portable_ui_test` to support the above
- migrates `flutter-embedder-test` to capture screenshots using
`fuchsia.ui.composition.Screenshot` instead of
`fuchsia.ui.scenic.Screenshot`
  - updates screenshot tooling accordingly
- removes the embedding view hit test disabled case from `touch-input
test`, since disabling the hit region is not currently supported in
Flutter's integration with Flatland afaict ([this
logic](4f384979af/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc (L411-L434))
appears to set hit regions to the full view size by default, and
Flatland appears to drop the value
[here](4f384979af/shell/platform/fuchsia/flutter/flatland_external_view_embedder.cc (L578)))
- removes hit test configurability on `touch-input-test` and
`flutter-embedder-test` embedding views

Bug: fxbug.dev/125514
2023-07-17 13:16:13 -04:00
Kevin Lubick
bdc24b3d18 Remove calls to SkCanvas::flush() (flutter/engine#43684)
In https://skia-review.googlesource.com/c/skia/+/716476, Skia removed
calls to SkCanvas::flush(). This replaces those calls that Flutter was
making with what had been going on - calling GrDirectContext::flush() if
the canvas was backed by a Ganesh backend. Raster-backed canvases did
not need flushing.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-07-14 16:34:22 -04:00
Martin Kustermann
0e369e0e4e Use utf8.encode() instead of longer const Utf8Encoder.convert() (flutter/engine#43675)
The change in [0] has propagated now everywhere, so we can use 
`utf8.encode()` instead of the longer `const Utf8Encoder.convert()`.

Also it cleans up code like

```
  Uint8List bytes;
  bytes.buffer.asByteData();
```

as that is not guaranteed to be correct, the correct version would be

```
  Uint8List bytes;
  bytes.buffer.asByteData(bytes.offsetInBytes, bytes.length);
```

a shorter hand for that is:

```
  Uint8List bytes;
  ByteData.sublistView(bytes);
```

[0] https://github.com/dart-lang/sdk/issues/52801
2023-07-14 13:44:54 +02:00
Jason Simmons
4f384979af Fix a Fuchsia formatter type mismatch flagged by the pending Clang roll (flutter/engine#43651) 2023-07-13 20:13:55 +00:00
Jim Graham
ce4c7d3ffd move rtree and canvas_spy sources to Fuchsia sub-directory (flutter/engine#43615)
These sources have long been obsolete for most of the engine, except for the Fuchsia sources. They do not need to be built for any other platform so this PR moves them into a Fuchsia platform-specific build directory so that they are only present in the Fuchsia binaries.
2023-07-12 22:22:39 +00:00
Gwen Mittertreiner
91de8eabaa [fuchsia][cml] Mark Tracing as Optional (flutter/engine#43567)
Tracing is an optional component that is only included in eng builds, so the usage should be marked optional.

Bug: fxbug.dev/112433
2023-07-11 20:24:06 +00:00
David Worsham
122b633929 [fuchsia] Remove FIDL dart references (flutter/engine#43550)
fidlgen_dart was still referenced in the build rules. It is being
removed from the fuchsia SDK, so remove it from the build rules here.
2023-07-12 02:48:12 +10:00
Tong Mu
489f9c3d01 Make updating window metrics multi-view (flutter/engine#43366)
This PR adds multi-view support to various methods that updates the window metrics by adding a `view_id` parameter.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-08 05:54:16 +00:00
David Worsham
b400037017 [fuchsia] Fix tests; remove fuchsia dart SDK deps (flutter/engine#43461)
Dart is being removed from the Fuchsia SDK, so remove references to it
here.

Also remove references to workstation_eng and replace with terminal.
workstation_eng is no longer a thing.
2023-07-08 09:37:34 +10:00
Tamir Duberstein
e4d08d4e8c Remove unused constants (flutter/engine#43344) 2023-06-29 21:42:05 +00:00
Emircan Uysaler
d69d614045 [fuchsia] Remove strict equality check for SkMatrix comparison for Fl… (flutter/engine#43309)
Flatland version of
010e710512

Bug: fxb/126648
2023-06-29 12:01:12 -04:00
Tamir Duberstein
da738cb44d Avoid channel clone (flutter/engine#43181)
Use fdio_fd_transfer instead of fdio_fd_clone.
2023-06-26 12:04:46 -07:00
Tamir Duberstein
f7d1aada2e Add tmp storage capability to flutter runner (flutter/engine#43157)
Missed in fd56ab9e4475893d94e3a45ea5d5b3374bd74447.
2023-06-23 16:33:42 -07:00
Tamir Duberstein
fd56ab9e44 Remove process-local tempfs (flutter/engine#43056)
This was incorrectly made read-only in 0984c52a8f; instead of implementing it locally, ask the component manager for the directory.
2023-06-22 02:46:23 +00:00
Tamir Duberstein
75da76c7cd Add missing includes (flutter/engine#42812)
See https://fxrev.dev/869997.
2023-06-13 19:34:06 +00:00
Tamir Duberstein
0984c52a8f Remove dependency on memfs (flutter/engine#42773)
See individual commits.
2023-06-12 17:14:35 +00:00
gaaclarke
2097506136 [Impeller] Makes validation layers flag work for android (flutter/engine#42625)
This builds and links in the validation layers for android. They then
can be turned on or off with a manifest field.

fixes https://github.com/flutter/flutter/issues/123788
depends on https://github.com/flutter/buildroot/pull/741

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-06-09 10:22:21 -07:00
Brandon DeRosier
72a1fea6e2 [Impeller] Reland 2: Add Impeller Metal support in the embedder API (#42411) (flutter/engine#42597)
This reverts commit
8d6f091751
+ fixes bugs.

Reworked the surface wrapping to use a valid descriptor when wrapping
the drawable.
2023-06-06 23:02:02 -07:00
Zachary Anderson
8d6f091751 Revert "[Impeller] Reland: Add Impeller Metal support in the embedder API (#42411)" (flutter/engine#42593)
Reverts flutter/engine#42545

Not sure if this is needed, but getting a revert started for the
regression noted here:
https://github.com/flutter/engine/pull/42545#issuecomment-1579034704.
2023-06-06 10:57:57 -07:00
Brandon DeRosier
fba5e2b514 [Impeller] Reland: Add Impeller Metal support in the embedder API (#42411) (flutter/engine#42545)
This reverts commit
45dd178414.

Original PR: https://github.com/flutter/engine/pull/42411

Part of https://github.com/flutter/flutter/issues/112230.
2023-06-05 14:51:43 -07:00
Brandon DeRosier
45dd178414 Revert "[Impeller] Add Impeller Metal support in the embedder API (#42411)" (flutter/engine#42532)
This reverts commit 666563a5544cf2a98a51c6b24e7bc03e265eedb0.

Expected to resolve https://github.com/flutter/flutter/issues/128145
2023-06-02 18:11:00 -07:00
Brandon DeRosier
666563a554 [Impeller] Add Impeller Metal support in the embedder API (flutter/engine#42411)
Part of https://github.com/flutter/flutter/issues/112230.

Now seemed like the right time to sneak this in:
* We have large desktop refactors on the horizon (multi-window).
* We're starting to land optimizations that complicate the surface behavior such as wide gamut and dirty regions.
* We have plans to migrate the iOS embedder to use the embedder API (https://github.com/flutter/flutter/issues/112232).

![Screenshot 2023-05-30 at 6 59 48 PM](https://github.com/flutter/engine/assets/919017/16616be8-f94e-42ba-8a97-4ce4aa29e662)
2023-06-01 20:10:58 +00:00
Emircan Uysaler
d84c05920b [fuchsia] Bind ChildViewWatcher on platform thread (flutter/engine#42222)
This CL posts ChildViewWatcher calls on platform thread.

Bug: fxb/125256
2023-05-23 10:00:27 +10:00
Kevin Lubick
7751d1c5eb Move SkSurface::MakeNull to SkSurfaces::Null (flutter/engine#42158)
In https://skia-review.googlesource.com/c/skia/+/696537 (and earlier in
https://skia-review.googlesource.com/c/skia/+/687639), Skia moved all
SkSurface factories. This changes the last calls of the old static
methods to the methods in the `SkSurfaces` namespace

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-20 10:11:44 -04:00
Kevin Lubick
0946d27add Migrate uses of SkSurface factories (flutter/engine#41978)
In http://review.skia.org/687639, many SkSurface static methods were moved and one was deleted (SkSurface::MakeRasterN32Premul). (SkSurface::MakeNull was omitted accidentally and http://review.skia.org/696537glesource.com/c/skia/+/696537 has not rolled into Flutter yet)

This changes the calls in Flutter to match those moved functions. There should be no functional difference and everything was done pretty mechanically (e.g. find and replace)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-15 16:41:10 +00:00
Ian McKellar
4579687380 [fuchsia] Stop calling FIDL from Dart in Flutter integration tests (flutter/engine#41669)
As we move the Dart FIDL bindings we need to stop calling FIDL methods
from Dart in the Flutter repo. This only affects some integration tests.

This moves the FIDL calls into C++ and uses platform messages to make
the functionality available to the Dart tests.
2023-05-09 11:34:21 +10:00
drwez
de642efdac [tests] Remove unused fuchsia.sys protocol reference (flutter/engine#41826)
Remove reference to unused fuchsia.sys.Environment protocol in test
Realm setup. Besides being unused,
the reference was not correctly matched by an #include, nor a GN build
dependency.

Bug: fxbug.dev/81285
2023-05-09 11:34:08 +10:00
Dan Field
ea5131772d Add a Display API to dart:ui that reports the physical size, DPR, and refresh rate of the main display (flutter/engine#41685)
Fixes https://github.com/flutter/flutter/issues/123307 - for Android, iOS, and Web, for the main display only (https://github.com/flutter/flutter/issues/125938 tracks supporting multiple displays, https://github.com/flutter/flutter/issues/125939 for desktop).

Desktop will need to be implemented for this, but given priority for a couple of our customers targetting foldable devices on Android I'm inclined to get this in before desktop can be finished.

The main concern for this right now is that on some Android foldable devices, setting a preferred orientation will cause letterboxing and the `MediaQuery` will _never_ get the full screen size when unfolded. This causes apps to think the screen is smaller than it is, as they've mainly been using `MediaQueryData.size` to figure this out. Android's recommendation is to not set a preferred orientation, and if you must to use the new method introduced in `ViewUtil.java` to calculate the maximal window size.
2023-05-06 18:28:22 +00:00
Kevin Lubick
e05e7a8552 Migrate SkSurface::getBackend* methods to static functions (flutter/engine#41693)
In https://skia-review.googlesource.com/c/skia/+/687642, Skia moved some
gpu-related methods on SkSurface to be static functions in a different
header. This updates those callsites in Flutter.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-05-03 09:03:39 -07:00
Brandon DeRosier
b4271c24de Add missing header guards (flutter/engine#41322)
These keep turning up, so I did a little bash-fu to find them all.
```bash
grep -lL "#pragma once" $(grep -lL "#ifndef .*_H_" $(find . | grep "\.h$")) | cut -c 3-
```
2023-04-19 21:20:21 +00:00
Caroline Liu
f415c255c7 [fuchsia] migrate touch-input integration tests to gfx scene manager test ui stack (flutter/engine#41118)
This change migrates `touch-input` integration tests from the
`gfx-root-presenter-test-ui-stack` UI test realm variant to run
parameterized tests of two types: `gfx-scene-manager-test-ui-stack` and
`flatland-scene-manager-test-ui-stack`. Both are exercised for the
generic tap test, and only GFX is exercised for embedded view cases.
This will enable fuchsia.git to remove the
`gfx-root-presenter-test-ui-stack` variant, which will no longer be
supported.

This change also:
- removes or updates all remaining references of root presenter, which
manifested in the form of inline code comments
- adds a TODO to update the child view app for the embedded touch input
test cases

Note that this change does _not_ modify the `embedder` integration
tests, which use a generic `test-ui-stack` variant as defined by the
fuchsia pkg url:
`fuchsia-pkg://fuchsia.com/test-ui-stack#meta/test-ui-stack.cm`. Since
the contents of this package is defined in fuchsia.git, the realm under
test can adapt to changes in fuchsia.git so long as they update the
test-ui-stack build target (which they do in https://fxrev.dev/831359,
the change that relies on the touch changes in this repo described
above.)

Fixes https://fxbug.dev/125304

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or Hixie said the PR is test-exempt. See [testing the engine]
for instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.
2023-04-18 10:57:58 -04:00
drwez
c7eddaf709 [fuchsia] Remove implementations & clients of deprecated CreateView (flutter/engine#41154)
Prepare Flutter's Fuchsia port for removal of the
fuchsia.ui.app.ViewProvider.CreateView() API.
The Flutter engine's implementation of the API, which has long been
deprecated, is removed.
Calls to the deprecated CreateView() in tests are replaced with
CreateViewWithViewRef().

Bug fxbug.dev/81285
2023-04-14 06:30:06 +10:00
Emircan Uysaler
f54713cc5e [fuchsia] Reduce noise from child view disconnects (flutter/engine#41132)
This CL changes ERROR to WARNING for the logs when a child disconnects
and ChildViewWatcher is closed. This may happen due to other apps and
doesn't necessarily indicate a flutter error.

Bug:fxb/125256
2023-04-13 06:42:55 +10:00
Chris Yang
5da580cfb2 [embedder] embedder external view adopt DisplayListEmbedderViewSlice (flutter/engine#40578)
[embedder] embedder external view adopt DisplayListEmbedderViewSlice
2023-04-10 18:54:39 +00:00
Corey Tabaka
dac17395ad [Fuchsia] Implement thread priorities. (flutter/engine#40970)
[Fuchsia] Implement thread priorities.
2023-04-07 19:25:20 +00:00
Emircan Uysaler
647ad5e49e [fuchsia] Rename params and add comments to FlatlandConnection (flutter/engine#40941)
This CL renames params and adds comments to FlatlandConnection to
clarify behavior.

Bug: fxb/123838
2023-04-05 18:03:22 -04:00
Thomas Gales
7f5afc5533 [fuchsia] Feedback filing migration (flutter/engine#40736)
[fuchsia] Feedback filing migration
2023-03-30 20:09:50 +00:00
Filip Filmar
c68289bb76 Remove timezone from flutter (flutter/engine#40588)
Remove timezone from flutter
2023-03-27 17:08:05 +00:00
Alexander Aprelev
6a2019ca61 Roll dart to 01350005aab7a7bfe2dc98066cb7acc95a811f7a (flutter/engine#40455)
Roll dart to 01350005aab7a7bfe2dc98066cb7acc95a811f7a
2023-03-20 19:57:15 +00:00