Reland "Flip enable_skia_wuffs_gif gn arg default to true"

This is a reland of f93e0964136548438b5297f7ddd902a4702aba12

With https://skia-review.googlesource.com/c/skia/+/414417 landed in Skia
and rolled into Chromium, crbug.com/1213633 is fixed even with this
change.

Original change's description:
> Flip enable_skia_wuffs_gif gn arg default to true
>
> The gif-animated-partial-load.html web test examines the intermediate
> rendering of loading a GIF image over a simulated slow network
> connection - an incomplete image.
>
> The GIF spec (https://www.w3.org/Graphics/GIF/spec-gif89a.txt) describes
> how to decode a complete GIF file, but does not mention intermediate
> on-screen state. Different decoders have leeway to present different
> partial decodings.
>
> Specifically, Chromium's old decoder only output complete rows of pixels
> and consumed only complete blocks of data. Chromium's new decoder can
> output partial rows and consume partial blocks. (A GIF image's
> compressed pixel data is framed into a sequence of blocks. Each block
> has a length byte, then up to 255 bytes of payload.)
>
> For interlaced GIFs, the old and new decoders also take different
> approaches as to how to expand 'tall' rows: whether the explicit row is
> the center or the top of the strip of implied rows.
>
> To repeat, different (spec-compliant) GIF decoders can produce different
> partial decodings. The Blink web test does a pixel-exact comparison to a
> golden screenshot, so this commit also updates that screenshot.
>
> https://bugs.chromium.org/p/chromium/issues/detail?id=1014044#c3 shows
> the old and new screenshots.
>
> Bug: 1014044
> Change-Id: Ic3038147f3ef83bb0a20c9018b9b4ec44662d3e8
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2639056
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Nigel Tao <nigeltao@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#846698}

Bug: 1014044
Bug: 1214134
Bug: 1213633
Change-Id: If5a1d4ccb14bc63bac9bb8b52f35dd51dfcafb80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2940044
Reviewed-by: Nigel Tao <nigeltao@chromium.org>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Cr-Commit-Position: refs/heads/master@{#890239}
3 files changed
tree: 54b260d754321768af54dfc3d3756358b7c95992
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. cloud_print/
  13. codelabs/
  14. components/
  15. content/
  16. courgette/
  17. crypto/
  18. dbus/
  19. device/
  20. docs/
  21. extensions/
  22. fuchsia/
  23. gin/
  24. google_apis/
  25. google_update/
  26. gpu/
  27. headless/
  28. infra/
  29. ios/
  30. ipc/
  31. jingle/
  32. media/
  33. mojo/
  34. native_client_sdk/
  35. net/
  36. pdf/
  37. ppapi/
  38. printing/
  39. remoting/
  40. rlz/
  41. sandbox/
  42. services/
  43. skia/
  44. sql/
  45. storage/
  46. styleguide/
  47. testing/
  48. third_party/
  49. tools/
  50. ui/
  51. url/
  52. weblayer/
  53. .clang-format
  54. .clang-tidy
  55. .eslintrc.js
  56. .git-blame-ignore-revs
  57. .gitattributes
  58. .gitignore
  59. .gn
  60. .mailmap
  61. .vpython
  62. .vpython3
  63. .yapfignore
  64. AUTHORS
  65. BUILD.gn
  66. CODE_OF_CONDUCT.md
  67. codereview.settings
  68. DEPS
  69. DIR_METADATA
  70. ENG_REVIEW_OWNERS
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.