1. 31 1月, 2019 1 次提交
    • J
      Embed ICU data inside libflutter.so on Android (#7588) · 050dcaad
      Jason Simmons 提交于
      Prior to this the Android embedder code would extract the icudtl.dat asset out
      of the APK and write it to local disk during the first startup of the app.
      
      This change will make that work unnecessary and eliminate the risk of ICU
      failures due to errors in the extraction process.
      050dcaad
  2. 29 1月, 2019 1 次提交
  3. 15 1月, 2019 2 次提交
  4. 10 1月, 2019 1 次提交
  5. 09 1月, 2019 1 次提交
  6. 08 1月, 2019 1 次提交
  7. 21 12月, 2018 1 次提交
  8. 15 12月, 2018 1 次提交
  9. 14 12月, 2018 1 次提交
  10. 11 12月, 2018 1 次提交
    • C
      [vulkan] Remove magma native surface · f3de9c98
      Craig Stout 提交于
      The Vulkan surface extension as used here is meant for testing only.
      Since this isn't used, remove it so we don't have to maintain it.
      Also remove the attempt to locate all related Vulkan entry points.
      
      Test:
      pixelbook:build topaz, launch a spinning cube
      f3de9c98
  11. 19 11月, 2018 2 次提交
  12. 18 11月, 2018 3 次提交
  13. 16 11月, 2018 1 次提交
  14. 13 11月, 2018 1 次提交
  15. 09 11月, 2018 1 次提交
    • A
      Support platform view overlays with GL rendering (#6769) · 099b4eea
      Amir Hardon 提交于
      Moved the frame buffer specific logic from IOSGLContext to IOSGLRenderTarget.
      
      use recording canvases for overlays
      
      Support platform view overlays with gl rendering.
      
      This also changes the overlay canvases (for both software and gl
      rendering) be recording canvases, and only rasterize them after
      finishing the paint traversal.
      099b4eea
  16. 08 11月, 2018 1 次提交
  17. 02 11月, 2018 1 次提交
    • A
      Add an overlay surface on top of embedded UIViews. (#6726) · 9e1f546a
      Amir Hardon 提交于
      The overlay surfaces are going to be the same IOSSurface implementation
      with the platform views controller set to null (so these are surfaces
      that don't support embedding platform views to them).
      
        * Adds a FlutterOverlayView which is a UIView that's showing an
          overlay surface.
        * Creates an overlay surface for each embedded UIView (done in
          FlutterPlatformViewsController).
        * Changes CompositeEmbeddedView to return a new canvas.
        * Makes the PlatformViewLayer replace the PaintContext's canvas with
          the canvas for the overlay view.
        * Changed canvas in PaintContext to be a pointer so it can be changed.
      
      TBD in following PRs:
        * Copy the current canvas state when replacing a canvas in PaintContext.
        * Make FlutterOverlayView work with a GL backend (currently it only
          works with software rendering)
      9e1f546a
  18. 27 10月, 2018 2 次提交
    • A
      Plumb the iOS PlatformViewsController into flow. (#6603) · df85722f
      Amir Hardon 提交于
      For flow to manipulate the embedded UIViews during the paint traversal
      it needs some hook in PaintContext.
      This PR introduces a ViewEmbeder interface that is implemented by the
      iOS PlatformViewsController and plumbs it into PaintContext.
      
      The ViewEmbedder interface is mainly a place holder at this point, as
      this PR is focused on just the plumbing.
      df85722f
    • D
      iOS Embedding Refactor (#6447) · 2bfb893c
      Dan Field 提交于
      * Create FlutterEngine to manage a Shell to support maintaining execution state across instances of FlutterViewControllers
      * Refactor PlatformViewIOS to support adding or removing a FlutterViewController dynamically
      * Refactor FlutterDartHeadlessCodeRunner to implement FlutterEngine
      * Refactor FlutterViewController to accept a FlutterEngine at initialization or to create one for backwards compatibility; any Shell related responsibilities are now passed through to the Engine instance
      * Remove FlutterNavigationController (unused)
      * Update all public Objective C doc comments to be consistent and formatable
      * Add public documentation to all public headers
      2bfb893c
  19. 25 10月, 2018 1 次提交
    • A
      Add an iOS PlatformViewsController for creating/disposing UIViews. (#6569) · 9669b70e
      Amir Hardon 提交于
      Adds a FlutterPlatformViewFactory protocol - a simple factory protocol to be implemented by plugins
        that exposes a UIView for embedding in Flutter apps.
      * Adds a FlutterPlatformView protocol, which is used to associate a
        dispose callback with a `UIView` created by a FlutterPlatformViewFactory.
      * Exposes a registerViewFactory method in FlutterPluginRegistrar.
      * Implements the `flutter/platform_views` system channel on iOS, allowing
        Dart code to ask for creation/destruction of UIViews.
      9669b70e
  20. 23 10月, 2018 1 次提交
    • C
      Ensure that Scene::toImage renders texture backed images. (#6636) · 20c805c9
      Chinmay Garde 提交于
      TL;DR: Offscreen surface is created on the render thread and device to host
      transfer performed there before task completion on the UI thread.
      
      While attempting to snapshot layer trees, the engine was attempting to use the
      IO thread context. The reasoning was that this would be safe to do because any
      textures uploaded to the GPU as a result of async texture upload would have
      originated from this context and hence the handles would be valid in either
      context. As it turns out, while the handles are valid, Skia does not support
      this use-case because cross-context images transfer ownership of the image from
      one context to another. So, when we made the hop from the UI thread to the IO
      thread (for snapshotting), if either the UI or GPU threads released the last
      reference to the texture backed image, the image would be invalid. This led to
      such images being absent from the layer tree snapshot.
      
      Simply referencing the images as they are being used on the IO thread is not
      sufficient because accessing images on one context after their ownership has
      already been transferred to another is not safe behavior (from Skia's
      perspective, the handles are still valid in the sharegroup).
      
      To work around these issues, it was decided that an offscreen render target
      would be created on the render thread. The color attachment of this render
      target could then be transferred as a cross context image to the IO thread for
      the device to host tranfer.
      
      Again, this is currently not quite possible because the only way to create
      cross context images is from encoded data. Till Skia exposes the functionality
      to create cross-context images from textures in one context, we do a device to
      host transfer on the GPU thread. The side effect of this is that this is now
      part of the frame workload (image compression, which dominate the wall time,
      is still done of the IO thread).
      
      A minor side effect of this patch is that the GPU latch needs to be waited on
      before the UI thread tasks can be completed before shell initialization.
      20c805c9
  21. 18 10月, 2018 1 次提交
  22. 16 10月, 2018 1 次提交
  23. 13 10月, 2018 3 次提交
  24. 12 10月, 2018 1 次提交
  25. 05 10月, 2018 1 次提交
    • C
      Remove touch mapper and respect the UITouch phase when calculating the pointer... · 45c5fe56
      Chinmay Garde 提交于
      Remove touch mapper and respect the UITouch phase when calculating the pointer data change type. (#6430)
      
      The touch mapper was a relic of a time when the pointer IDs had to be less
      than 16. Not respecting the touch phase is getting in the way of clients that
      fake their own touches. Turns out the AppDelegate also like to fake touches to
      simulate status bar events. Now, except in cases where there is a specific
      override in place, the UI touch phase is respected.
      45c5fe56
  26. 04 10月, 2018 1 次提交
  27. 03 10月, 2018 2 次提交
  28. 27 9月, 2018 1 次提交
  29. 23 9月, 2018 1 次提交
    • C
      Remove the unused Mac Desktop shell. (#6314) · e82db866
      Chinmay Garde 提交于
      This shell used to serve the dual purpose of running Flutter tests as
      well as optionally being able to run Flutter applications on a Mac
      desktop. After all the test runner targets were consolidated
      (flutter_tester), this target was no longer used to run the tests. This
      target is currently only used by engine developers to test changes
      quickly on the host. Even for this purpose, the Desktop embedders are
      more full featured and use the stable embedder API. The presence of a
      cross-platform tester target, alternatives for Desktop targets that use
      the stable embedder API and the fact that this target is no longer
      tested, makes having this code in the source entirely redundant.
      e82db866
  30. 15 9月, 2018 1 次提交
  31. 08 9月, 2018 1 次提交
  32. 06 9月, 2018 1 次提交