From 35d7a1fe5ab3668e1f963a1bfa080b35ee82be2f Mon Sep 17 00:00:00 2001 From: Moonchild Date: Sun, 14 Apr 2024 20:47:17 +0200 Subject: [PATCH] Issue #2503 - Part 1: add CPU IS support flags to Navigator interface --- dom/base/Navigator.cpp | 12 ++++++++++++ dom/base/Navigator.h | 2 ++ dom/webidl/Navigator.webidl | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index a507dea841..0f7f2b756e 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -678,6 +678,18 @@ Navigator::CpuHasSSE2() return mozilla::supports_sse2(); } +bool +Navigator::CpuHasAVX() +{ + return mozilla::supports_avx(); +} + +bool +Navigator::CpuHasAVX2() +{ + return mozilla::supports_avx2(); +} + void Navigator::RefreshMIMEArray() { diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h index 69626d1a7c..10f9573ee9 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h @@ -173,6 +173,8 @@ public: bool JavaEnabled(ErrorResult& aRv); uint64_t HardwareConcurrency(); bool CpuHasSSE2(); + bool CpuHasAVX(); + bool CpuHasAVX2(); bool TaintEnabled() { return false; diff --git a/dom/webidl/Navigator.webidl b/dom/webidl/Navigator.webidl index 60ed84d535..f2212de392 100644 --- a/dom/webidl/Navigator.webidl +++ b/dom/webidl/Navigator.webidl @@ -211,6 +211,10 @@ partial interface Navigator { */ [ChromeOnly] readonly attribute boolean cpuHasSSE2; + [ChromeOnly] + readonly attribute boolean cpuHasAVX; + [ChromeOnly] + readonly attribute boolean cpuHasAVX2; }; // nsIDOMNavigatorDesktopNotification