* Adjust PhysicalModelLayer to use an abstract shape, and provide concrete RRect and Path shape implementations
* add a pushPhysicalShape to scene_builder and compositing.dart
This reverts commit d65485dd0e61dc3a21920e0132bb37b8da37720c.
This change is not sufficient as it exposes problem with kernel-based
gen_snapshot on Windows and results in Flutter test failures.
The engine build bots and engine development team now rely solely on
Xcode 9 to build the engine. The iOS 11 SDK is required (though we build
with deployment target of iOS 8) for several features such as safe area
inset support.
* newly pushed styles should inherit from the top of the paragraph's style
stack, not the most recently added style in StyledRuns
* make the paragraph-level style a default that is not pushed onto the stack
and can not be popped
* Do not use CompilerOptions.onError to report errors.
CompilerMessage does not carry correct SourceSpan
which makes errors unreadable: they all point to
line 1 column XYZ.
* Run dartfmt on frontend_server/lib/server.dart.
* Fix linting issues for frontend_server
This change ensures that touches are mapped to the Flutter view
co-ordinate system. In the case of a Flutter view that doesn't share the
same origin and orientation as the screen co-ordinate system, touches
were appled in the wrong location. This bug affected Flutter views whose
origin was not the screen origin and Flutter apps running with the
in-call status bar on iPhones other than the iPhone X.
Model top and side system insets as padding and bottom (keyboard) as a
view inset. This avoids applying system insets twice (once as an inset,
once as padding).
Previously GetRectsForRange was assigning each rectangle a height matching the
height of the entire line. If the line includes multiple text styles, callers
will expect each span's rectangle to reflect the height of that span.
(see text_painter_rtl_test.dart)
This adds support for scrolling the primary scroll view to the top on
status bar touches, on the iPhone X.
Notes:
1. The iPhone X status bar doesn't change height when in in-call/etc.
mode, and unlike other iPhones, does scroll to top when in in-call mode.
2. No matter which model of iOS device, the top safe area inset doesn't
change when in in-call mode. In in-call mode, the OS reduces the app
view height by 20px off the top, and the double-height 'in-call' status
bar covers this new inset (outside the view) and there continues to be a
20px safe area in the app.
On iOS 11, rather than comparing status bar height to a hardcoded 20px
'standard height' we now compare to the top safe area inset (which is
always the standard status bar height, regardless of device). On iOS
versions prior to iOS 11, we use the previous logic.
Fixesflutter/flutter#13439