mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fix edge detection for correct dom_renderer reset (flutter/engine#13940)
This commit is contained in:
parent
3daba45b72
commit
cd982ca7d0
@ -16,6 +16,9 @@ enum BrowserEngine {
|
||||
/// The engine that powers Firefox.
|
||||
firefox,
|
||||
|
||||
/// The engine that powers Edge.
|
||||
edge,
|
||||
|
||||
/// We were unable to detect the current browser engine.
|
||||
unknown,
|
||||
}
|
||||
@ -30,10 +33,13 @@ BrowserEngine get browserEngine => _browserEngine ??= _detectBrowserEngine();
|
||||
|
||||
BrowserEngine _detectBrowserEngine() {
|
||||
final String vendor = html.window.navigator.vendor;
|
||||
final String agent = html.window.navigator.userAgent;
|
||||
if (vendor == 'Google Inc.') {
|
||||
return BrowserEngine.blink;
|
||||
} else if (vendor == 'Apple Computer, Inc.') {
|
||||
return BrowserEngine.webkit;
|
||||
} else if (agent.contains('Edge/')) {
|
||||
return BrowserEngine.edge;
|
||||
} else if (vendor == '') {
|
||||
// An empty string means firefox:
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vendor
|
||||
|
||||
@ -60,6 +60,7 @@ class TextField extends RoleManager {
|
||||
|
||||
switch (browserEngine) {
|
||||
case BrowserEngine.blink:
|
||||
case BrowserEngine.edge:
|
||||
case BrowserEngine.firefox:
|
||||
case BrowserEngine.unknown:
|
||||
_initializeForBlink();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user