1. 27 Nov, 2019 1 commit
    • 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
  2. 23 May, 2019 2 commits
  3. 21 May, 2019 2 commits
    • Todd Volkert's avatar
      Add support for ImageStreamListener.onChunk() (#33092) · 27d3c2fc
      Todd Volkert authored
      This is another step towards supporting image loading
      progress notification at the widgets layer.
      
      This adds an `ImageChunkEvent` class along with associated
      `ImageChunkListener` callback signature and an `onChunk`
      property to `ImageStreamListener`. The events serve to
      notify registered listeners when byte chunks are received
      while loading an image.
      
      https://github.com/flutter/flutter/issues/32374
      27d3c2fc
    • Todd Volkert's avatar
      Add some sanity to the ImageStream listener API (#32936) · 592f81e7
      Todd Volkert authored
      The current API was broken in that you registered multiple
      callbacks at once, but when you removed listeners, only the
      primary listener was used to determine what was removed.
      This led to unintuitive cases where the caller could get
      unexpected behavior.
      
      This updates the API to add and remove listeners using
      a newly introduced [ImageStreamListener] object, a value
      object that has references to the individual callbacks
      that may fire.
      
      flutter/flutter#24722
      flutter/flutter#32374
      flutter/flutter#32935
      592f81e7
  4. 02 Apr, 2019 1 commit
    • Amir Hardon's avatar
      Make sure _handleAppFrame is only registered once per frame (#30346) · b6afc16a
      Amir Hardon authored
      There were 2 possible scenarios in which _handleAppFrame is added more than once as a frame callback. When this happens it is possible that the second invocation will try to access _nextFrame.image when _nextFrame is null and crash. The 2 scenarios are:
      
      Scenario 1
      
      A GIF frame is decoded and a Flutter frame is executed before it's time to show the next GIF frame.
      The timer that's waiting for enough time to elapse is invoked, and schedules a callback for the next Flutter frame(here).
      Before the next Flutter frame is executed, MultiFrameImageStreamCompleter#removeListener is called followed by ``MultiFrameImageStreamCompleter#addListenerthat is invoking_decodeNextFrameAndSchedule` which is adding `_handleAppFrame` again as a next frame callback.
      Scenario 2
      removeListener and addListener are called multiple times in succession, every call to addListener can result in another registration of _handleAppFrame to the next Flutter frame callbacks list.
      
      This patch fixes the issue by guarding against a second registration of _handleAppFrame.
      b6afc16a
  5. 09 Mar, 2019 1 commit
  6. 07 Mar, 2019 1 commit
  7. 06 Mar, 2019 1 commit
  8. 21 Feb, 2019 1 commit
  9. 29 Jan, 2019 2 commits
  10. 04 Oct, 2018 1 commit
  11. 12 Sep, 2018 1 commit
  12. 31 Jul, 2018 1 commit
  13. 21 Apr, 2018 1 commit
  14. 17 Apr, 2018 3 commits
    • Chinmay Garde's avatar
      Roll engine to 0c09bf03d. (#16668) · e9177ba3
      Chinmay Garde authored
      This roll includes the following engine commits:
      
      * flutter/engine@0c09bf03: In the service protocol, if no view is specified to flush tasks on, pick the first one. (#5028)
      * flutter/engine@ecaefd7a: Roll src/third_party/skia/ 276886160..1cd6098d5 (50 commits) (#5026)
      * flutter/engine@e6545573: Enable 'Speak Screen' and 'Switch Control' for iOS (#5016)
      * flutter/engine@3393c179: Fix Android platform channels (#5025)
      * flutter/engine@1bc0e1bb: On windows, refer to Dart snapshot directly executable. (#5024)
      * flutter/engine@cf6ca32d: Revert "Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79" (#5023)
      * flutter/engine@4b45a53e: Only make ERROR and FATAL log levels visible by default. (#5022)
      * flutter/engine@98f6c2d5: Fix shell launcher test (dart2 compliant and stop polling) (#5009)
      * flutter/engine@75851f08: Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79 (#5020)
      * flutter/engine@9495a52d: On iOS, try to use ES3, then fall back to ES2. (#5006)
      * flutter/engine@d6d4eec2: Fix broken Linux build (#5019)
      * flutter/engine@d15dc76e: Fix broken Chromebot build (#5018)
      * flutter/engine@c17a6290: Breadcrumbs to the wiki (#5017)
      * flutter/engine@4eaf2c2f: Return raw (unencoded) bytes in Image.toByteData() (#5008)
      * flutter/engine@d812a617: Roll src/third_party/skia/ e669bdfad..276886160 (9 commits) (#5014)
      * flutter/engine@62aeab72: Call SkSurface::flush instead of getting a backend handle in vulkan_swapchain. (#5012)
      * flutter/engine@f4ebb180: Roll src/third_party/skia/ 3462eb034..e669bdfad (54 commits) (#5007)
      * flutter/engine@0b7d6be9: Re-land "do not pause rendering when android view loses focus" (#5004)
      * flutter/engine@91dee598: If the rasterizer has a valid surface context, use that to create a snapshotting render target. (#4979)
      * flutter/engine@570231b7: Specify the packages file path when running engine dart tests. (#5005)
      * flutter/engine@0b9cef5a: Minor update to README (#5003)
      * flutter/engine@c386418f: Promote line height in text style created from paragraph style (#4995)
      * flutter/engine@4e0fbb6f: If the test specifies a .dill file, dont make the engine interpret is as source. (#5002)
      * flutter/engine@58e84c8b: Re-land "Support multiple shells in a single process. (#4932)" (#4998)
      * flutter/engine@37e5df05: Remove only use of SkPaint::kGenA8FromLCD (#4994)
      * flutter/engine@b7358b33: libtxt: cache font families that are remapped to the default font family (#4990)
      * flutter/engine@a530035b: libtxt: fix leaks in Skia object reference counting (#4988)
      * flutter/engine@0c74fc93: [fuchsia] Fix use-after-free (#4987)
      * flutter/engine@b6d2dde9: [fuchsia] Fix build (#4986)
      * flutter/engine@1dd12649: [async] Adapt to libasync API changes. (#4980)
      e9177ba3
    • Mikkel Nygaard Ravn's avatar
    • Todd Volkert's avatar
      Roll engine to 1bc0e1bb9a8db882a21086096cc2b1e0854312b7 (#16643) · dd32d1b1
      Todd Volkert authored
      * Roll engine to d6d4eec24c38bb06a9b1aef4e70c321d447ba762
      
      Contains the following engine commits:
      
      flutter/engine@1bc0e1b On windows, refer to Dart snapshot directly executable.
      flutter/engine@cf6ca32 Revert "Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79"
      flutter/engine@4b45a53 Only make ERROR and FATAL log levels visible by default.
      flutter/engine@98f6c2d Fix shell launcher test (dart2 compliant and stop polling)
      flutter/engine@75851f0 Roll Dart to fe606f890b0a311da802c78b0af414a3c2087a79
      flutter/engine@9495a52 On iOS, try to use ES3, then fall back to ES2.
      flutter/engine@d6d4eec Fix broken Linux build
      flutter/engine@d15dc76 Fix broken Chromebot build
      flutter/engine@c17a629 Breadcrumbs to the wiki
      flutter/engine@4eaf2c2 Return raw (unencoded) bytes in Image.toByteData()
      flutter/engine@d812a61 Roll src/third_party/skia/ e669bdfad..276886160 (9 commits)
      flutter/engine@62aeab7 Call SkSurface::flush instead of getting a backend handle in vulkan_swapchain.
      flutter/engine@f4ebb18 Roll src/third_party/skia/ 3462eb034..e669bdfad (54 commits)
      flutter/engine@0b7d6be Re-land "do not pause rendering when android view loses focus"
      flutter/engine@91dee59 If the rasterizer has a valid surface context, use that to create a snapshotting render target.
      flutter/engine@570231b Specify the packages file path when running engine dart tests.
      flutter/engine@0b9cef5 Minor update to README
      flutter/engine@c386418 Promote line height in text style created from paragraph style
      flutter/engine@4e0fbb6 If the test specifies a .dill file, dont make the engine interpret is as source.
      flutter/engine@58e84c8 Re-land "Support multiple shells in a single process.
      flutter/engine@37e5df0 Remove only use of SkPaint::kGenA8FromLCD
      flutter/engine@b7358b3 libtxt: cache font families that are remapped to the default font family
      flutter/engine@a530035 libtxt: fix leaks in Skia object reference counting
      flutter/engine@0c74fc9 [fuchsia] Fix use-after-free
      flutter/engine@b6d2dde [fuchsia] Fix build
      flutter/engine@1dd1264 [async] Adapt to libasync API changes.
      
      * Run test platform finalizers in reverse order to ensure that shell is shutdown before trying to delete any temporary files or directories. This fixes "Access Denied" error on Windows (see #16657).
      dd32d1b1
  15. 06 Apr, 2018 1 commit
  16. 09 Feb, 2018 1 commit
  17. 02 Feb, 2018 1 commit
  18. 07 Dec, 2017 1 commit
    • Ian Hickson's avatar
      Move image logic from services/ to painting/. (#13409) · 44e228eb
      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.
      44e228eb
  19. 22 Nov, 2017 1 commit
    • amirh's avatar
      Cancel the animated image stream timer if all listeners were removed. (#13158) · 78e044f5
      amirh authored
      This is a bug in my previous CL: instead of cancelling the timer if
      there are no more listeners, I canceled it if there were listeners (I
      can claim I just missed a not :) ).
      
      Not cancelling the timer when removing the last listener was not that bad, as
      the timer callback is guarded by a check to see if there are listeners.
      So the animation will not continue.
      
      But in the case there were multiple listeners on the same stream, and
      one of them is removed, this bug will stop the animation for all other
      listeners.
      I added a test case for this scenario.
      78e044f5
  20. 10 Nov, 2017 1 commit