- 16 Aug, 2019 1 commit
-
-
Yegor authored
Teach Layer and its implementations, RenderObject and its implementations, and PaintingContext to reuse engine layers. The idea is that a concrete RenderObject creates a Layer and holds on to it as long as it needs it (i.e. when it is composited, and the layer type does not change). In return, each Layer object holds on to an EngineLayer and reports it to the engine via addRetained and oldLayer. This allows the Web engine to reuse DOM elements across frames. Without it, each frame drops all previously rendered HTML and regenerates it from scratch.
-
- 09 May, 2019 1 commit
-
-
Greg Spencer authored
This changes Listener to trigger enter/move/exit in all Listeners below the pointer, not just the leaf region (the first region hit). This is because we need to allow listeners to be nested so that, say, a widget that handles changing color on hover, but also is wrapped in a Tooltip (that handles hover) can trigger both actions, not just one. To that end, I added a findAll to Layer, similar to the existing find method that was previously used. It returns an iterator over annotated layers which match the given data type. Since the findAll is implemented as returning an Iterable (and is sync*), I re-implemented the find routines as just returning the first result from findAll, since that should be just as efficient, and would then prevent duplication in the implementation.
-
- 10 Apr, 2019 1 commit
-
-
Dan Field authored
* Check for invalid elevation usage in the layer tree
-
- 15 Feb, 2019 1 commit
-
-
Greg Spencer authored
This converts all remaining "## Sample code" segments into snippets, and fixes the snippet generator to handle multiple snippets in the same dartdoc block properly. I also generated, compiled, and ran each of the existing application samples, and fixed them up to be more useful and/or just run without errors. This PR fixes these problems with examples: 1. Switching tabs in a snippet now works if there is more than one snippet in a single dartdoc block. 2. Generation of snippet code now works if there is more than one snippet. 3. Contrast of text and links in the code sample block has been improved to recommended levels. 4. Added five new snippet templates, including a "freeform" template to make it possible to show examples that need to change the app instantiation. 5. Fixed several examples to run properly, a couple by adding the "Scaffold" widget to the template, a couple by just fixing their code. 6. Fixed visual look of some of the samples when they run by placing many samples inside of a Scaffold. 7. In order to make it easier to run locally, changed the sample analyzer to remove the contents of the supplied temp directory before running, since having files that hang around is problematic (only a problem when running locally with the `--temp` argument). 8. Added a `SampleCheckerException` class, and handle sample checking exceptions more gracefully. 9. Deprecated the old "## Sample code" designation, and added enforcement for the deprecation. 10. Removed unnecessary `new` from templates (although they never appeared in the samples thanks to dartfmt, but still). Fixes #26398 Fixes #27411
-
- 07 Feb, 2019 1 commit
-
-
Matt Carroll authored
-
- 06 Feb, 2019 1 commit
-
-
Greg Spencer authored
Before this, we had several places where an isReleaseMode was defined, all with the same definition. This just makes it more broadly visible to allow our users to use it, as well as creating debug and profile versions, and adding a device lab test for it. Since this is a const value, this makes it possible for a developer to easily mark blocks that can be removed at AOT compile time.
-
- 05 Feb, 2019 1 commit
-
-
Matt Carroll authored
-
- 01 Feb, 2019 1 commit
-
-
liyuqian authored
-
- 29 Jan, 2019 2 commits
-
-
Greg Spencer authored
This implements support for hovering mouse pointers, so that mice connected to Android devices, and ChromeOS devices running Android apps will work properly. It teaches flutter_test about hover events, which required changing how they are created and used. Also modifies AnnotatedRegion to allow a region that can be located someplace other than just the origin. Along with tests for all of the above. Fixes #5504
-
Michael Goderbauer authored
-
- 23 Oct, 2018 1 commit
-
-
Michael Goderbauer authored
-
- 19 Oct, 2018 1 commit
-
-
Michael Goderbauer authored
This reverts commit 8e2ca93f. Fixes https://github.com/flutter/flutter/issues/23172
-
- 17 Oct, 2018 1 commit
-
- 16 Oct, 2018 1 commit
-
-
Alexandre Ardhuin authored
* Future<void> main * Future<void>.delayed * prefer_void_to_Null * address review comments
-
- 13 Oct, 2018 1 commit
-
-
Michael Goderbauer authored
Service extensions can only be activated in debug or profile mode, their code should never be included in release mode. This PR adds guards around all service extension registration calls that enable Dart's tree shaker to remove the extension's code in release mode, which reduces our binary size: Android Snapshot (uncompressed): minus 127,384 Bytes (-124.40KB) APK (compressed): minus 38,136 Bytes (-37.24KB) iOS Snapshot (App.framework, uncompressed): 264,304 Bytes(-258.10KB) For details: https://docs.google.com/document/d/13JlgvliCn5sWwT2K2SfDwD1NhEfxpJH9DCf22gZZru8/edit **Benchmark Regressions:** This PR may cause benchmarks to regress because it may change the timing of GC. If you notice a benchmark regression **please note down the exact set of benchmarks that regressed on this PR** and then feel free to revert. I will follow-up with a PR that forces a GC before the effected benchmarks run to get a clean baseline before re-applying this PR.
-
- 05 Oct, 2018 2 commits
-
-
Yegor authored
* first pass * revert WidgetsBindingObserver * disable prefer_mixin * docs and more mixins * newer engine; binding fixes * upgrade dependencies * fix test binding * remove whitespace * remove the obsolete `enableSuperMixins: true` * upgrade dartdoc to 0.22.0 * temporarily use git version of dartdoc * fix pub global activate syntax * use dartdoc 0.23.0
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 23 Aug, 2018 1 commit
-
-
Jonah Williams authored
-
- 07 Aug, 2018 1 commit
-
-
Jonah Williams authored
-
- 23 Apr, 2018 1 commit
-
-
Yegor authored
New a11y traversal: - sort direct sibling SemanticsNodes only - use new sorting algorithm - implement RTL - test semantics in traversal order by default - add AppBar traversal test - breaking: remove nextNodeId/previousNodeId from the framework - breaking: remove DebugSemanticsDumpOrder.geometricOrder
-
- 06 Feb, 2018 1 commit
-
-
Greg Spencer authored
This adds an API for defining the semantic node traversal order. It adds a sortOrder argument to the Semantics widget, which is a class that can define a list of sort keys to sort on. The keys are sorted globally so that an order that doesn't have to do with the current widget hierarchy may be defined. It also adds a shortcut sortKey argument to the Semantics widget that simply sets the sortOrder to just contain that key. The platform side (flutter/engine#4540) gets an additional member in the SemanticsData object that is an integer describing where in the overall order each semantics node belongs. There is an associated engine-side change that takes this integer and uses it to order widgets for the platform's accessibility services.
-
- 13 Dec, 2017 1 commit
-
-
Michael Goderbauer authored
**This PR contains a breaking API change:** `SemanticsConfiguration.addAction()` has been removed and replaces by action-specific setters (`onTap`, `onLongPress`, etc.) to take care of the fact that some action handlers (those, who take arguments) have different signatures.
-
- 09 Dec, 2017 1 commit
-
-
Ian Hickson authored
...instead of the engine.
-
- 07 Dec, 2017 1 commit
-
-
Ian Hickson authored
This allows the scheduler library to depend on the services library and the painting library to depend on the scheduler library without the services library having to depend on the scheduler library. While I was at it I also cleaned up some of the binding logic: the licenses logic can now be overridden (and the test library does so), and the image cache can now be overridden as well.
-
- 03 Nov, 2017 1 commit
-
-
amirh authored
-
- 02 Oct, 2017 1 commit
-
-
gspencergoog authored
* Add framework-side support for system text scale factor. * Rolling engine to e3404b81a53ba3180c7623a6f2190ebb28518f30 Additional changes rolled in with engine change: libtxt: implementation of GetRectsForRange that processes a line at a time - e3404b8 Provide an entropy source to the Dart engine (#4161) - e1aa867 libtxt: search for fallback fonts that can match emoji and CJK characters - 8061df1 Roll skia to e4679fa06a. (#4157) - 267e7a8 Update buildroot to 53fea9aebbcc39c6522731471a1a45960ee0685e (#4160) - 02ea7ae Revert engine Dart roll. (#4158) - 14aab33 Add support for system text scale factor. (#4124) - b2a7f4b Include _http into sky_engine libraries for analyzer (#4154) - b930f10 libtxt: Remove postprocess_line and improve tracking of X offsets - 86f95f0 libtxt: remove redundant line_widths (#4152) - 14bf515 Roll dart to ade37f931e90b0fdb8fe16d6bf6f089545da55b6 (#4151) - 6f1264f
-
- 21 Sep, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 14 Sep, 2017 1 commit
-
-
Carlo Bernaschina authored
-
- 11 Sep, 2017 1 commit
-
-
Jacob Richman authored
* Refactor SemanticsData and SemanticsNode to use Diagnosticable. * Switch toStringDeep to take named parameters.
-
- 28 Aug, 2017 1 commit
-
-
Michael Goderbauer authored
* Semantic hit test order for Slivers * ++ * fix double space * refactoring * fix test * comment fix * tests * remove accidental debugDumpSemanticsTree * review comments * fix button
-
- 04 Aug, 2017 1 commit
-
-
Ian Hickson authored
It was previously possible for event dispatch to occurr during the brief window where the tree had been marked dirty but before it had been relaid out by reassemble, which would cause assertions to fire if someone did a hot reload while touching the device.
-
- 19 Jul, 2017 1 commit
-
-
Ian Hickson authored
debugDumpLayerTree in particular was passing null in profile mode since debugLayer isn't available in profile mode.
-
- 06 Jun, 2017 1 commit
-
-
Ian Hickson authored
-
- 02 Jun, 2017 1 commit
-
-
Ian Hickson authored
This prevents some of our mixins from being subclassed. Also, move mixins to using 'extends' instead of 'implements' for future compatibility with Dart changes. Also, rename a class that had Mixin in the name but was not a mixin.
-
- 24 May, 2017 1 commit
-
-
Devon Carew authored
* expose debugPaintBaselinesEnabled * Update binding.dart review comments
-
- 16 May, 2017 1 commit
-
-
Ian Hickson authored
Previously we used logical pixels. This made the accessibility metrics tiny on modern devices, since the OS works in physical units. Also add a bit more debugging info and some docs.
-
- 12 May, 2017 1 commit
-
-
Ian Hickson authored
-
- 05 May, 2017 1 commit
-
-
Ian Hickson authored
-
- 02 May, 2017 1 commit
-
-
Ian Hickson authored
This splits the frame pipeline into two, beginFrame and drawFrame. As part of making this change I added some debugging hooks that helped debug the issues that came up: * I added debugPrintScheduleFrameStacks which prints a stack whenever a frame is actually scheduled, so you can see why frames are being scheduled. * I added some toString output to EditableText and RawKeyboardListener. * I added a scheduler_tester.dart library for scheduler library tests. * I changed the test framework to flush microtasks before pumping. * Some asserts that had the old string literal form were replaced by asserts with messages. I also fixed a few subtle bugs that this uncovered: * setState() now calls `ensureVisualUpdate`, rather than `scheduleFrame`. This means that calling it from an AnimationController callback does not actually schedule an extra redundant frame as it used to. * I corrected some documentation.
-