1. 03 Nov, 2017 1 commit
  2. 02 Oct, 2017 1 commit
    • gspencergoog's avatar
      Add framework support for system text scale factor. (#12180) · 18f0d3ae
      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
      18f0d3ae
  3. 21 Sep, 2017 1 commit
  4. 24 Aug, 2017 1 commit
  5. 21 Aug, 2017 1 commit
    • Jacob Richman's avatar
      Bare bones widget inspector support. (#10332) · 5462ddb9
      Jacob Richman authored
      Bare bones widget inspector support.
      
      Toggle the widget inspector from the flutter tool by pressing 'i'.
      When the widget inspector is select mode:
      Pointer down to to inspect a widget.
      Pointer click to finalize selection of a widget. You can now interact
      with the application as you normally would but with the inspected widget
      highlighted.
      Click the inspect icon in bottom left corner of screen to reactivate
      select mode.
      5462ddb9
  6. 04 Aug, 2017 1 commit
  7. 28 Jul, 2017 1 commit
  8. 12 Jun, 2017 1 commit
  9. 06 Jun, 2017 1 commit
  10. 02 Jun, 2017 1 commit
    • Ian Hickson's avatar
      Sprinkle some mixin magic incantations (#10442) · 9eae8b83
      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.
      9eae8b83
  11. 01 Jun, 2017 1 commit
  12. 25 May, 2017 1 commit
    • Chris Bracken's avatar
      Support inactive, suspending AppLifecycleStates (#10306) · 9452a344
      Chris Bracken authored
      * Rolls the engine to 75c74dc463d56e17be10315cfde409010fd8f90b.
      * Adds framework support for the `AppLifecycleState.inactive` and `AppLifecycleState.suspending` states.
      
      What are the new states?
      ------------------------
      * `AppLifecycleState.inactive` is emitted on iOS only and corresponds to iOS's foreground inactive state. Current iOS state transitions are:
      `resumed` <--> `inactive` <--> `paused`
      
      * `AppLifecycleState.suspending` is currently emitted on Android only and corresponds to the
      transition to Android's stopped state. Current Android state transitions are:
      `resumed` <--> `paused` --> `suspending` --> `resumed`
      
      These transitions may change in future.
      
      This is a breaking change on iOS
      --------------------------------
      
      This changes the semantics of the `AppLifecycleState.paused` state on
      iOS. The behaviour associated with this state is unchanged on Android.
      
      For background on iOS application states see the state transition
      diagram in the [App Programming Guide for iOS](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_ref/doc/uid/TP40007072-CH2-SW6).
      
      On iOS, prior to this change, `AppLifecycleState.paused` corresponded to
      a transition to the _foreground inactive_ state. It now corresponds to a
      transition to the _background state_. The newly-added
      `AppLifecycleState.inactive` state now corresponds to entering the
      _foreground inactive_ state, which (currently) has no exact analogue on
      Android.
      
      Briefly, the _foreground inactive_ state is the state entered when
      switching from an app to the app switcher, receiving a phone call, or
      responding to a TouchID request. Apps are permitted to continue
      animating/updating views in this state if desired. From the _foreground
      inactive_ state, the app may transition back to _active_ (e.g., entering
      the app switcher then resuming the app), or to the _background_ state
      (e.g., switching to the home screen or another app).
      
      What to change
      --------------
      If your app does not handle the `AppLifecycleState.paused` state in a
      `WidgetsBindingObserver.didChangeAppLifecycleState` implementation, no
      changes are required.
      
      If you do handle `AppLifecycleState.paused`, you may additionally wish
      to also handle `AppLifecycleState.inactive`. For example, games should
      probably pause on entering the app switcher rather than wait to be
      backgrounded.
      
      More details
      ------------
      For background on Android application states see the state transition
      diagram in the [Android Activity Lifecycle docs](https://developer.android.com/guide/components/activities/activity-lifecycle.html#alc).
      9452a344
  13. 06 May, 2017 1 commit
  14. 05 May, 2017 1 commit
  15. 02 May, 2017 1 commit
    • Ian Hickson's avatar
      Flush microtasks after transient callbacks are run. (#9702) · e8c46927
      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.
      e8c46927
  16. 21 Apr, 2017 2 commits
  17. 31 Mar, 2017 1 commit
    • Adam Barth's avatar
      Improve focus management (#9074) · 89aaaa9c
      Adam Barth authored
      We now have an explicit focus tree that we manage. Instead of using
      GlobalKeys to manage focus, we use FocusNode and FocusScopeNode objects.
      The FocusNode is Listenable and notifies when its focus state changes.
      
      Focus notifications trigger by tree mutations are now delayed by one
      frame, which is necessary to handle certain complex tree mutations. In
      the common case of focus changes being triggered by user input, the
      focus notificiation still arives in the same frame.
      89aaaa9c
  18. 17 Mar, 2017 2 commits
  19. 15 Mar, 2017 2 commits
  20. 04 Mar, 2017 1 commit
  21. 23 Feb, 2017 1 commit
  22. 03 Feb, 2017 1 commit
  23. 02 Feb, 2017 2 commits
  24. 18 Jan, 2017 1 commit
  25. 19 Nov, 2016 1 commit
  26. 16 Nov, 2016 1 commit
  27. 26 Oct, 2016 1 commit
  28. 25 Oct, 2016 1 commit
  29. 13 Oct, 2016 1 commit
  30. 06 Oct, 2016 1 commit
  31. 28 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Fix globalToLocal and update spinning_mixed (#6035) · e01592a0
      Ian Hickson authored
      * globalToLocal was just broken when there was a rotation and a
        translation at the same time. This fixes that and adds a test.
      
      * update graphic used by spinning_mixed since the old one went 404.
      
      * simplify some of the code in the demo.
      
      * fix MatrixUtils.transformPoint to be consistent with how we transform
        points elsewhere.
      
      * stop transforming points elsewhere, just use
        MatrixUtils.transformPoint.
      
      * make the Widget binding handle not having a root element.
      
      * make the spinning_mixed demo update its widget tree.
      e01592a0
  32. 16 Sep, 2016 1 commit
  33. 15 Sep, 2016 1 commit
  34. 09 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Fix hot reload (#5799) · 03eaf1d1
      Ian Hickson authored
      I forgot that it was possible for the root view to get marked dirty
      without getting a new widget. This fixes that case to work.
      03eaf1d1
  35. 08 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Make tests more realistic (#5762) · 5bc8888e
      Ian Hickson authored
      Previously, pumpWidget() would do a partial pump (it didn't trigger
      Ticker callbacks or post-frame callbacks), and pump() would do a full
      pump. This patch brings them closer together. It also makes runApp run a
      full actual frame, rather than skipping the transient callback part of
      the frame logic. Having "half-frames" in the system was confusing and
      could lead to bugs where code expecting to run before the next layout
      pass didn't because a "half-frame" ran first.
      
      Also, make Tickers start ticking in the frame that they were started in,
      if they were started during a frame. This means we no longer spin a
      frame for t=0, we jump straight to the first actual frame.
      
      Other changes in this patch:
      
      * rename WidgetsBinding._runApp to WidgetsBinding.attachRootWidget, so
        that tests can use it to more accurately mock out runApp.
      
      * allow loadStructuredData to return synchronously.
      
      * make handleBeginFrame handle not being given a time stamp.
      
      * make DataPipeImageProvider.loadAsync protected (rather than private),
        and document it. There wasn't really a reason for it to be private.
      
      * fix ImageConfiguration.toString.
      
      * introduce debugPrintBuildScope and debugPrintScheduleBuildForStacks,
        which can help debug problems with widgets getting marked as dirty but
        not cleaned.
      
      * make debugPrintRebuildDirtyWidgets say "Building" the first time and
        "Rebuilding" the second, to make it clearer when a widget is first
        created. This makes debugging widget lifecycle issues much easier.
      
      * make debugDumpApp more resilient.
      
      * debugPrintStack now takes a label that is printed before the stack.
      
      * improve the banner shown for debugPrintBeginFrameBanner.
      
      * various and sundry documentation fixes
      5bc8888e
  36. 07 Sep, 2016 1 commit