mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-06 12:01:40 +08:00
Bug: 370734442 No-Presubmit: true Change-Id: I7021b801e5bacd4ed33643651a53b8db20ccf8b0 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5898986 Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org>
417 lines
11 KiB
JavaScript
417 lines
11 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.EXTRA_HTML5_EVENTS = exports.html5TagAttrType = exports.hasTypeForAttrName = void 0;
|
|
var type_util_js_1 = require("../util/type-util.js");
|
|
var HTML_5_ATTR_TYPES = {
|
|
onafterprint: "string",
|
|
onbeforeprint: "string",
|
|
onbeforeunload: "string",
|
|
onhashchange: "string",
|
|
onlanguagechange: "string",
|
|
onmessage: "string",
|
|
onoffline: "string",
|
|
ononline: "string",
|
|
onpagehide: "string",
|
|
onpageshow: "string",
|
|
onpopstate: "string",
|
|
onstorage: "string",
|
|
onunload: "string",
|
|
onslotchange: "string",
|
|
"aria-activedescendant": "",
|
|
"aria-colcount": "",
|
|
"aria-colindex": "",
|
|
"aria-colspan": "",
|
|
"aria-controls": "",
|
|
"aria-describedat": "",
|
|
"aria-describedby": "",
|
|
"aria-errormessage": "",
|
|
"aria-flowto": "",
|
|
"aria-kbdshortcuts": "",
|
|
"aria-label": "",
|
|
"aria-labelledby": "",
|
|
"aria-level": "",
|
|
"aria-owns": "",
|
|
"aria-placeholder": "",
|
|
"aria-posinset": "",
|
|
"aria-roledescription": "",
|
|
"aria-rowcount": "",
|
|
"aria-rowindex": "",
|
|
"aria-rowspan": "",
|
|
"aria-setsize": "",
|
|
"aria-valuemax": "",
|
|
"aria-valuemin": "",
|
|
"aria-valuenow": "",
|
|
"aria-valuetext": "",
|
|
accesskey: "string",
|
|
translate: ["yes", "no", ""],
|
|
autocapitalize: ["off", "none", "on", "sentences", "words", "characters"],
|
|
class: "string",
|
|
contextmenu: "string",
|
|
dropzone: ["copy", "move", "link"],
|
|
id: "string",
|
|
itemid: "",
|
|
itemprop: "",
|
|
itemref: "",
|
|
itemtype: "",
|
|
lang: "string",
|
|
style: "string",
|
|
tabindex: "number",
|
|
title: "string",
|
|
manifest: "",
|
|
href: "string",
|
|
target: 'string|"_blank"|"_parent"|"_self"|"_top"',
|
|
rel: "",
|
|
media: "",
|
|
hreflang: "",
|
|
type: "",
|
|
sizes: "",
|
|
name: "string",
|
|
"http-equiv": "",
|
|
content: "",
|
|
charset: "",
|
|
nonce: "",
|
|
cite: "",
|
|
start: "",
|
|
value: "string",
|
|
download: "boolean|string",
|
|
ping: "",
|
|
datetime: "",
|
|
alt: "string",
|
|
src: "string",
|
|
srcset: "",
|
|
usemap: "",
|
|
width: "number|string",
|
|
height: "number|string",
|
|
srcdoc: "",
|
|
data: "",
|
|
form: "string",
|
|
poster: "string",
|
|
mediagroup: "",
|
|
label: "string",
|
|
srclang: "string",
|
|
coords: "string",
|
|
border: ["0", "1"],
|
|
span: "number",
|
|
colspan: "number",
|
|
rowspan: "number",
|
|
headers: "string",
|
|
sorted: "",
|
|
abbr: "string",
|
|
"accept-charset": "string",
|
|
action: "string",
|
|
for: "string",
|
|
accept: "string",
|
|
dirname: "string",
|
|
formaction: "string",
|
|
formtarget: ["_self", "_blank", "_parent", "_top"],
|
|
list: "string",
|
|
max: "number|string",
|
|
maxlength: "number",
|
|
min: "number|string",
|
|
minlength: "number",
|
|
pattern: "string",
|
|
placeholder: "string",
|
|
size: "number",
|
|
step: "number",
|
|
cols: "number",
|
|
rows: "number",
|
|
low: "number",
|
|
high: "number",
|
|
optimum: "number",
|
|
slot: "string",
|
|
part: "string",
|
|
exportparts: "string",
|
|
theme: "string",
|
|
controlslist: [["nodownload", "nofullscreen", "noremoteplayback"]],
|
|
role: [
|
|
[
|
|
"alert",
|
|
"alertdialog",
|
|
"button",
|
|
"checkbox",
|
|
"dialog",
|
|
"gridcell",
|
|
"link",
|
|
"log",
|
|
"marquee",
|
|
"menuitem",
|
|
"menuitemcheckbox",
|
|
"menuitemradio",
|
|
"option",
|
|
"progressbar",
|
|
"radio",
|
|
"scrollbar",
|
|
"searchbox",
|
|
"slider",
|
|
"spinbutton",
|
|
"status",
|
|
"switch",
|
|
"tab",
|
|
"tabpanel",
|
|
"textbox",
|
|
"timer",
|
|
"tooltip",
|
|
"treeitem",
|
|
"combobox",
|
|
"grid",
|
|
"listbox",
|
|
"menu",
|
|
"menubar",
|
|
"radiogroup",
|
|
"tablist",
|
|
"tree",
|
|
"treegrid",
|
|
"application",
|
|
"article",
|
|
"cell",
|
|
"columnheader",
|
|
"definition",
|
|
"directory",
|
|
"document",
|
|
"feed",
|
|
"figure",
|
|
"group",
|
|
"heading",
|
|
"img",
|
|
"list",
|
|
"listitem",
|
|
"math",
|
|
"none",
|
|
"note",
|
|
"presentation",
|
|
"region",
|
|
"row",
|
|
"rowgroup",
|
|
"rowheader",
|
|
"separator",
|
|
"table",
|
|
"term",
|
|
"text",
|
|
"toolbar",
|
|
"banner",
|
|
"complementary",
|
|
"contentinfo",
|
|
"form",
|
|
"main",
|
|
"navigation",
|
|
"region",
|
|
"search",
|
|
"doc-abstract",
|
|
"doc-acknowledgments",
|
|
"doc-afterword",
|
|
"doc-appendix",
|
|
"doc-backlink",
|
|
"doc-biblioentry",
|
|
"doc-bibliography",
|
|
"doc-biblioref",
|
|
"doc-chapter",
|
|
"doc-colophon",
|
|
"doc-conclusion",
|
|
"doc-cover",
|
|
"doc-credit",
|
|
"doc-credits",
|
|
"doc-dedication",
|
|
"doc-endnote",
|
|
"doc-endnotes",
|
|
"doc-epigraph",
|
|
"doc-epilogue",
|
|
"doc-errata",
|
|
"doc-example",
|
|
"doc-footnote",
|
|
"doc-foreword",
|
|
"doc-glossary",
|
|
"doc-glossref",
|
|
"doc-index",
|
|
"doc-introduction",
|
|
"doc-noteref",
|
|
"doc-notice",
|
|
"doc-pagebreak",
|
|
"doc-pagelist",
|
|
"doc-part",
|
|
"doc-preface",
|
|
"doc-prologue",
|
|
"doc-pullquote",
|
|
"doc-qna",
|
|
"doc-subtitle",
|
|
"doc-tip",
|
|
"doc-toc"
|
|
]
|
|
]
|
|
};
|
|
function hasTypeForAttrName(attrName) {
|
|
return HTML_5_ATTR_TYPES[attrName] != null && HTML_5_ATTR_TYPES[attrName].length > 0;
|
|
}
|
|
exports.hasTypeForAttrName = hasTypeForAttrName;
|
|
function html5TagAttrType(attrName) {
|
|
return stringToSimpleType(HTML_5_ATTR_TYPES[attrName] || "", attrName);
|
|
}
|
|
exports.html5TagAttrType = html5TagAttrType;
|
|
function stringToSimpleType(typeString, name) {
|
|
if (Array.isArray(typeString)) {
|
|
if (Array.isArray(typeString[0])) {
|
|
return (0, type_util_js_1.makePrimitiveArrayType)(stringToSimpleType(typeString[0]));
|
|
}
|
|
return {
|
|
kind: "UNION",
|
|
types: typeString.map(function (value) { return ({ kind: "STRING_LITERAL", value: value }); })
|
|
};
|
|
}
|
|
if (typeString.includes("|")) {
|
|
return {
|
|
kind: "UNION",
|
|
types: typeString.split("|").map(function (typeStr) { return stringToSimpleType(typeStr); })
|
|
};
|
|
}
|
|
switch (typeString) {
|
|
case "number":
|
|
return { kind: "NUMBER", name: name };
|
|
case "boolean":
|
|
return { kind: "BOOLEAN", name: name };
|
|
case "string":
|
|
return { kind: "STRING", name: name };
|
|
default:
|
|
return { kind: "ANY", name: name };
|
|
}
|
|
}
|
|
/**
|
|
* Data from vscode-html-languageservice
|
|
*/
|
|
exports.EXTRA_HTML5_EVENTS = [
|
|
{
|
|
name: "onanimationend",
|
|
description: "A CSS animation has completed."
|
|
},
|
|
{
|
|
name: "onanimationiteration",
|
|
description: "A CSS animation is repeated."
|
|
},
|
|
{
|
|
name: "onanimationstart",
|
|
description: "A CSS animation has started."
|
|
},
|
|
{
|
|
name: "oncopy",
|
|
description: "The text selection has been added to the clipboard."
|
|
},
|
|
{
|
|
name: "oncut",
|
|
description: "The text selection has been removed from the document and added to the clipboard."
|
|
},
|
|
{
|
|
name: "ondragstart",
|
|
description: "The user starts dragging an element or text selection."
|
|
},
|
|
{
|
|
name: "onfocusin",
|
|
description: "An element is about to receive focus (bubbles)."
|
|
},
|
|
{
|
|
name: "onfocusout",
|
|
description: "An element is about to lose focus (bubbles)."
|
|
},
|
|
{
|
|
name: "onfullscreenchange",
|
|
description: "An element was turned to fullscreen mode or back to normal mode."
|
|
},
|
|
{
|
|
name: "onfullscreenerror",
|
|
description: "It was impossible to switch to fullscreen mode for technical reasons or because the permission was denied."
|
|
},
|
|
{
|
|
name: "ongotpointercapture",
|
|
description: "Element receives pointer capture."
|
|
},
|
|
{
|
|
name: "onlostpointercapture",
|
|
description: "Element lost pointer capture."
|
|
},
|
|
{
|
|
name: "onoffline",
|
|
description: "The browser has lost access to the network."
|
|
},
|
|
{
|
|
name: "ononline",
|
|
description: "The browser has gained access to the network (but particular websites might be unreachable)."
|
|
},
|
|
{
|
|
name: "onpaste",
|
|
description: "Data has been transferred from the system clipboard to the document."
|
|
},
|
|
{
|
|
name: "onpointercancel",
|
|
description: "The pointer is unlikely to produce any more events."
|
|
},
|
|
{
|
|
name: "onpointerdown",
|
|
description: "The pointer enters the active buttons state."
|
|
},
|
|
{
|
|
name: "onpointerenter",
|
|
description: "Pointing device is moved inside the hit-testing boundary."
|
|
},
|
|
{
|
|
name: "onpointerleave",
|
|
description: "Pointing device is moved out of the hit-testing boundary."
|
|
},
|
|
{
|
|
name: "onpointerlockchange",
|
|
description: "The pointer was locked or released."
|
|
},
|
|
{
|
|
name: "onpointerlockerror",
|
|
description: "It was impossible to lock the pointer for technical reasons or because the permission was denied."
|
|
},
|
|
{
|
|
name: "onpointermove",
|
|
description: "The pointer changed coordinates."
|
|
},
|
|
{
|
|
name: "onpointerout",
|
|
description: "The pointing device moved out of hit-testing boundary or leaves detectable hover range."
|
|
},
|
|
{
|
|
name: "onpointerover",
|
|
description: "The pointing device is moved into the hit-testing boundary."
|
|
},
|
|
{
|
|
name: "onpointerup",
|
|
description: "The pointer leaves the active buttons state."
|
|
},
|
|
{
|
|
name: "onratechange",
|
|
description: "The playback rate has changed."
|
|
},
|
|
{
|
|
name: "onselectstart",
|
|
description: "A selection just started."
|
|
},
|
|
{
|
|
name: "onselectionchange",
|
|
description: "The selection in the document has been changed."
|
|
},
|
|
{
|
|
name: "ontouchcancel",
|
|
description: "A touch point has been disrupted in an implementation-specific manners (too many touch points for example)."
|
|
},
|
|
{
|
|
name: "ontouchend",
|
|
description: "A touch point is removed from the touch surface."
|
|
},
|
|
{
|
|
name: "ontouchmove",
|
|
description: "A touch point is moved along the touch surface."
|
|
},
|
|
{
|
|
name: "ontouchstart",
|
|
description: "A touch point is placed on the touch surface."
|
|
},
|
|
{
|
|
name: "ontransitionend",
|
|
description: "A CSS transition has completed."
|
|
},
|
|
{
|
|
name: "onwheel",
|
|
description: "A wheel button of a pointing device is rotated in any direction."
|
|
}
|
|
];
|