屏幕触控支持指纹
一、前端navigator.maxTouchPoints获取屏幕是否支持触控。
二、navigator.maxTouchPoints c++接口修改。
1、third_party\blink\renderer\core\events\navigator_events.idl
// https://w3c.github.io/pointerevents/#extensions-to-the-navigator-interface
[
ImplementedAs=NavigatorEvents
] partial interface Navigator {
[HighEntropy=Direct, MeasureAs=NavigatorMaxTouchPoints] readonly attribute long maxTouchPoints;
};
2、接口实现c++
third_party\blink\renderer\core\events\navigator_events.cc
third_party\blink\renderer\core\events\navigator_events.h
namespace blink {
int32_t NavigatorEvents::maxTouchPoints(Navigator& navigator) {
LocalDOMWindow* window = navigator.DomWindow();
return window ? window->GetFrame()->GetSettings()->GetMaxTouchPoints() : 0;
}
} // namespace blink
maxTouchPoints >0 支持触屏。
maxTouchPoints = 0 不支持触屏。
三、总结:
指纹只需要在NavigatorEvents::maxTouchPoints函数修改即可