From ff448c307fc6e57db6c861ee3a4040907caf3c07 Mon Sep 17 00:00:00 2001 From: Ferhat Date: Wed, 20 Nov 2019 08:56:56 -0800 Subject: [PATCH] Fix edge detection for correct dom_renderer reset (#13940) --- lib/web_ui/lib/src/engine/browser_detection.dart | 6 ++++++ lib/web_ui/lib/src/engine/semantics/text_field.dart | 1 + 2 files changed, 7 insertions(+) diff --git a/lib/web_ui/lib/src/engine/browser_detection.dart b/lib/web_ui/lib/src/engine/browser_detection.dart index 9cdc61edb..fffcadeef 100644 --- a/lib/web_ui/lib/src/engine/browser_detection.dart +++ b/lib/web_ui/lib/src/engine/browser_detection.dart @@ -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 diff --git a/lib/web_ui/lib/src/engine/semantics/text_field.dart b/lib/web_ui/lib/src/engine/semantics/text_field.dart index 107d9237c..8ce6682ed 100644 --- a/lib/web_ui/lib/src/engine/semantics/text_field.dart +++ b/lib/web_ui/lib/src/engine/semantics/text_field.dart @@ -60,6 +60,7 @@ class TextField extends RoleManager { switch (browserEngine) { case BrowserEngine.blink: + case BrowserEngine.edge: case BrowserEngine.firefox: case BrowserEngine.unknown: _initializeForBlink(); -- GitLab