938 Commits

Author SHA1 Message Date
Tong Mu
d325ca78a3
Hardware keyboard: Web, embedder, and dart:ui (#23466) 2021-01-28 17:19:02 -08:00
Ian Hickson
0540bc876d
Continue filling in the list of FontFeatures (#23730) 2021-01-27 02:49:02 -08:00
Michael Reed
1411cb671b
Pass sampling rather than rely on (deprecated) filter-quality (#23963) 2021-01-26 15:14:01 -08:00
Emmanuel Garcia
a4836a61f8
Call Dart plugin registrant if available (#23813) 2021-01-21 23:44:01 -08:00
Dan Field
5dc24693d5
Reland path vol tracker (#23840)
This time making sure to deref the native object on GC.
2021-01-21 16:03:43 -08:00
Dan Field
e37235b647
revert path volatility tracker (#23822) 2021-01-21 08:34:02 -08:00
Michael Ludwig
37131f16d9
Use non-deprecated SkImageFilter factory functions (#23649)
* Only use factory functions from SkImageFilters.h

Fully addresses https://github.com/flutter/flutter/issues/40602

* Update image filter factories in unittests

SkImageFilter::MakeMatrixFilter -> SkImageFilters::MatrixTransform

* Fix header
2021-01-14 09:33:55 -05:00
Jason Simmons
f1278d0e71
Link SkShaper/SkParagraph into the engine by default (#23626) 2021-01-12 15:49:01 -08:00
Chinmay Garde
cb2a81e1c2
During image decoding, avoid using smart pointers for DartWrappables that cross thread-boundaries. (#23503) 2021-01-08 20:54:02 -08:00
Michael Goderbauer
40a262b67c
Update outdated links (#23513) 2021-01-08 10:14:01 -08:00
Jason Simmons
83732f262c
Provide a runtime switch for selecting SkParagraph text layout (#23474) 2021-01-07 12:59:03 -08:00
Dan Field
892034dc6a
cache closures from hooks.dart (#23230) 2020-12-28 09:34:13 -08:00
Dan Field
5a2244c581
Reland path volatility tracker, disabling it if deterministic rendering is requested (#23226)
* Reland path volatility tracker (#23063)" (#23220)

This reverts commit fceef3aaa9d156e8ec3f4a079c142921882f70d8.

* allow disabling based on whether deterministic rendering is needed
2020-12-22 08:25:20 -08:00
Dan Field
fceef3aaa9
Revert "Reland path volatility tracker (#23063)" (#23220)
This reverts commit 205d2b8e188be518c313c9b537429b566d36fa35.
2020-12-21 13:53:18 -08:00
Chris Bracken
27ebbc4bf3
Rename PointerState.isDown as per style guide (#23120)
Renames from isDown to is_down in accordance with the C++ style guide.
2020-12-16 17:09:18 -08:00
Chris Bracken
69d7e8eb91
Correct button state on synthetic pointer events (#23111)
This corrects the button state emitted on synthetic pointer move and
hover events generated by the engine.

When an embedder notifies the engine of a pointer up or down event, and
the pointer's position has changed since the last move or hover event,
`PointerDataPacketConverter` generates a synthetic move or hover to
notify the framework of the change in position. In these cases, the
current event from the embedder contains the new button state *after*
the pointer up/down event, but the move/hover needs to be synthesized
such that it occurs *before* the pointer up/down, with the previous
button state.

This patch stores the button state after each pointer down, up, move, or
hover event such that it can be used by the next event if a synthetic
event must be issued.

The bug in the previous logic was revealed by the release of macOS 11
(Big Sur), which appears to issue move events between mouse down and
mouse up, which did not use to be the case.

This fixes https://github.com/flutter/flutter/issues/64961, which is the
desktop-specific tracking bug for the more general Big Sur mouse click
umbrella issue https://github.com/flutter/flutter/issues/71190.
2020-12-16 11:57:42 -08:00
Dan Field
205d2b8e18
Reland path volatility tracker (#23063)
* Revert "Revert "Set SkPath::setIsVolatile based on whether the path survives at least two frames (#22620)" (#23044)"

This reverts commit 4f914253bd7cd2a5cca3fd97213df37494e9bf37.

* Fix tracing
2020-12-14 17:21:55 -08:00
Dan Field
4f914253bd
Revert "Set SkPath::setIsVolatile based on whether the path survives at least two frames (#22620)" (#23044)
This reverts commit 2efc7c10aa12005010c837a1023024bb26bee143.
2020-12-11 15:39:24 -08:00
Jim Graham
bb81b954b9
Allow Tile mode for blur filter and add new decal TileMode (#22982)
Add a new TileMode.decal enum value and allow TileMode in ImagerFilter.blur() constructor
2020-12-10 14:37:17 -08:00
Dan Field
2efc7c10aa
Set SkPath::setIsVolatile based on whether the path survives at least two frames (#22620)
This patch defaults the volatility bit on SkPaths to false, and then flips it to true if the path survives at least two frames.
2020-12-10 13:57:23 -08:00
mikerreed
6ae2594b97
opt into new Skia APIs (#22845) 2020-12-03 15:28:02 -08:00
zljj0818
48befc59d4
More rename from GPU thread to raster thread (#22819) 2020-12-03 15:03:02 -08:00
Gary Qian
fcbfa9f527
Split AOT Engine Runtime (#22624) 2020-12-02 13:28:01 -08:00
Greg Spencer
d2ad4419bb
Fix PlatformDispatcher.locale to return something meaningful when there are no locales. (#22608)
Returns an "undefined" locale (language code "und") from PlatformDispatcher.locale when no locales are defined.
2020-12-01 09:54:56 -08:00
vsmenon
550c750252
Remove opt outs for dart:ui (#22603)
* Remove null safety opt outs for dart:ui
2020-11-19 18:54:12 -08:00
Matěj Žídek
93a8e6f04a
replace dead links (#22530) 2020-11-19 14:58:02 -08:00
Greg Spencer
4b859cee93
Fix typos and fix some env var state leakage in tests (#22576)
This just fixes some typos, and a small state leak in some of the tests that set env variables.
2020-11-17 21:51:37 -08:00
Greg Spencer
9a5fd321f6
Reland: Remove the Window class now that it is no longer used. (#22566)
Reland #22505, now that flutter/flutter#70637 has landed.

Removes references to dart:ui.Window, and switch usages to PlatformDispatcher or SingletonFlutterWindow, as appropriate.
2020-11-17 16:39:07 -08:00
Ian Hickson
1a5ec52a6c
Also maintain the zone on the ChannelBuffers.push callback (#22454) 2020-11-17 09:48:03 -08:00
Jim Graham
b0966e8123
Revert "Remove the Window class now that it is no longer used. (#22505)" (#22519)
This reverts commit 2004a7b3756d27c76f0c0ffcfaae885fb61f091a.
2020-11-13 23:12:12 -08:00
Greg Spencer
2004a7b375
Remove the Window class now that it is no longer used. (#22505)
This removes the Window class, now that the framework no longer uses it.
2020-11-13 14:38:15 -08:00
LongCatIsLooong
e872177c1f
Exposing ColorFilter to ImageFilter conversion and Compose() (#20309) 2020-11-12 15:34:02 -08:00
Greg Spencer
9f09ff2455
Reland: "Make PlatformDispatcher.locale and locales return consistent values (#22267)" (#22473)
This reverts commit d37b862, relanding #22267, now that flutter/flutter#70252 has landed to prevent the problems it had the first time.

Here is the original PR description:

For some reason (probably a bad merge on my part), the return values for locale and locales are not the same on web as they are on other platforms for the PlatformDispatcher and SingletonFlutterWindow classes. The web versions are non-nullable and the others are nullable.

This converts them to be the same (non-nullable) values
2020-11-12 13:20:13 -08:00
Jim Graham
d37b86216a
Revert "Make PlatformDispatcher.locale and locales return consistent values (#22267)" (#22461)
This reverts commit dc8864182c531994852a8263f77596a6131ed8fd.
2020-11-11 23:39:59 -08:00
Greg Spencer
dc8864182c
Make PlatformDispatcher.locale and locales return consistent values (#22267)
For some reason (probably a bad merge on my part), the return values for locale and locales are not the same on web as they are on other platforms for the PlatformDispatcher and SingletonFlutterWindow classes. The web versions are non-nullable and the others are nullable.

This converts them to be the same (non-nullable) values.
2020-11-11 16:30:22 -08:00
Emmanuel Garcia
7ab39127ee
loadFontFromList returns void instead of string (#22373) 2020-11-06 17:24:02 -08:00
张风捷特烈
1c2a56ce02
Update painting.dart (#22221) 2020-11-05 15:24:02 -08:00
Ian Hickson
ad79d23358
Refactor platform message logic (#22181) 2020-11-05 15:19:01 -08:00
Sarbagya Dhaubanjar
deb7c662d2
Updated return-type for PathMetric.extractPath to be non-nullable (#22292) 2020-11-04 14:54:03 -08:00
Daco Harkes
ccdb6819ce
WeakPersistentHandle migration (#19843)
and roll Dart to 52783837369de45d3372cb6c6b7cdd63e71cd829.
2020-11-03 13:06:53 +01:00
张风捷特烈
fe85f946db
Update painting.dart (#22195) 2020-10-29 15:28:02 -07:00
Greg Spencer
ce1dd11f51
Standardize macro names for dartdoc macros (#22180) 2020-10-29 12:03:04 -07:00
Chris Bracken
6e0262d37a
Fix _lerpInt precision bug (#22089)
Fixes a precision bug was introduced in 784e6d7, which improved the
precision of lerpDouble when the extrema differed significantly in
magnitude.

_lerpInt doesn't have this issue since the extrema are passed as 64-bit
twos-complement values, therefore the difference will always be accurate
so long as it doesn't overflow. This reverts the _lerpInt implementation
to the original a + (b - a) * t, but adds a test to avoid a regression
if anyone is tempted to make it consistent with the others.
2020-10-24 09:49:21 -07:00
Dan Field
b9520248c4
Add debugDisposed to Image (#21547) 2020-10-23 10:27:02 -07:00
Greg Spencer
6bc70e4a11
Reland: Migration to PlatformDispatcher and multi-window (#21932)
This re-lands #20496 and #21780 after fixing the semantics-enabling code that was causing the post-submit web_smoke_test to fail.

Below is the description from the original PR:

This is a PR for converting the dart:ui code in the engine to use a multi-window API. The goal here is to convert from the window singleton to an API that has the concept of multiple windows. Also, I'm matching up the new PlatformDispatcher class to talk directly to the PlatformConfiguration class in the engine. I'm not attempting to actually enable creating multiple windows here, just migrate to an API that has a concept of multiple windows. The multi-window API in this PR currently only ever creates one window.

The design doc for this change is here.

The major changes in this PR:

Move the platfom-specific attributes out of Window, and into the new PlatformDispatcher class that holds all of the platform state, so that the platform code need only update the configuration on this class.
Create FlutterView, FlutterWindow, and SingletonFlutterWindow classes to separate out the concepts of a view (of which there may be multiple in a window), a window (of which there may be multiple on a screen, and they host views), and a window where there is only ever expected to be one (this hosts the entire API of the former Window class, and will eventually be the type of the window singleton).
Next step after this PR lands:

Remove the Window class entirely (it is replaced by SingletonFlutterWindow). Some minor changes in the Framework are needed to switch to using SingletonFlutterWindow directly first.

The Window class still exists in this PR, but will be removed as soon as the framework is converted to point to the SingletonFlutterWindow class instead. They share the same API, just have different names (Window is currently a subclass of SingletonFlutterWindow). The intention is that the Window name will be freed up to use as a widget class name in the framework for managing windows. The singleton called window will remain, and keep the same API it has now.
2020-10-22 14:54:25 -07:00
Jonah Williams
6ce33dd4a9
[null-safety] fix soundness of Paragraph._addPlaceholder (#21994) 2020-10-20 09:57:59 -07:00
Jonah Williams
326157ee7e
[null-safety] fix Scene.toImage declaration (#21983) 2020-10-19 22:52:19 -07:00
Chinmay Garde
fa11ee6e2a
Fix native constructor of list of zircon handles and remove unused list factory specializations. (#21980) 2020-10-19 19:42:01 -07:00
Jonah Williams
895940081c
[null-safety] fix types of layer code (#21959) 2020-10-19 16:22:40 -07:00
Jonah Williams
1c35cc6416
[null-safety] fix type declaration of Picutre._toImage (#21942)
Fixes flutter/flutter#68377

Should be a nullable string. Looks like --null-assertions does not cover the native binding code.
2020-10-17 11:02:19 -07:00