* Introduce FullScreenApplicationDom, and wire it to meta viewport, event handlers and hot restart.
* Move internal stylesheet to HostNode from ViewEmbedder.
* Add setHostStyles and Attribute to ApplicationDom. Use it in the embedder.
* Move HotRestartCacheHandler to its own file.
* Remove Safari hack for visualViewport.
* No need to keep a ref to the viewport meta in full-screen.
* Add applicationDom.attachGlassPane and use it in the Embedder.
* Remove empty method bodies.
* Add attachResourcesHost and use it from the embedder.
* Removed some unused code.
* Some more cleanup.
* Add ResizeObserver JS interop API.
* Add the CustomElementApplicationDom and wire it to the ViewEmbedder.
* Add the DimensionsProvider classes.
* Reimplement engine.window using the DimensionsProvider.
* Delegate window metrics to engine window in html scene object.
* Wire DimensionsProvider into engine.window.
* Moved ApplicationDom into its own subdir.
* Make DimensionsProvider also an Observer. Expose onResize Stream.
* Delegate onResize and dpr from window to DimensionsObserver object.
* Remove or make most ApplicationDom methods private. Expose single initializeHost.
* Hook the new API.
* dart format
* ApplicationDom -> EmbeddingStrategy.
* Attach pointer move events to glassPaneElement
* Use offset positions for mouse events (relative to host element) rather than client (relative to viewport)
* Update TouchAdapter to understand scrolling (simulate offsetX/Y)
* Remove locale change handling from the embedding strategy.
Also, remove DomSubscription handling from the
hot_restart_cache_handler, now that it is not needed.
* Move locale handling from the embedder to the platform dispatcher
* Move some styles from host to glassPane so we are more friendly with external CSS.
* Make analyzer fixes
* Ensure DimensionsProvider is available in tests.
* Initialize the view DimensionsProvider next to where the EmbeddingStrategy is decided (more logical)
* Bring back the logic to support Firefox 83.
* Fix pointer_binding test for new anchor point in the DOM.
* Fix pointer_binding_test in Firefox.
* Add an iterable way of accessing 'rules'
From a CSSStyleSheet object.
Also add the cssText getter for a CSSRule so we can parse it later.
* Merge latest changes to host_node stylesheet.
* Add an id to the StyleSheet element that we add, so it can be selected
later (in tests).
* Use the methods coming from browser_detection.dart to determine the
browser runtime, instead of re-implementing them within the method.
* Merge the Edge stylesheet into the general one.
* Update tests so they can look at the CSS Rules that were added.
* Format test
* Try to use insertRule for -ms-reveal, and fallback in tests.
* Test hot_restart_cache_handler
Simplify API a little bit, make clear method private.
* Test dimensions_provider.
* Test full_page_dimensions_provider
* Test custom_element_dimensions_provider
* Test embedding_strategy. Make getDomCache util public.
* Fixes and tests for *_embedding_strategy.
* Move default text colors to our innermost style inside host_node (apply only to flt-scene-host). Remove code from the embedding strategies, and adjust tests.
* Safari expands shorthand properties in CSSOM.
Check individually for both font-family and font-size in Safari, rather
than font in the host_node_test.
* Add computeEventOffsetToTarget function, and use it.
* Address PR comments.
* Update licenses_flutter.
* Remove DomCSSRuleList class and instead use Iterable of DomCSSRule
* Make the embeddingStrategy final instead of late
* Attach mouse/pointermove events to domWindow.
* Rename DimensionsProvider.onHotRestart to .close, and slightly improve docs.
* Fix compute physicalX/Y for TalkBack events.
Extracted compute function to a helper file.
* Clarify what does (and does not) support 3D transforms in the event_position_helper file.
* Update licenses file