* adding the default text editing strategy
* [DRAFT] Refactoring text editing. Strategy pattern is used to handle different browser/operating system and a11y behaviour. Unit tests are missing. Documentation needs updating.
* addressing PR comments
* addressing PR comments. Fixing documentation
* fixing persistenttextediting element which is used in a11y mode
* removing texteditingelement and using texteditingstrategy from hybridtextediting. fixing the unit tests. fixing comments
* fix unit tests
* add todos for firefox tests
* fixing chrome/android a11y issue
* DRAFT: adding support for enabling semantics on desktop
* Working solution for desktop.
* Refactoring class structure. Removing unrelated comments.
* Fixing enabling semantics from dom_renderer
* Adding unit tests.Fixing failing cases. More refactoring.
* more work on tests.
* Fixing licences
* addressing PR comments
* support for autocorrect
* fixing the unit tests. Note there is no unit tests for the autocorrect since the unit tests do not run on webkit
* addressing PR comments
* fix typo
* Add shadows to Engine classes
* add text shadow test
* update golden locks file, update ui.ParagraphStyle, fix issues
* Change maxDiffRate for mac clients
* Add Helvetica and sans-serif as fallback font families
This prevents us from using an ugly serif default font when the
requested font isn't available.
* Use Arial when not on iOS
This removes TextRange from the framework and moves it to the engine, in preparation for using it to return text ranges from the text extent APIs, like Paragraph.getWordBoundary instead of a List<int>.
Also added new tests for TextRange.
* Draw vertices to shared offscreen canvas on browsers that support OffscreenCanvas.
* Move gl rendering code to render_vertices.dart.
* Reuse shaders and program across calls.
This prevents us from synthesizing an 'add' event if we get a 'move'
event after a 'down' event. This was causing errors because on the
framework side, it will synthesize an 'add' event if it receives a
'down' event, and if you send another 'add' event (e.g. with a 'move'
after a 'down') then it will throw an AssertionError since it already
has received an 'add' event for that pointer.
Fixes https://github.com/flutter/flutter/issues/40385
* do not wrap font family name in webkit otherwise icons not show on safari 13 (both IOS and desktop)
* Changing the font loading to work in all browsers.
* Documentation, renaming, gramatical/spelling error related PR comments addressed. Regexp will be addressed in the next commit.
* Changing regular expressions to look simpler. Adding more unit tests.
* WIP on fixing pointer event clicks
* Don't set canvaskit as enabled by default
* Use a Set of pressed buttons rather than a Map of button status to
avoid memory leaks
* Add test for pointer binding
Fix bug where event listeners weren't properly removed
* Fixing invalid state bug for text editing. Flutter Framework was sending editing state selection base and extent as -1. Since -1 is an invalid value for a dom element selection it was not applied to the last editing state. Now if the base or offset is sent as negative value, web engine will set 0 to the selection range.
* Addressing PR comments.