45adab9726c3af86d9768ae135a2ada244c0d78c
### Changes
* Introduces a new `viewConstraints` JS configuration parameter to configure max/min width/height constraints for a view. Those can have the following values:
* An integer `>= 0`: max/min size in pixels
* `Infinity` (or `Number.POSITIVE_INFINITY`): (only for max values) -> **unconstrained**.
* When any value is not set, it defaults to "tight to the current size".
* See [Understanding constraints](https://docs.flutter.dev/ui/layout/constraints).
* Computes the correct `physicalConstraints` of a view off of its `physicalSize` and its `viewConstraints` for the framework to use during layout.
* When no constraints are passed, the current behavior is preserved: the default constraints are "tight" to the `physicalSize`.
* Resizes the current view DOM when requested by the framework and updates its internal physicalSize, then continues with the render procedure.
### Example
This is how we can configure a view to "take as much vertical space as needed":
```js
flutterApp.addView({
viewConstraints: {
minHeight: 0,
maxHeight: Infinity,
},
hostElement: ...,
});
```
### TODO
* Needs actual unit tests
### Issues
* Fixes https://github.com/flutter/flutter/issues/137444
* Closes https://github.com/flutter/engine/pull/48541
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Description
Languages
Dart
75.4%
C++
16.4%
Objective-C++
2.7%
Java
2.7%
Objective-C
0.6%
Other
1.8%