2178 Commits

Author SHA1 Message Date
gaaclarke
cfbd7272da Started clearing out the parent of orphaned semantic objects. (flutter/engine#17499) 2020-04-03 14:35:48 -07:00
xster
c81eeda828 Small updates to objcdocs (flutter/engine#17151) 2020-04-03 13:03:06 -07:00
Jason Simmons
02720fbca8 Fix include paths of fml/time headers in the shell and rasterizer (flutter/engine#17502) 2020-04-03 12:33:54 -07:00
Jason Simmons
3c089996dc Disconnect from platform views and virtual displays before detaching from the engine (flutter/engine#17379) 2020-04-02 18:16:05 -07:00
Kaushik Iska
ce0ec9042f [pipeline] Add trace event for lag between target and display times (flutter/engine#17384)
This change also adds TimeRecorder which records time at the start
of each frame to capture the latest vsync target display time and
wires it in to the rasterizer to add trace events when there is a lag.
2020-04-02 17:15:45 -07:00
Dan Field
f1a58638ad Fix bad texture view config (flutter/engine#17486) 2020-04-02 15:06:03 -07:00
stuartmorgan
7b222c8310 Remove JSON codec from C++ client wrapper (flutter/engine#17312)
The JSON codec is awkward to use in the wrapper (since the client has to build and link one of the JSON libraries to do so). Since it would be very cumbersome to wrap in a C API, and there's essentially no reason to use it instead of the standard codec, this removes it from the wrapper entirely.

Since some system channels (internal to the engine) still use it, it's moved into common/cpp instead of being eliminated entirely. Internally we always use RapidJSON though, so the jsoncpp implementation is removed. Also adds some unit test coverage, since there wasn't any.

Fixes #30669
2020-04-02 14:57:46 -07:00
Dan Field
904a84fee3 Roll to clang11, mark 4 (flutter/engine#17483)
* "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 4 (#17467)" (#17482)"

This reverts commit d7bbf2e70c8cb86823f1ec7a310d6ab0b9a610db.

* format code

* Roll buildroot to 3a27de1c5bb0f50be7d3efe3e00de4f6068c9f30
2020-04-02 13:04:49 -07:00
Chinmay Garde
165af3205c Always cache SkSL when using the Metal backend. (flutter/engine#17468)
There is no ability to compile shaders online and cache those binaries when
using the Metal backend. SkSL caching must always be used.
2020-04-02 13:00:29 -07:00
Jonah Williams
e6e8170ea8 fix typos in switch descriptions (flutter/engine#17475) 2020-04-02 11:21:04 -07:00
Dan Field
a04ba4f15e Initialize locale from FlutterEngine (flutter/engine#17473)
* Initialize locale from FlutterEngine
2020-04-02 10:06:06 -07:00
Dan Field
d7bbf2e70c Revert "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 3 (#17467)" (flutter/engine#17482)
This reverts commit 31eab31f771363d9c4fc9799449859abe0e464f2.
2020-04-02 10:01:26 -07:00
Dan Field
31eab31f77 Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 3 (flutter/engine#17467)
* Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (#17457)" (#17464)

This reverts commit 6083cda709c194ec81d2092c70a0151a10f0c922.

* Skip more image tests, use newer dsymutil, add missing symbols
2020-04-01 20:55:27 -07:00
Gary Qian
eff62e12bd Implement getExtractedText in InputConnectionAdaptor (flutter/engine#17426) 2020-04-01 18:51:04 -07:00
liyuqian
474e90ba76 Add build_and_test_linux_release presubmit test (flutter/engine#17073) 2020-04-01 18:46:04 -07:00
Dan Field
6083cda709 Revert "Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (#17457)" (flutter/engine#17464)
This reverts commit fe77c763691277d3194269f30d9a8c915e437852.
2020-04-01 17:50:57 -07:00
Dan Field
fe77c76369 Reland Clang 11, Roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c (flutter/engine#17457)
* Reland "Roll Clang to v11, roll buildroot to fe13f79dce4ce9aab3209f11988d825dcf580b4a, allow newly exported symbols (#17440)" (#17451)"

This reverts commit d77d53688f77285966adeb2a24349ba490a7e6ce.

* skip golden that is different on macos

* buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c
2020-04-01 16:32:13 -07:00
gaaclarke
f3c6f8902f Started clearing out the semantics information in Dart as well as deleting the AccessibilityBridge. (flutter/engine#17433) 2020-04-01 13:08:01 -07:00
Brian Osman
6ed6d9bdc8 Finish removing deprecated SkCanvas virtuals (flutter/engine#17445)
API staging is complete - these defines have been removed.
2020-04-01 10:27:50 -04:00
Chinmay Garde
c338e362f1 Use Metal on iOS by default. (flutter/engine#17431)
Fixes https://github.com/flutter/flutter/issues/18208. All Metal for iOS related work items described in https://github.com/orgs/flutter/projects/5 have been completed.
2020-03-31 23:37:04 -07:00
Chinmay Garde
1eec7d5d8e If the application says there is a new texture but does not provide one, reuse the last texture. (flutter/engine#17437)
This matches the behavior of the OpenGL backend.
2020-03-31 22:01:32 -07:00
Robert Ancell
eda8501719 Update FlDartProject to new path format (flutter/engine#17302)
Matches the structure used on Windows of assuming a directory format.
2020-03-31 15:25:44 -07:00
liyuqian
b4f8a7c881 GPU to raster rename, patch 2 (flutter/engine#17428) 2020-03-31 15:16:11 -07:00
Chinmay Garde
7bc00f2d09 Fix iOS builds on Xcode 11.4 for new enum values added in iOS 13.4. (flutter/engine#17429)
The following issues have been filed to track the handling of these enum values:

* Handle the UITouchTypeIndirectPointer enum value. https://github.com/flutter/flutter/issues/53696
* Handle the UITouchPhaseRegion enum values. https://github.com/flutter/flutter/issues/53695

No change in functionality. Only makes the iOS engine build on the latest
versions of Xcode and iOS SDK. The enum values cannot be used with the
API_AVAILABLE macro because the buildbots have not been updated yet.
2020-03-31 15:10:05 -07:00
Nathan Rogers
afb66ed5a6 [fuchsia] Remove "CreateTraceProvider" trace event (flutter/engine#17423)
Since the trace provider hasn't been created yet, it is not possible to
trace the creation of a trace provider using a TRACE_DURATION event (the
trace enabled and category check will always fail).  While this isn't
causing any urgent problems, remove it to set a good example for other
clients of tracing that might happen to reference this code.
2020-03-31 15:09:38 -07:00
liyuqian
6464f4eb97 Strengthen json string comparisons (flutter/engine#17425)
Make the test robust even if the json map reorders its keys.
2020-03-31 15:02:26 -07:00
liyuqian
b5318d05ff More rename from GPU thread to raster thread (flutter/engine#17408)
This PR touches variable names, class names, and file names so it's significantly more risky than its predecessor https://github.com/flutter/engine/pull/17329

Due to file name changes, this PR is expected to change the license files.

We haven't rename `shell/gpu` to `shell/raster` yet. It should be optional but I think it's better to have `raster_surface_software.cc` than `gpu_surface_software.cc`.
2020-03-31 14:05:28 -07:00
liyuqian
663eb4db1a Disable OnServiceProtocolGetSkSLsWorks in Fuchsia (flutter/engine#17361) 2020-03-30 14:31:03 -07:00
Jason Simmons
807361feff Use the private presentation window type for platform view windows (flutter/engine#17385) 2020-03-30 14:26:10 -07:00
wqyfavor
1000f22660 Fix FlutterView's _delegate is not declared as ivar but a global variable. (flutter/engine#17206) 2020-03-30 14:26:03 -07:00
Gary Qian
317c96c3ce Partially revert Samsung keyboard force-update workaround (flutter/engine#17391) 2020-03-29 15:46:39 -07:00
Emmanuel Garcia
2656509ba5 Reland unobstructed platform views (flutter/engine#17336) 2020-03-27 16:39:29 -07:00
Brian Osman
913a683352 Guard SkCanvas bitmap virtuals for deprecation and removal (flutter/engine#17371) 2020-03-27 13:28:03 -04:00
wqyfavor
eff3cb31a1 Fix problem that using multi-engines, sometimes OpenGL would crash be cause of invalid EAGLContext (flutter/engine#17366) 2020-03-27 02:40:56 -07:00
Chinmay Garde
25d419a729 Disable ShellTest.OnServiceProtocolGetSkSLsWorks. (flutter/engine#17367)
Re-enabling tracked in https://github.com/flutter/flutter/issues/53399.
2020-03-27 01:10:15 -07:00
liyuqian
10824995dd Rename GPU thread to raster thread in code comments (flutter/engine#17329)
1. Simple "GPU thread" to "raster thread" replacement.

2. Regex replace "GPU([\n\r\s]+//+ thread)" with "raster$1".

3. Regex replace "// gpu$" with "// raster".

4. Simple test change.

5. Run ci/format.sh
2020-03-25 22:49:59 -07:00
renyou
bf6347ceef Android change to match the Google internal changes. (flutter/engine#17331)
* Android change to match the google internal changes.

* Fix format.

* Revert format change, add super call.

* Remove comment for API version.
2020-03-25 18:02:46 -07:00
Filip Filmar
36404497fe [runner] Corrects logging of close() status (flutter/engine#16698)
close() returns a nonzero in case of an error.  Old code had it log
only when *no* error happens on close, which is exactly the opposite
of what we want.
2020-03-25 16:31:46 -07:00
Emmanuel Garcia
2913102440 Revert unobstructed platform views (flutter/engine#17326) 2020-03-25 14:36:10 -07:00
Drew Fisher
abfe606076 fuchsia: remove use of replace_as_executable (second try) (flutter/engine#17313)
On Fuchsia, we can now get executable VMOs from trusted backing
filesystems.  This allows us to remove the use of replace_as_executable
in favor of opening files with `fdio_open_fd_at` with the
`OPEN_RIGHT_EXECUTABLE` flag and getting VMOs by calling
`fdio_get_vmo_exec`.

By moving the responsibility for executability into the filesystem, we
are able to remove `deprecated-ambient-replace-as-executable` from
component manifests for non-JIT runners (the JIT runners still call
replace_as_executable in Dart's allocator).  It wasn't abundantly clear
whether .cmx files for tests were used purely in AOT runtime
environments or also saw JIT usage, so I left those as-is.

For context: this is a second attempt at #16690, which was reverted
because it broke the Dart JIT runner.  The primary difference is that
this time around, we correctly handle absolute vs relative paths,
depending on whether library loading bottoms out in `fdio_open_fd` or
`fdio_open_fd_at`.  I've added additional assertions to help ensure any
new usages use the correct shape of path.

Testing: I verified locally that the flutter product runner works on
Astro, and also successfully ran the Dart JIT example test (which was
the thing blocking the google3 roll with the previous attempt at this
patchset).

Co-authored-by: Drew Fisher <zarvox@google.com>
2020-03-25 13:17:28 -07:00
Kaushik Iska
60f620b4b2 [metrics] Record the frame target time on the layer tree (flutter/engine#17281)
This lets us measure stats on when the frame was
scheduled to be rendered vs when it finished rasterizing.

Note: This isn't propagated to the FrameTimings struct yet,
that is to be followed.
2020-03-24 22:00:21 -07:00
liyuqian
d968e224ca Add service protocol to get SkSLs (flutter/engine#17300)
Fixes https://github.com/flutter/flutter/issues/53114
2020-03-24 21:42:12 -07:00
Emmanuel Garcia
11d0020dd6 Flush background canvas before allocating a new surface (flutter/engine#17308) 2020-03-24 20:10:10 -07:00
Robert Ancell
71d631160f Add a Linux Shell that uses GTK for rendering. (flutter/engine#16977) 2020-03-24 13:26:02 -07:00
Chinmay Garde
929fb3f825 Remove checks for the always true using_fuchsia_sdk flag in all GN files. (flutter/engine#17261) 2020-03-23 18:31:02 -07:00
mikejurka
8bb493406e [Fuchsia] Move physical shape layer compositing to Flutter (flutter/engine#17005)
* [fuchsia] Add labels to Scenic nodes.

* [fuchsia] Skip creating Scenic nodes for identity Transforms.

* [fuchsia] Assign elevation to Scenic nodes based on paint order.

* [fuchsia] Create Scenic OpacityNodes at leaf nodes.

* [fuchsia] Composite PhysicalShapeLayers using Skia, except when they need to float above child views.

In that case, they will still need to be pulled
into separate Scenic nodes to be composited on top
of the child view[s].

* [fuchsia] Add tests for Fuchsia-specific layer behavior.

Inspect commands going to Scenic and make sure
they match what is expected.

Also, restructure code to need less member variables,
and other cleanups based on review feedback.
2020-03-23 16:38:07 -07:00
gaaclarke
57a8860d57 Removed a text input trait that causes VoiceOver to be incorrect when tapping a text input. (flutter/engine#17203) 2020-03-23 12:57:15 -07:00
gaaclarke
574c0a75ed added missing mock to MockEngine for iOS unit tests (flutter/engine#17273) 2020-03-23 11:38:42 -07:00
stuartmorgan
bac62dd12e Add DartProject for Windows embedding API (flutter/engine#17210)
This is a step toward aligning the API with macOS, and will make it easier to add the precompiled library later for release mode (since it can just be added to the project directory, without any code changes required for wrapper clients).

At the C API, uses a struct instead of individual arguments, mirroring a change that was already made on the Linux side to make the C API cleaner.

Functional changes in addition to the restructuring:

adds relative path support, as was recently added for GLFW
Uses wstring, rather than string, for paths; the conversion to UTF-8 is actually a potential problem on Windows, so pushing it into the embedding allows us the possibility of removing it later (if we can figure out a good solution at the embedder.h layer) without API breakage.
The old APIs used by the standard runner are left in place for now to avoid breaking the template on an engine roll. Once the framework template has been updated, the old API paths will be removed.
2020-03-23 10:46:10 -07:00
gaaclarke
24b2425483 Added a log message when sharing a FlutterEngine across multiple FlutterViewControllers. (flutter/engine#17186) 2020-03-23 10:44:53 -07:00