Chromium HTML5 新的 Input 类型url对应c++
一、Input 类型: url
url 类型用于应该包含 URL 地址的输入域。
在提交表单时,会自动验证 url 域的值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<form action="demo-form.php">
添加你的主页: <input type="url" name="homepage"><br>
<input type="submit">
</form>
<p><b>注意:</b> Internet Explorer 9及更早 IE 版本不支持 type="url" 。</p>
</body>
</html>
二、url c++定义:
third_party\blink\renderer\core\html\forms\url_input_type.h
third_party\blink\renderer\core\html\forms\url_input_type.cc
namespace blink {
class URLInputType final : public BaseTextInputType {
public:
URLInputType(HTMLInputElement& element)
: BaseTextInputType(Type::kURL, element) {}
bool TypeMismatchFor(const String&) const;
private:
void CountUsage() override;
bool TypeMismatch() const override;
String TypeMismatchText() const override;
String SanitizeValue(const String&) const override;
String SanitizeUserInputValue(const String&) const override;
};
template <>
struct DowncastTraits<URLInputType> {
static bool AllowFrom(const InputType& type) { return type.IsURLInputType(); }
};
} // namespace blink