-
- the problems: some tests were just poorly written, using async calls but not properly setting async expectations. Those were generating undefined behaviour (not clear if/when those callbacks would be executed). - also, we wanted to call `clearAllCaches` before every test, but since some methods there are async, this doesn't work with the way `setUp` was designed. So basically sometimes before a test we could clear the cache but sometimes not, or even the clear could come while running the test which was worst - decided to fix this by making sure after every test that we manually clear what we have added.
-
…-images/* images which are big and sometimes fail to arrive in 5 seconds (before the test can timeout) to smaller images, basically using http://via.placeholder.com/ like http://via.placeholder.com/50x50.jpg or http://via.placeholder.com/200x200.png This should speed up the tests a bit and also avoid some of the random failures due to timeout
-
…hLocalImageURL:isAnimatedImage:` method that will take a imageURL and a coder and will check decoding and encoding back and forth, sizes and so. Reusing this method for the static WebP image, for the animated WebP image and for the GIF.
-
Also updated the Tests Podfile so we don't get a warning (xcodeproj was renamed to project)
-
Add the animated GIF encoding support for SDWebImageGIFCoder on macOS(use NSImage's API)
-
Provide a way to fix libwebp’s bug during WebP progressive decoding f…
-
…easons (strangely sometimes the data doesn't get written to disk)
-
…itecture (macOS and iPhone simulator). It kept the previous decoded partial bitmap and will cause current image looks strange.
-
Allow user to provide reading options such as mapped file to improve performance in SDImageCache disk cache
-
…so cleaning the schemes that have built that. The problem now with Xcode 9 is that those targets already contain the libwebp and FLAnimatedImage files, Xcode will not rebuild the framework from the proper sources and then we will have duplicate symbols with the libwebp and FLAnimatedImage files that are also compiled by CocoaPods separately.
-
Give back our GIF category animation support since we now use plugin coders
-
…s will not affect FLAnimatedImageView which just create the first frame. 1. Change default coders to [IOCoder, WebPCoder] 2. Add back our previous GIF decoding code, with loop count support 3. Add GIF encoding code for animation 4. Modify IOCoder for GIF format because FLAnimatedImageView need just use the first frame
-
Feature: refactor decoding code and provide decoding plugin
-
- open the decoding/encoding procedures to the users - switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created) - `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around - uses a priority queue behind scenes, which means the latest added coders have priority. - the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`) - each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder - we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP) - the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array - in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
-
… in SDImageCache disk cache
-
Change finished check from equal to equal or greater than to protect …
-
Static WebP decoding a little enhancement. Do not need create WebP it…
-
Fix SDWebImageDownloaderOperation not call done when use SDWebImageDownloaderIgnoreCachedResponse
-
Fix SDWebImage v4 can not import libwebp framework's header files.
-
Adopt the previous version behavior about SDWebImageDownloaderIgnoreC…
-
Fix FLAnimatedImageView mixed local and global import
-
…se and SDWebImageRefreshCached without hack code
-
Use CGImageSourceCreateIncremental to perform progressive decoding in…
-
Set UIButton's placeholer-image even if the url is nil