1. 08 Apr, 2020 1 commit
  2. 20 Mar, 2020 1 commit
  3. 08 Jan, 2020 1 commit
  4. 05 Dec, 2019 1 commit
    • Greg Spencer's avatar
      Normalizes all of the "See also" blocks in comments. (#46121) · c6fe7bb9
      Greg Spencer authored
      This normalizes all of the "See also" blocks in comments so that they conform in style.
      
      They all look like this now:
      
        /// See also:
        ///
        ///  * [MyFavoriteWidget], because it's cool.
        class Foo {}
      
      I removed some useless "See also" blocks, and added commentary to ones that were just "bare" references.
      
      This is my penance for adding so many bullets that are "-" instead of "*". :-)
      c6fe7bb9
  5. 04 Dec, 2019 2 commits
  6. 02 Dec, 2019 3 commits
  7. 27 Nov, 2019 2 commits
    • Ian Hickson's avatar
      License update (#45373) · 449f4a66
      Ian Hickson authored
      * Update project.pbxproj files to say Flutter rather than Chromium
      
      Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
      
      * Update the copyright notice checker to require a standard notice on all files
      
      * Update copyrights on Dart files. (This was a mechanical commit.)
      
      * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
      
      Some were already marked "The Flutter Authors", not clear why. Their
      dates have been normalized. Some were missing the blank line after the
      license. Some were randomly different in trivial ways for no apparent
      reason (e.g. missing the trailing period).
      
      * Clean up the copyrights in non-Dart files. (Manual edits.)
      
      Also, make sure templates don't have copyrights.
      
      * Fix some more ORGANIZATIONNAMEs
      449f4a66
    • Ian Hickson's avatar
      f87c5102
  8. 22 Nov, 2019 1 commit
  9. 21 Nov, 2019 1 commit
  10. 26 Sep, 2019 1 commit
    • Greg Spencer's avatar
      Fix mouse hover to not schedule a frame for every mouse move. (#41014) · 05097916
      Greg Spencer authored
      This fixes the mouse hover code to not schedule frames with every mouse move.
      
      Before this, it would schedule a post frame callback, and then schedule a frame immediately, even if there was nothing that needed to be updated. Now it will schedule checks for mouse position updates synchronously, unless there's a new annotation, and skip scheduling a new frame in all cases. It has to be async in the case of a new annotation (i.e. a new MouseRegion is added), since when the annotation is added, it hasn't yet painted, and it can't hit test against the new layer until after the paint, so in that case it schedules a post frame callback, but since it's already building a frame when it does that, it doesn't need to schedule a frame.
      
      The code also used to do mouse position checks for all mice if only one mouse changed position. I fixed this part too, so that it will only check position for the mouse that changed.
      05097916
  11. 24 Sep, 2019 2 commits
  12. 06 Sep, 2019 1 commit
  13. 16 Aug, 2019 1 commit
    • Yegor's avatar
      Teach render objects to reuse engine layers (#36402) · 34c69265
      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.
      34c69265
  14. 09 May, 2019 1 commit
    • Greg Spencer's avatar
      Fix nested listeners so that ancestor listeners can also receive enter/exit/move events. (#32350) · aeccd6a8
      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.
      aeccd6a8
  15. 10 Apr, 2019 1 commit
  16. 15 Feb, 2019 1 commit
    • Greg Spencer's avatar
      Remove remaining "## Sample code" segments, and fix the snippet generator. (#27793) · 262f12b4
      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
      262f12b4
  17. 07 Feb, 2019 1 commit
  18. 06 Feb, 2019 1 commit
    • Greg Spencer's avatar
      Make a kReleaseMode constant that is public. (#27502) · da27f623
      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.
      da27f623
  19. 05 Feb, 2019 1 commit
  20. 01 Feb, 2019 1 commit
  21. 29 Jan, 2019 2 commits
    • Greg Spencer's avatar
      Implement hover support for mouse pointers. (#24830) · 1811d574
      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
      1811d574
    • Michael Goderbauer's avatar
      Remove obsolete ignore: (#27199) · c9d5b129
      Michael Goderbauer authored
      c9d5b129
  22. 23 Oct, 2018 1 commit
  23. 19 Oct, 2018 1 commit
  24. 17 Oct, 2018 1 commit
  25. 16 Oct, 2018 1 commit
  26. 13 Oct, 2018 1 commit
    • Michael Goderbauer's avatar
      Remove all service extensions from release mode (#23038) · 8e2ca93f
      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.
      8e2ca93f
  27. 05 Oct, 2018 2 commits
  28. 12 Sep, 2018 1 commit
  29. 23 Aug, 2018 1 commit
  30. 07 Aug, 2018 1 commit
  31. 23 Apr, 2018 1 commit
    • Yegor's avatar
      a11y traversal: sort locally; use new sorting algorithm (#16253) · d3540962
      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
      d3540962
  32. 06 Feb, 2018 1 commit
    • Greg Spencer's avatar
      Adds the semantic node traversal API. (#14060) · 14309b93
      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.
      14309b93
  33. 13 Dec, 2017 1 commit