1. 25 Apr, 2019 1 commit
    • Greg Spencer's avatar
      [Re-Land] Implement focus traversal for desktop platforms. (#31614) · 7775c237
      Greg Spencer authored
      This re-lands the Focus changes in #30040. Correctness changes in routes.dart, and removes the automatic requesting of focus on reparent when there is no current focus, which caused undesirable selections.
      
      Addresses #11344, #1608, #13264, and #1678
      Fixes #30084
      Fixes #26704
      7775c237
  2. 23 Apr, 2019 1 commit
  3. 22 Apr, 2019 1 commit
    • Greg Spencer's avatar
      Implement focus traversal for desktop platforms, shoehorn edition. (#30040) · 4218c0bc
      Greg Spencer authored
      Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.
      
      This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.
      
      It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:
      
      FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.
      
      Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent  on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.
      
      Addresses #11344, #1608, #13264, and #1678
      Fixes #30084
      Fixes #26704
      4218c0bc
  4. 28 Mar, 2019 1 commit
  5. 18 Mar, 2019 1 commit
  6. 06 Mar, 2019 1 commit
  7. 01 Mar, 2019 1 commit
    • Alexandre Ardhuin's avatar
      Add missing trailing commas (#28673) · 387f8854
      Alexandre Ardhuin authored
      * add trailing commas on list/map/parameters
      
      * add trailing commas on Invocation with nb of arg>1
      
      * add commas for widget containing widgets
      
      * add trailing commas if instantiation contains trailing comma
      
      * revert bad change
      387f8854
  8. 13 Feb, 2019 1 commit
  9. 08 Feb, 2019 1 commit
    • Greg Spencer's avatar
      Adding support for logical and physical key events (#27627) · 431cfdaf
      Greg Spencer authored
      This adds support for logical and physical key information inside of RawKeyEvent. This allows developers to differentiate keys in a platform-agnostic way. They are able to tell the physical location of a key (PhysicalKeyboardKey) and a logical meaning of the key (LogicalKeyboardKey), as well as get notified of the character generated by the keypress. All of which is useful for handling keyboard shortcuts.
      
      This PR builds on the previous PR (#27620) which generated the key code mappings and definitions.
      431cfdaf
  10. 11 Jan, 2019 1 commit
    • Greg Spencer's avatar
      Add support for detecting which modifier keys have been pressed on RawKeyboardEvents (#26265) · 141d6e13
      Greg Spencer authored
      This adds some functions to the interface for RawKeyEventData and all subclasses that allow the recipient of an event to determine which modifier keys are currently being pressed without needing to know the specific modifier bitmasks for the platform.
      
      Also adds constants for the modifier bitmasks for each platform, for completeness (and because I needed them anyhow to implement the above).
      
      Added tests for the RawKeyEventData subclasses, and modified the raw_keyboard manual test app to show modifier keys being pressed. I also separated the different platform-specific subclasses into separate files.
      
      Fixes #26155.
      141d6e13
  11. 02 Jan, 2019 1 commit
  12. 04 Oct, 2018 1 commit
  13. 01 Oct, 2018 1 commit
  14. 25 Sep, 2018 3 commits
  15. 14 Sep, 2018 1 commit
  16. 12 Sep, 2018 1 commit
  17. 02 Aug, 2018 1 commit
  18. 27 Jul, 2018 1 commit
  19. 23 Jul, 2018 1 commit
  20. 16 Jul, 2018 2 commits
  21. 13 Jun, 2018 1 commit
    • Chris Bracken's avatar
      Revert elimination of Dart 1 (#18460) · 2ae48845
      Chris Bracken authored
      fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
      from source, flutter_platform.dart automatically runs a kernel compile when
      operating in Dart 2 mode, but this assumes a functional Dart SDK is available
      in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
      directory with an empty temp dir.
      
      Remaining work is:
      1. Get the frontend server building as a dependency on Fuchsia.
      2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.
      
      This also reverts migration to Dart 2 typedef syntax.
      
      This reverts commit 6c56bb24. (#18362)
      This reverts commit 3daebd05. (#18316)
      2ae48845
  22. 11 Jun, 2018 1 commit
    • Greg Spencer's avatar
      Update typedef syntax to use Function notation and turn on lint for old notation. (#18362) · 6c56bb24
      Greg Spencer authored
      Now that Dart 1 is turned off, reapplying my change to turn on the prefer_generic_function_type_aliases analysis option, and fix all the typedefs to Dart 2 preferred syntax.
      
      Also eliminated the unused analysis_options_repo.yaml file and turned on public_member_api_docs in analysys_options.yaml.
      
      No logic changes, just changing the typedef syntax for all typedefs, and updating analysis options.
      6c56bb24
  23. 05 Jun, 2018 1 commit
  24. 30 May, 2018 2 commits
  25. 17 May, 2018 1 commit
    • Greg Spencer's avatar
      Moving API doc asset URLs to point to the new location. (#17697) · ac67efbc
      Greg Spencer authored
      I'm moving the assets in the assets-for-api-docs repo to a slightly different location to help with organization in that repo, so this PR points the doc URLs to the new location. The old assets won't be removed until this PR makes its way to the API docs website.
      
      No documentation or code changes here, other than changing doc image URLs.
      ac67efbc
  26. 11 Apr, 2018 1 commit
    • Alexander Aprelev's avatar
      Roll engine to ed303c628fe4b322529f8cf01ecb38135a2bab73 (dart roll) · a2951a9a
      Alexander Aprelev authored
      Changes since last roll:
      ```
      ed303c628 Roll dart sdk again. Previous roll required 23ae4fa098 revert. (#4966)
      8cd272733 Revert "Roll dart to 7764e6962e22afcf4b58c4e3cef3147330f3c884. (#4960)" (#4965)
      9199b40f2 Revert "Support multiple shells in a single process. (#4932)" (#4964)
      6baff4c82 Support multiple shells in a single process. (#4932)
      31c5bb427 Roll dart to 7764e6962e22afcf4b58c4e3cef3147330f3c884. (#4960)
      c8e4c6984 Avoid copying the contents of large platform message responses (#4947)
      5ff527295 Update to use new vulkan GrBackendRenderTarget ctor. (#4962)
      0c8993a1a Update to use new vulkan GrBackendRenderTarget ctor (part 2) (#4963)
      132ebdda8 Revert "Roll src/third_party/skia/ 9874bf1bc..52e16d984 (135 commits) (#4958)" (#4961)
      11882ab9e Roll src/third_party/skia/ 9874bf1bc..52e16d984 (135 commits) (#4958)
      ```
      
      Add consts
      a2951a9a
  27. 22 Mar, 2018 1 commit
    • Ian Hickson's avatar
      Clean up the existing Navigator API. (#15718) · aba0379d
      Ian Hickson authored
      This is not a grand refactor yet, it's just cleaning up what we have
      already, so that people who keep using this API (e.g. dialogs) have
      something coherent to deal with.
      
      The major changes are that Navigator and NavigatorState have the same
      API now, that most of the examples use `<void>` instead of `<Null>`,
      that the navigator observer can see replaces, and that the `settings`
      is moved from ModalRoute to Route. I also cleaned up some of the API
      documentation.
      aba0379d
  28. 20 Mar, 2018 1 commit
  29. 12 Mar, 2018 1 commit
    • Alexander Aprelev's avatar
      Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f. (#15444) · 2f8474f9
      Alexander Aprelev authored
      * Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f.
      
      Changes since last roll:
      ```
      b6df7a637 Roll dart to 290c576264faa096a0b3206c71b2435309d9f904. (#4771)
      a6764dbd5 Add sources for Fuchsia target. (#4763)
      2d5900615 [fuchsia] Remove unused header file. (#4769)
      9717063b7 Revert "Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)" (#4768)
      9a9814312 Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)
      e74e8b35c [async] Update includes of async headers to new path (#4760)
      e2c4b2760 Use Dart 2 camel case constants in the engine Dart libraries (#4766)
      9c1e48434 Updates for Fuchsia roll. (#4765)
      14c940e27 Switch from fxl::Mutex to std::mutex (#4764)
      debf82c0b Roll Garnet (#4759)
      5bffdefbb Use weak pointers to the accesibility bridge from objects vended to the UIKit accessibility framework. (#4761)
      ```
      2f8474f9
  30. 07 Mar, 2018 1 commit
    • Josh Soref's avatar
      Spelling (#15229) · c5a5945e
      Josh Soref authored
      * spelling: accommodate
      
      * spelling: allotted
      
      * spelling: anonymous
      
      * spelling: artificial
      
      * spelling: associated
      
      * spelling: asset
      
      * spelling: button
      
      * spelling: canvas
      
      * spelling: compatibility
      
      * spelling: coverage
      
      * spelling: condition
      
      * spelling: decoration
      
      * spelling: deferring
      
      * spelling: diameter
      
      * spelling: direction
      
      * spelling: displacement
      
      * spelling: dropdown
      
      * spelling: needing
      
      * spelling: environment
      
      * spelling: exited
      
      * spelling: expansion
      
      * spelling: explore
      
      * spelling: families
      
      * spelling: horizontal
      
      * spelling: increment
      
      * spelling: indices
      
      * spelling: internationalization
      
      * spelling: labrador
      
      * spelling: localizations
      
      * spelling: midflight
      
      * spelling: milliseconds
      
      * spelling: minimum
      
      * spelling: multiple
      
      * spelling: multiplication
      
      * spelling: navigator
      
      * spelling: overridden
      
      * spelling: package
      
      * spelling: performance
      
      * spelling: platform
      
      * spelling: porsche
      
      * spelling: position
      
      * spelling: preceded
      
      * spelling: precede
      
      * spelling: precedence
      
      * spelling: print
      
      * spelling: property
      
      * spelling: readily
      
      * spelling: reproducibility
      
      * spelling: rounded
      
      * spelling: scroll
      
      * spelling: separate
      
      * spelling: separator
      
      * spelling: services
      
      * spelling: specific
      
      * spelling: specify
      
      * spelling: synchronously
      
      * spelling: through
      
      * spelling: timeout
      
      * spelling: triangle
      
      * spelling: trivial
      
      * spelling: unusual
      
      * spelling: then
      
      * spelling: vertically
      
      * spelling: visible
      
      * spelling: visited
      
      * spelling: voice
      c5a5945e
  31. 02 Feb, 2018 1 commit
  32. 29 Jan, 2018 2 commits
  33. 11 Jan, 2018 1 commit
  34. 04 Dec, 2017 1 commit
  35. 25 Nov, 2017 1 commit