2041 Commits

Author SHA1 Message Date
Matt Carroll
95468839a0
Added API guards to flags in PlatformPlugin that were introduced after Flutter's min SDK version. (#13965) 2020-02-03 16:25:27 -08:00
stuartmorgan
44f24bd980
Fix delete of entire selection in macOS text input (#16276)
Fixes a bug where deleteBackward was checking for being at the start of
the text before checking for a non-empty selection, breaking deletion
when the entire text field was selected.

Also removes an (incorrect) post-deletion position update that was
redundant with code in insertText:replacementRange:, and thus having no
effect.

Fixes https://github.com/flutter/flutter/issues/46150
2020-02-03 15:22:44 -08:00
Dan Field
447b022ae5
Change NSLog to FML_DLOG (#16331) 2020-02-03 10:07:59 -08:00
Dan Field
f2ade05de2
Revert "Modifies accessibility bridge to populate new node fields in semantic… (#15116)" (#16323)
This reverts commit 4a55b4fd2500bf96de93c4feb4172d88b93d52c3.
2020-01-31 23:31:27 -08:00
Chinmay Garde
f7b78e001d
Remove all uses of the redundant flutter_root variable. (#16311)
This was only necessary when the Engine had to build in multiple buildroots
where the sources where checked out at different paths relative to the
buildroot. This is no longer the case and there are already cases GN rules
have been written that mix and match variable usage with the direct
specification of the path to the Flutter sources relative to the sole buildroot.
2020-01-31 21:49:48 -08:00
Michael Klimushyn
0816c040fb
Deprecated FlutterView v1 points to FlutterView v2 (#16304)
FlutterView#enableTransparentBackground has been deprecated for some
time now since it breaks a11y highlighting in most cases. When the
warning was first added there was no known workaround, but now the v2
embedding is in stable and ready to support this usecase. Update the
warning to point to the v2 embedding.
2020-01-31 15:06:52 -08:00
Chinmay Garde
dffe3fb276
Isolate and move common portable ELF loading from fixtures into //flutter/testing. (#16305)
Also update all known test harnesses to use this and fixes the broken shell_unittests harness.

Fixes https://github.com/flutter/flutter/issues/49853
2020-01-31 12:52:00 -08:00
Jason Simmons
7c95cdada4
Ensure that Android embedding initialization always uses an application context (#16204)
Some parts of the embedding (e.g. VsyncWaiter) may hold global references to
system services obtained through the context used during initialization.
These must not be associated with an activity or other non-application context.

Fixes https://github.com/flutter/flutter/issues/49612
2020-01-31 12:09:38 -08:00
George Wright
6b8c150639
Use static constexpr for iphone_xs_times (#16264) 2020-01-31 10:04:39 -08:00
gaaclarke
71de21c7e7
Started coalescing updates to viewport metrics after foregrounding the app. (#16270) 2020-01-31 09:31:27 -08:00
George Wright
f5de1acf94
Revert "Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118)" (#16277)
This reverts commit 41e8ed071454cfd9ae02e34198250dea0edab9c4.
2020-01-30 17:19:13 -08:00
Matt Carroll
eecb5e5c25
Notify PlatformViewsController within FlutterEngine when a hot restart occurs. (#48518) (#16230) 2020-01-30 12:58:41 -08:00
Chinmay Garde
5c79a2d378
Remove buggy test to check if tasks can be posted on all native threads recursively from the emebdder. (#16214)
This was never thread safe to shutdown of the concurrent message loop.
2020-01-29 18:16:09 -08:00
Chinmay Garde
6061b804e3
In the test harness, don’t attempt to load AOT snapshots from non-existent dylibs. (#16210)
This condition may arise when the embedder passes in a path to a non-existent
dylib. Instead of crashing, the embedder will now return an error response.

Fixes https://github.com/flutter/flutter/issues/49732
2020-01-29 15:49:29 -08:00
Alexander Brusher
4a55b4fd25
Modifies accessibility bridge to populate new node fields in semantic… (#15116) 2020-01-29 10:38:21 -08:00
Jonah Williams
020222ddd0
Allow --enable-service-port-fallback as a whitelisted arg (#16167) 2020-01-29 09:17:45 -08:00
Chris Yang
ec32966e03
Revert "Always make gpu thread different from platform thread regardless of platform view (#16068)" (#16161)
This reverts commit 0889e97889c80adfc260ada8d0b3b78a8f63bc06.
2020-01-28 15:12:25 -08:00
Chris Yang
0889e97889
Always make gpu thread different from platform thread regardless of platform view (#16068) 2020-01-28 11:36:43 -08:00
Francisco Magdaleno
0de80f4e8a Gets the DPI for all awareness mode and older Windows versions (#15951) 2020-01-27 18:48:03 -08:00
Chinmay Garde
db96c1c8f5
Hold a mutex when updating all CanPostTaskToAllNativeThreads::Captures members. (#16085)
This is in the same vein as https://github.com/flutter/engine/pull/16081 but
includes holding the mutex when updating all members in the Captures struct
instead of just when tracking thread IDs.
2020-01-27 18:37:20 -08:00
Chinmay Garde
26fd7d0bc9
Fix flake by making thread ID tracking in CanPostTaskToAllNativeThreads thread safe. (#16081) 2020-01-27 17:34:56 -08:00
Chinmay Garde
aab316c62f
Remove buggy assertion in EmbedderTest::CanPostTaskToAllNativeThreads. (#16071)
This was introduced in
c5329ef5c4.

The assertion was originally written to check that more than 4 threads were
managed by the engine (UI, Platform, GPU, IO + ConcurrentWQWorkers). However,
the assertion actually only checked the count of workers in the ConcurrentWQ. As
written, this assertion would fail on all hosts with a hardware concurrency of
less than 4. Remove the assertion. The engine threads count and its assertions
already check callbacks on workers. So this check was incorrect and redundant.
2020-01-27 16:00:34 -08:00
Chinmay Garde
c5329ef5c4
Allow embedders to schedule a callback on all engine managed threads. (#15980)
`FlutterEnginePostCallbackOnAllNativeThreads` schedule a callback to be run on
all engine managed threads. The engine will attempt to service this callback the
next time the message loops for each managed thread is idle. Since the engine
manages the entire lifecycle of multiple threads, there is no opportunity for
the embedders to finely tune the priorities of threads directly, or, perform
other thread specific configuration (for example, setting thread names for
tracing). This callback gives embedders a chance to affect such tuning.

Fixes flutter/flutter#49551
Fixes b/143774406
Fixes b/148278215
Fixes b/148278931
2020-01-27 13:49:39 -08:00
Chinmay Garde
276481c4d3
Move tonic into //flutter/third_party. (#15895)
Tonic used to be used by multiple consumers outside of Flutter Engine. Due to
this, it has an unnecessary abstraction layer as well as utilities duplicated in
FML and other engine subsystems. The sole user of Tonic is now the Flutter
Engine. It is intended that the Flutter Engine team now owns this subsystem,
remove unnecessary utilities and document the headers. This is the first step in
the transition. No history is being imported as the initial history was already
lost in the transition of this component to fuchsia.googlesource. As this
component was unmaintained there, I could see no additional value in importing
the history of the patches there.

No functional change. Just moved the repo from //third_party to
//flutter/third_party and updates GN refs.
2020-01-25 17:01:56 -08:00
Michael Klimushyn
6fa1fcda8f
Register plugins at the right time, once (#15979)
Currently we're automatically registering plugins both when the
FlutterEngine is constructed and in the `flutter create` template, when
FlutterActivity#configureFlutterEngine is called. The initial
registration is too early to contain a reference to the activity and the
second registration can cause problems in some plugins.

This alters the flow so automatic registration happens in two discrete
places, and contains the `activity` in its first and only call for most
apps.

1. We're no longer automatically registering plugins on `FlutterEngine`
in any of our activities/fragments at construction time. But since the
FlutterEngine default constructor still automatically registers plugins,
anyone constructing the engine themselves (for example, in a service) is
still going to get automatic registration at `FlutterEngine`
instantiation time.
2. We now automatically register plugins in the base `FlutterActivity`'s
`configureFlutterEngine` hook. Anyone using `FlutterActivity` (or
`FlutterFragment`) should be automatically registered once that hook is
called. Right now the `flutter create` template overrides the base class
method with a subclass that registers everything manually in the same
spot. But with this in place we can safely recommend to remove the
subclass and rely on this hook to automatically register going forward.
Registering at this time means `activity` is set correctly.
2020-01-25 00:34:52 -08:00
Chris Bracken
d1b0883883
Eliminate unused import in Android embedding (#15975)
Eliminates an unused dependency on android.os.build. The last remaining
use of this was eliminated in 0615f45623224bd99ee3ceb8ba4a0d4d04f58d54
with the removal of an unused method that contained an android version
check.
2020-01-24 16:19:00 -08:00
Matt Carroll
fec9573786
Prevent duplicate plugin registration in FlutterEnginePluginRegistry. (#49365) (#15956) 2020-01-24 15:57:51 -08:00
Kaushik Iska
bd8c955502
[fuchsia] Expose view_ref as part of dart:fuchsia initialization (#15958)
fixes https://github.com/flutter/flutter/issues/47178
2020-01-24 13:42:19 -08:00
George Wright
abdf4bde63
Refactor ShellTest to allow for different ShellTestPlatformViews (#15972)
This paves the way for us to have shell_unittests backed by different rendering APIs (e.g. OpenGL, Vulkan, Metal).
2020-01-24 13:29:12 -08:00
Dan Field
89f3471fa7
the the fix (#15973) 2020-01-24 12:43:32 -08:00
George Wright
41e8ed0714 Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118) 2020-01-23 18:54:49 -08:00
Wu Zhong
45fe095d09 Fixes FlutterCallbackInfomation leaks (#15089)
See: flutter/flutter#46750
2020-01-23 16:33:26 -08:00
Wu Zhong
e9be397484 Fixes oc leaks in platform plugin (#15041)
Some objc objects are not released in the iOS embedder. This fixes a
subset of those leaks in FlutterPlatformPlugin.mm.
2020-01-23 16:32:31 -08:00
Miguel
e08ff745d2 [fuchsia] Add LogSink to flutter_[jit & aot]_product_runner (#15697) 2020-01-23 15:15:33 -08:00
Wu Zhong
439a21816e Fixes labelPrefix memory leak in FlutterEngine (#14674) 2020-01-23 14:07:51 -08:00
Matt Carroll
29e857ca2c
Release TextureView surface within FlutterTextureView when disconnected. (#48535) (#15899) 2020-01-23 13:19:42 -08:00
Kaushik Iska
5c9c6276c1
[fuchsia] Timeline events in profile mode to observatory (#15900)
This is to address fxb/44063

In all the other modes they will be sent to the systrace
2020-01-23 11:53:03 -08:00
George Wright
69bc783016
Revert "Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118)" (#15903)
This reverts commit a50f1ef56a05999bfa97a777cca14fd7a00e8454.
2020-01-22 20:35:41 -08:00
Brian Osman
14fefe31ce
Implement new SkCanvas virtuals in testing canvases (#15893) 2020-01-22 15:52:46 -05:00
Dan Field
3bd9044e25 errant log (#15891) 2020-01-22 11:18:03 -08:00
Dan Field
c3e2c0f32b
[fuchsia] HitTesting for fuchsia a11y (#15570) 2020-01-22 01:12:37 -08:00
Michael Goderbauer
0615f45623 Remove unused Imports and private method (#15872) 2020-01-21 17:53:02 -08:00
stuartmorgan
3d98b361f8 Add missing include in GLFW and Windows embeddings (#15867) 2020-01-21 17:48:03 -08:00
Nathan Rogers
26d82402db Add size parameters to Vulkan surface functions (#15748)
Add "width" and "height" trace parameters to
|VulkanSurfacePool::GetCachedOrCreateSurface| and
|VulkanSurfacePool::CreateSurface|.  Also add an "allocationSize"
parameter to the "vkAllocateMemory" event.
2020-01-21 11:46:10 -08:00
Nathan Rogers
c561e610b1
[fuchsia] Support Skia tracing arguments (#15745)
When running on Fuchsia, respect the argument values that Skia passes
into the Flutter implementation of the |SkEventTracer| interface.

Bug: https://github.com/flutter/flutter/issues/48864
2020-01-21 10:00:11 -08:00
xster
006e44d1d0 Reduce default verbosity of Android embedding (#15164) 2020-01-18 23:49:05 -08:00
Gary Qian
5734eceddf
Samsung fix duplication on punctuation: Update keyboard on finish compose. (#15701) 2020-01-16 18:04:58 -08:00
Greg Spencer
73cdd0ef70
Fix hardware keyboard enter so it triggers an action. (#15568)
This changes the InputConnectionAdaptor so that it will execute an IME action when ENTER is pressed. Prior to this, pressing ENTER on a hardware keyboard did nothing.
2020-01-15 11:13:39 -08:00
Tan Jay Jun
81011362d3 Use iOS 13 dark content status bar style (#13119) 2020-01-15 11:07:28 -08:00
dnicoara
1d6766f9dd Fix embedder mutation order (#15566)
The mutator list sent to the embedder is in reverse order from the
MutatorsStack. The root display transformation then needs to be appended
at the end of the list.

Given that these transforms are applied to a layer in display space the
list needs to be reversed as well such that transforms can be applied in
the right order to get from display space to surface space.

Bug: b/143612326
2020-01-15 10:35:15 -08:00