Chromium HTML5 新的 Input 类型time对应c++

一、Input 类型: time

time 类型允许你选择一个时间。

html 复制代码
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>test</title> 
</head>
<body>

<form action="demo-form.php">
  选择时间: <input type="time" name="usr_time">
  <input type="submit">
</form>

</body>
</html>

二、time c++定义

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

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

cpp 复制代码
namespace blink {

class TimeInputType final : public BaseTemporalInputType {
 public:
  explicit TimeInputType(HTMLInputElement&);

 private:
  void CountUsage() override;
  Decimal DefaultValueForStepUp() const override;
  StepRange CreateStepRange(AnyStepHandling) const override;
  bool ParseToDateComponentsInternal(const String&,
                                     DateComponents*) const override;
  bool SetMillisecondToDateComponents(double, DateComponents*) const override;
  void WarnIfValueIsInvalid(const String&) const override;
  String LocalizeValue(const String&) const override;

  // BaseTemporalInputType functions
  String FormatDateTimeFieldsState(const DateTimeFieldsState&) const override;
  void SetupLayoutParameters(DateTimeEditElement::LayoutParameters&,
                             const DateComponents&) const override;
  bool IsValidFormat(bool has_year,
                     bool has_month,
                     bool has_week,
                     bool has_day,
                     bool has_ampm,
                     bool has_hour,
                     bool has_minute,
                     bool has_second) const override;
  String AriaLabelForPickerIndicator() const override;
  String ReversedRangeOutOfRangeText(const Decimal& minimum,
                                     const Decimal& maximum) const override;
};

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

}  // namespace blink
相关推荐
JoStudio几秒前
白帽系列01: 抓包
java·网络安全
sanggou8 分钟前
基于Java实现的简易规则引擎(日常开发难点记录)
android·java
先做个垃圾出来………8 分钟前
Python测试桩工具
java·开发语言·python
小芳矶8 分钟前
【langchain框架——检索链】利用检索链创建自己的购物知识库并完成智能体的商品推荐
java·python·langchain
爱吃山竹的大肚肚10 分钟前
优化SQL:如何使用 EXPLAIN
java·数据库·spring boot·sql·spring
小李小李快乐不已10 分钟前
栈和堆理论基础
c++·算法·leetcode
夏幻灵11 分钟前
CMD是什么
c++
行思理15 分钟前
FastAdmin新手教程
java·开发语言·fastadmin
向上的车轮18 分钟前
Apache Camel 与 Spring Integration的区别是什么?
java·spring·apache
HABuo25 分钟前
【Linux进程(一)】进程深入剖析-->进程概念&PCB的底层理解
linux·运维·服务器·c语言·c++·后端·进程