当前位置: 首页 > article >正文

Chromium HTML Input 类型password 对应c++

一、密码字段:

密码字段通过标签 <input type="password"> 来定义:

<form>
Password: <input type="password" name="pwd">
</form>

二、password 对应c++定义:

third_party\blink\renderer\core\html\forms\password_input_type.h

third_party\blink\renderer\core\html\forms\password_input_type.cc

namespace blink {

class KeyboardEvent;

class PasswordInputType final : public BaseTextInputType {
 public:
  explicit PasswordInputType(HTMLInputElement& element)
      : BaseTextInputType(Type::kPassword, element) {}

 private:
  void CountUsage() override;
  bool ShouldSaveAndRestoreFormControlState() const override;
  FormControlState SaveFormControlState() const override;
  void RestoreFormControlState(const FormControlState&) override;
  bool ShouldRespectListAttribute() override;

  bool NeedsContainer() const override;
  void CreateShadowSubtree() override;

  void UpdateView() override;
  void CapsLockStateMayHaveChanged() override;
  bool ShouldDrawCapsLockIndicator() const override;
  void UpdatePasswordRevealButton();
  void UpdateStrongPasswordLabel();
  void DidSetValueByUserEdit() override;
  void DidSetValue(const String&, bool value_changed) override;

  void ForwardEvent(Event& event) override;
  void HandleKeydownEvent(KeyboardEvent&) override;
  void HandleBeforeTextInsertedEvent(BeforeTextInsertedEvent&) override;

  void HandleBlurEvent() override;
  bool SupportsInputModeAttribute() const override;
  bool IsAutoDirectionalityFormAssociated() const override;

  bool should_draw_caps_lock_indicator_ = false;
  bool should_show_reveal_button_ = false;
};

template <>
struct DowncastTraits<PasswordInputType> {
  static bool AllowFrom(const InputType& type) {
    return type.IsPasswordInputType();
  }
};

}  // namespace blink

三、堆栈:

 

 


http://www.kler.cn/a/373394.html

相关文章:

  • 【STM32-学习笔记-7-】USART串口通信
  • 210. 课程表 II【 力扣(LeetCode) 】
  • 怎样利用海外云手机进行引流?
  • MYSQL5.7 全文检索中文无返回数据
  • 【优选算法篇】:分而治之--揭秘分治算法的魅力与实战应用
  • 手撕代码: C++实现按位序列化和反序列化
  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (二)
  • 租房业务全流程管理:Spring Boot系统应用
  • java项目之高校学科竞赛平台源码(springboot)
  • [mysql]多行子查询(只包含不相关子查询案例)
  • WGCLOUD如何部署在ARM平台
  • MacOS下载安装Logisim(图文教程)
  • Java 使用 aspose-cells 转 Excel 为 PDF 丢失表格线,列过多分页,单元格内容显示不全问题
  • C#二分查找算法
  • 实时特征框架的生产实践|得物技术
  • 【华为HCIP实战课程二十七】中间到中间系统协议IS-IS Hello报文,网络工程师
  • 【rabbitmq】绑定死信队列示例
  • golang gin ShouldBind的介绍和使用
  • 代码随想录(十二)——图论
  • CentOS9 Stream 支持输入中文
  • React中管理state的方式
  • Java EasyExcel 导出报内存溢出如何解决
  • 知识的定义与分类体系详解 - 从零基础到专业理解
  • 【三十八】【QT开发应用】vlcplayer视频播放器(一)实现视频播放,视频暂停,视频停止,进度条调节,音量调节,时长显示功能
  • Qt 坐标系统与坐标变换
  • 外键的作用和用法