diff --git a/src/enums/ua-parser-enums.js b/src/enums/ua-parser-enums.js index 903aa05..c81194f 100644 --- a/src/enums/ua-parser-enums.js +++ b/src/enums/ua-parser-enums.js @@ -274,6 +274,7 @@ const Engine = Object.freeze({ NETFRONT: 'NetFront', NETSURF: 'NetSurf', PRESTO: 'Presto', + SERVO: 'Servo', TASMAN: 'Tasman', TRIDENT: 'Trident', W3M: 'w3m', diff --git a/src/main/ua-parser.js b/src/main/ua-parser.js index 7d51735..0f046af 100755 --- a/src/main/ua-parser.js +++ b/src/main/ua-parser.js @@ -814,7 +814,7 @@ ], [VERSION, [NAME, 'Blink']], [ /(presto)\/([\w\.]+)/i, // Presto - /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna + /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo /ekioh(flow)\/([\w\.]+)/i, // Flow /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, // KHTML/Tasman/Links /(icab)[\/ ]([23]\.[\d\.]+)/i, // iCab diff --git a/test/specs/engine-all.json b/test/specs/engine-all.json index 67fdd33..7523fc3 100644 --- a/test/specs/engine-all.json +++ b/test/specs/engine-all.json @@ -89,6 +89,15 @@ "version" : "2.8.149" } }, + { + "desc" : "Servo", + "ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Servo/1.0 Firefox/111.0", + "expect" : + { + "name" : "Servo", + "version" : "1.0" + } + }, { "desc" : "Tasman", "ua" : "Mozilla/4.0 (compatible; MSIE 6.0; PPC Mac OS X 10.4.7; Tasman 1.0)",