From fcfa305e9374427eb1f6fa062ec0b39fc973f3a4 Mon Sep 17 00:00:00 2001 From: bojiang Date: Tue, 13 Jun 2023 14:36:49 +0800 Subject: [PATCH] fixed 7f2fbbd from https://gitee.com/BoJiang4702/third_party_parse5/pulls/21 jiangbo91@huawei.com Signed-off-by: bojiang Change-Id: I6af94ab6978f1caf51580d6f3f6ac91a9a86f83e --- packages/parse5/lib/common/html.ts | 73 +++++++++++++++++++++++++++++ packages/parse5/lib/parser/index.ts | 18 +++++++ 2 files changed, 91 insertions(+) diff --git a/packages/parse5/lib/common/html.ts b/packages/parse5/lib/common/html.ts index 48e2731..593eac2 100644 --- a/packages/parse5/lib/common/html.ts +++ b/packages/parse5/lib/common/html.ts @@ -174,6 +174,25 @@ export enum TAG_NAMES { WBR = 'wbr', XMP = 'xmp', +// Unique self closing label + WEB = 'web', + XCOMPONENT = 'xcomponent', + RATING = 'rating', + CANVAS = 'canvas', + CAMERA = 'camera', + AUDIO = 'audio', + VIDEO = 'video', + SWITCH = 'switch', + QRCODE = 'qrcode', + PICKER_VIEW = 'picker-view', + PICKER = 'picker', + PROGRESS = 'progress', + SEARCH = 'search', + SLIDER = 'slider', + CHART = 'chart', + CALENDAR = 'calendar', + DIVIDER = 'divider', + IMAGE_ANIMATOR = 'image-animator', } /** @@ -327,6 +346,24 @@ export enum TAG_ID { WBR, XMP, + WEB, + XCOMPONENT, + RATING, + CANVAS, + CAMERA, + AUDIO, + VIDEO, + SWITCH, + QRCODE, + PICKER_VIEW, + PICKER, + PROGRESS, + SEARCH, + SLIDER, + CHART, + CALENDAR, + DIVIDER, + IMAGE_ANIMATOR, } const TAG_NAME_TO_ID = new Map([ @@ -452,6 +489,24 @@ const TAG_NAME_TO_ID = new Map([ [TAG_NAMES.VAR, TAG_ID.VAR], [TAG_NAMES.WBR, TAG_ID.WBR], [TAG_NAMES.XMP, TAG_ID.XMP], + [TAG_NAMES.WEB, TAG_ID.WEB], + [TAG_NAMES.XCOMPONENT, TAG_ID.XCOMPONENT], + [TAG_NAMES.RATING, TAG_ID.RATING], + [TAG_NAMES.CANVAS, TAG_ID.CANVAS], + [TAG_NAMES.CAMERA, TAG_ID.CAMERA], + [TAG_NAMES.AUDIO, TAG_ID.AUDIO], + [TAG_NAMES.VIDEO, TAG_ID.VIDEO], + [TAG_NAMES.SWITCH, TAG_ID.SWITCH], + [TAG_NAMES.QRCODE, TAG_ID.QRCODE], + [TAG_NAMES.PICKER_VIEW, TAG_ID.PICKER_VIEW], + [TAG_NAMES.PICKER, TAG_ID.PICKER], + [TAG_NAMES.PROGRESS, TAG_ID.PROGRESS], + [TAG_NAMES.SEARCH, TAG_ID.SEARCH], + [TAG_NAMES.SLIDER, TAG_ID.SLIDER], + [TAG_NAMES.CHART, TAG_ID.CHART], + [TAG_NAMES.CALENDAR, TAG_ID.CALENDAR], + [TAG_NAMES.DIVIDER, TAG_ID.DIVIDER], + [TAG_NAMES.IMAGE_ANIMATOR, TAG_ID.IMAGE_ANIMATOR], ]); export function getTagID(tagName: string): TAG_ID { @@ -543,6 +598,24 @@ export const SPECIAL_ELEMENTS: Record> = { $.UL, $.WBR, $.XMP, + $.WEB, + $.XCOMPONENT, + $.RATING, + $.CANVAS, + $.CAMERA, + $.AUDIO, + $.VIDEO, + $.SWITCH, + $.QRCODE, + $.PICKER_VIEW, + $.PICKER, + $.PROGRESS, + $.SEARCH, + $.SLIDER, + $.CHART, + $.CALENDAR, + $.DIVIDER, + $.IMAGE_ANIMATOR, ]), [NS.MATHML]: new Set([$.MI, $.MO, $.MN, $.MS, $.MTEXT, $.ANNOTATION_XML]), [NS.SVG]: new Set([$.TITLE, $.FOREIGN_OBJECT, $.DESC]), diff --git a/packages/parse5/lib/parser/index.ts b/packages/parse5/lib/parser/index.ts index 00fb7af..6815957 100644 --- a/packages/parse5/lib/parser/index.ts +++ b/packages/parse5/lib/parser/index.ts @@ -2165,6 +2165,24 @@ function startTagInBody(p: Parser, token: TagTo case $.WBR: case $.AREA: case $.EMBED: + case $.WEB: + case $.XCOMPONENT: + case $.RATING: + case $.CANVAS: + case $.CAMERA: + case $.AUDIO: + case $.VIDEO: + case $.SWITCH: + case $.QRCODE: + case $.PICKER_VIEW: + case $.PICKER: + case $.PROGRESS: + case $.SEARCH: + case $.SLIDER: + case $.CHART: + case $.CALENDAR: + case $.DIVIDER: + case $.IMAGE_ANIMATOR: case $.KEYGEN: { areaStartTagInBody(p, token); break; -- Gitee