* Add Edge support for Flutter Engine unit-tests. This does not include the launcher
* Add mapping from browser name to platform.
* remove ie from supported browser maps
* Refactor BitmapCanvas. Fix image compositing bug. Allocate canvas lazily
* Fix recording canvas test by restoring context save
* Update recording canvas test for drawColor to show multiply blend
* Launch safari browser
* Adding safari tests to supported browsers
* changing the directrory for redirect file. This works without opening a permision pop-up. Note: there is no headless mode in safari
* addressing reviewer comments
* changes to add firefox as one of the browser options to test_platform and test_runner
* Creating a supported_browsers file to put all the different browser related maps and utilities
* Remove accidentaly forgotten commented out lines. Clear imports
* fix error in screenshot handler
* Addressing PR comments.
* addressing PR comments part 2:
* Add Firefox installing functionality to test platform. For Linux only. Refactor test platform code
* remove download.dart. Not complete for now
* uncomment firefox.dart. Adding new CL parameters.
* Licence headers added.
* adding more comments to firefox_installer
* adding test for firefox download
* address pr comments. change directory for test in .cirrus.yml
* change directory for test_web_engine_firefox_script
* removing the system test.
* refactoring before implementing the firefox installer. This PR carries utilities to a common place. Renames the lock file with a generic name.
* Fixed README file for browser_lock
* addressing PR comments: removing unimplemented firefox methods.
* Import all golden files and tests from internal repo.
* Adapt test files to new screenshot API, and tweak some settings.
(Check PR to see individual changes to each file)
Fixes https://github.com/flutter/flutter/issues/40975
New features for golden tests (for web):
* Height/width of headless browser instance extracted to constants
* Remove border from the host iframe
* Added 'region' to matchGoldenFile, so screenshots can capture only
a subset of the viewport
* Added image-format-awareness (png) to screenshot comparison, so it
doesn't only look at raw bytes
* When a test fails, output a diff image alongside the unexpected
output.
1. Various functionalities offered by this tool are now organized into commands (e.g. `felt test`, `felt check-licenses`).
2. The felt tool can now be invoked from anywhere, not necessarily from the web_ui directory.
3. This new structure helps us scale better as we add more commands (e.g. soon a `build/watch` command is coming).