vite 4.0.0-alpha.4 → 4.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +31 -39
- package/client.d.ts +24 -0
- package/dist/client/client.mjs +16 -17
- package/dist/client/client.mjs.map +1 -1
- package/dist/node/chunks/{dep-adb60dd8.js → dep-31fe3c68.js} +228 -116
- package/dist/node/chunks/{dep-b73c4a2f.js → dep-68d444d0.js} +1244 -2263
- package/dist/node/chunks/{dep-2ed340b5.js → dep-cabd8261.js} +5438 -5403
- package/dist/node/cli.js +6 -6
- package/dist/node/constants.js +3 -2
- package/dist/node/index.d.ts +18 -3
- package/dist/node/index.js +7 -5
- package/dist/node-cjs/publicUtils.cjs +172 -113
- package/index.cjs +2 -1
- package/package.json +13 -13
- package/types/customEvent.d.ts +1 -0
- package/types/hot.d.ts +3 -3
|
@@ -263,7 +263,8 @@ class Preprocessor {
|
|
|
263
263
|
this.endOfChunkHit = !this.lastChunkWritten;
|
|
264
264
|
return CODE_POINTS.EOF;
|
|
265
265
|
}
|
|
266
|
-
|
|
266
|
+
const code = this.html.charCodeAt(pos);
|
|
267
|
+
return code === CODE_POINTS.CARRIAGE_RETURN ? CODE_POINTS.LINE_FEED : code;
|
|
267
268
|
}
|
|
268
269
|
advance() {
|
|
269
270
|
this.pos++;
|
|
@@ -3191,7 +3192,7 @@ class Tokenizer {
|
|
|
3191
3192
|
this._emitEOFToken();
|
|
3192
3193
|
break;
|
|
3193
3194
|
}
|
|
3194
|
-
default:
|
|
3195
|
+
default: {
|
|
3195
3196
|
if (this._consumeSequenceIfMatch(SEQUENCES.PUBLIC, false)) {
|
|
3196
3197
|
this.state = State.AFTER_DOCTYPE_PUBLIC_KEYWORD;
|
|
3197
3198
|
}
|
|
@@ -3206,6 +3207,7 @@ class Tokenizer {
|
|
|
3206
3207
|
this.state = State.BOGUS_DOCTYPE;
|
|
3207
3208
|
this._stateBogusDoctype(cp);
|
|
3208
3209
|
}
|
|
3210
|
+
}
|
|
3209
3211
|
}
|
|
3210
3212
|
}
|
|
3211
3213
|
// After DOCTYPE public keyword state
|
|
@@ -3894,6 +3896,9 @@ const TABLE_CONTEXT = [TAG_ID.TABLE, TAG_ID.TEMPLATE, TAG_ID.HTML];
|
|
|
3894
3896
|
const TABLE_CELLS = [TAG_ID.TD, TAG_ID.TH];
|
|
3895
3897
|
//Stack of open elements
|
|
3896
3898
|
class OpenElementStack {
|
|
3899
|
+
get currentTmplContentOrNode() {
|
|
3900
|
+
return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
|
|
3901
|
+
}
|
|
3897
3902
|
constructor(document, treeAdapter, handler) {
|
|
3898
3903
|
this.treeAdapter = treeAdapter;
|
|
3899
3904
|
this.handler = handler;
|
|
@@ -3904,9 +3909,6 @@ class OpenElementStack {
|
|
|
3904
3909
|
this.currentTagId = TAG_ID.UNKNOWN;
|
|
3905
3910
|
this.current = document;
|
|
3906
3911
|
}
|
|
3907
|
-
get currentTmplContentOrNode() {
|
|
3908
|
-
return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
|
|
3909
|
-
}
|
|
3910
3912
|
//Index of element
|
|
3911
3913
|
_indexOf(element) {
|
|
3912
3914
|
return this.items.lastIndexOf(element, this.stackTop);
|
|
@@ -5253,51 +5255,63 @@ class Parser {
|
|
|
5253
5255
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
5254
5256
|
//Insertion mode reset map
|
|
5255
5257
|
switch (i === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[i]) {
|
|
5256
|
-
case TAG_ID.TR:
|
|
5258
|
+
case TAG_ID.TR: {
|
|
5257
5259
|
this.insertionMode = InsertionMode.IN_ROW;
|
|
5258
5260
|
return;
|
|
5261
|
+
}
|
|
5259
5262
|
case TAG_ID.TBODY:
|
|
5260
5263
|
case TAG_ID.THEAD:
|
|
5261
|
-
case TAG_ID.TFOOT:
|
|
5264
|
+
case TAG_ID.TFOOT: {
|
|
5262
5265
|
this.insertionMode = InsertionMode.IN_TABLE_BODY;
|
|
5263
5266
|
return;
|
|
5264
|
-
|
|
5267
|
+
}
|
|
5268
|
+
case TAG_ID.CAPTION: {
|
|
5265
5269
|
this.insertionMode = InsertionMode.IN_CAPTION;
|
|
5266
5270
|
return;
|
|
5267
|
-
|
|
5271
|
+
}
|
|
5272
|
+
case TAG_ID.COLGROUP: {
|
|
5268
5273
|
this.insertionMode = InsertionMode.IN_COLUMN_GROUP;
|
|
5269
5274
|
return;
|
|
5270
|
-
|
|
5275
|
+
}
|
|
5276
|
+
case TAG_ID.TABLE: {
|
|
5271
5277
|
this.insertionMode = InsertionMode.IN_TABLE;
|
|
5272
5278
|
return;
|
|
5273
|
-
|
|
5279
|
+
}
|
|
5280
|
+
case TAG_ID.BODY: {
|
|
5274
5281
|
this.insertionMode = InsertionMode.IN_BODY;
|
|
5275
5282
|
return;
|
|
5276
|
-
|
|
5283
|
+
}
|
|
5284
|
+
case TAG_ID.FRAMESET: {
|
|
5277
5285
|
this.insertionMode = InsertionMode.IN_FRAMESET;
|
|
5278
5286
|
return;
|
|
5279
|
-
|
|
5287
|
+
}
|
|
5288
|
+
case TAG_ID.SELECT: {
|
|
5280
5289
|
this._resetInsertionModeForSelect(i);
|
|
5281
5290
|
return;
|
|
5282
|
-
|
|
5291
|
+
}
|
|
5292
|
+
case TAG_ID.TEMPLATE: {
|
|
5283
5293
|
this.insertionMode = this.tmplInsertionModeStack[0];
|
|
5284
5294
|
return;
|
|
5285
|
-
|
|
5295
|
+
}
|
|
5296
|
+
case TAG_ID.HTML: {
|
|
5286
5297
|
this.insertionMode = this.headElement ? InsertionMode.AFTER_HEAD : InsertionMode.BEFORE_HEAD;
|
|
5287
5298
|
return;
|
|
5299
|
+
}
|
|
5288
5300
|
case TAG_ID.TD:
|
|
5289
|
-
case TAG_ID.TH:
|
|
5301
|
+
case TAG_ID.TH: {
|
|
5290
5302
|
if (i > 0) {
|
|
5291
5303
|
this.insertionMode = InsertionMode.IN_CELL;
|
|
5292
5304
|
return;
|
|
5293
5305
|
}
|
|
5294
5306
|
break;
|
|
5295
|
-
|
|
5307
|
+
}
|
|
5308
|
+
case TAG_ID.HEAD: {
|
|
5296
5309
|
if (i > 0) {
|
|
5297
5310
|
this.insertionMode = InsertionMode.IN_HEAD;
|
|
5298
5311
|
return;
|
|
5299
5312
|
}
|
|
5300
5313
|
break;
|
|
5314
|
+
}
|
|
5301
5315
|
}
|
|
5302
5316
|
}
|
|
5303
5317
|
this.insertionMode = InsertionMode.IN_BODY;
|
|
@@ -5328,11 +5342,12 @@ class Parser {
|
|
|
5328
5342
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
5329
5343
|
const openElement = this.openElements.items[i];
|
|
5330
5344
|
switch (this.openElements.tagIDs[i]) {
|
|
5331
|
-
case TAG_ID.TEMPLATE:
|
|
5345
|
+
case TAG_ID.TEMPLATE: {
|
|
5332
5346
|
if (this.treeAdapter.getNamespaceURI(openElement) === NS.HTML) {
|
|
5333
5347
|
return { parent: this.treeAdapter.getTemplateContent(openElement), beforeElement: null };
|
|
5334
5348
|
}
|
|
5335
5349
|
break;
|
|
5350
|
+
}
|
|
5336
5351
|
case TAG_ID.TABLE: {
|
|
5337
5352
|
const parent = this.treeAdapter.getParentNode(openElement);
|
|
5338
5353
|
if (parent) {
|
|
@@ -5366,52 +5381,65 @@ class Parser {
|
|
|
5366
5381
|
return;
|
|
5367
5382
|
}
|
|
5368
5383
|
switch (this.insertionMode) {
|
|
5369
|
-
case InsertionMode.INITIAL:
|
|
5384
|
+
case InsertionMode.INITIAL: {
|
|
5370
5385
|
tokenInInitialMode(this, token);
|
|
5371
5386
|
break;
|
|
5372
|
-
|
|
5387
|
+
}
|
|
5388
|
+
case InsertionMode.BEFORE_HTML: {
|
|
5373
5389
|
tokenBeforeHtml(this, token);
|
|
5374
5390
|
break;
|
|
5375
|
-
|
|
5391
|
+
}
|
|
5392
|
+
case InsertionMode.BEFORE_HEAD: {
|
|
5376
5393
|
tokenBeforeHead(this, token);
|
|
5377
5394
|
break;
|
|
5378
|
-
|
|
5395
|
+
}
|
|
5396
|
+
case InsertionMode.IN_HEAD: {
|
|
5379
5397
|
tokenInHead(this, token);
|
|
5380
5398
|
break;
|
|
5381
|
-
|
|
5399
|
+
}
|
|
5400
|
+
case InsertionMode.IN_HEAD_NO_SCRIPT: {
|
|
5382
5401
|
tokenInHeadNoScript(this, token);
|
|
5383
5402
|
break;
|
|
5384
|
-
|
|
5403
|
+
}
|
|
5404
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5385
5405
|
tokenAfterHead(this, token);
|
|
5386
5406
|
break;
|
|
5407
|
+
}
|
|
5387
5408
|
case InsertionMode.IN_BODY:
|
|
5388
5409
|
case InsertionMode.IN_CAPTION:
|
|
5389
5410
|
case InsertionMode.IN_CELL:
|
|
5390
|
-
case InsertionMode.IN_TEMPLATE:
|
|
5411
|
+
case InsertionMode.IN_TEMPLATE: {
|
|
5391
5412
|
characterInBody(this, token);
|
|
5392
5413
|
break;
|
|
5414
|
+
}
|
|
5393
5415
|
case InsertionMode.TEXT:
|
|
5394
5416
|
case InsertionMode.IN_SELECT:
|
|
5395
|
-
case InsertionMode.IN_SELECT_IN_TABLE:
|
|
5417
|
+
case InsertionMode.IN_SELECT_IN_TABLE: {
|
|
5396
5418
|
this._insertCharacters(token);
|
|
5397
5419
|
break;
|
|
5420
|
+
}
|
|
5398
5421
|
case InsertionMode.IN_TABLE:
|
|
5399
5422
|
case InsertionMode.IN_TABLE_BODY:
|
|
5400
|
-
case InsertionMode.IN_ROW:
|
|
5423
|
+
case InsertionMode.IN_ROW: {
|
|
5401
5424
|
characterInTable(this, token);
|
|
5402
5425
|
break;
|
|
5403
|
-
|
|
5426
|
+
}
|
|
5427
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5404
5428
|
characterInTableText(this, token);
|
|
5405
5429
|
break;
|
|
5406
|
-
|
|
5430
|
+
}
|
|
5431
|
+
case InsertionMode.IN_COLUMN_GROUP: {
|
|
5407
5432
|
tokenInColumnGroup(this, token);
|
|
5408
5433
|
break;
|
|
5409
|
-
|
|
5434
|
+
}
|
|
5435
|
+
case InsertionMode.AFTER_BODY: {
|
|
5410
5436
|
tokenAfterBody(this, token);
|
|
5411
5437
|
break;
|
|
5412
|
-
|
|
5438
|
+
}
|
|
5439
|
+
case InsertionMode.AFTER_AFTER_BODY: {
|
|
5413
5440
|
tokenAfterAfterBody(this, token);
|
|
5414
5441
|
break;
|
|
5442
|
+
}
|
|
5415
5443
|
// Do nothing
|
|
5416
5444
|
}
|
|
5417
5445
|
}
|
|
@@ -5422,41 +5450,52 @@ class Parser {
|
|
|
5422
5450
|
return;
|
|
5423
5451
|
}
|
|
5424
5452
|
switch (this.insertionMode) {
|
|
5425
|
-
case InsertionMode.INITIAL:
|
|
5453
|
+
case InsertionMode.INITIAL: {
|
|
5426
5454
|
tokenInInitialMode(this, token);
|
|
5427
5455
|
break;
|
|
5428
|
-
|
|
5456
|
+
}
|
|
5457
|
+
case InsertionMode.BEFORE_HTML: {
|
|
5429
5458
|
tokenBeforeHtml(this, token);
|
|
5430
5459
|
break;
|
|
5431
|
-
|
|
5460
|
+
}
|
|
5461
|
+
case InsertionMode.BEFORE_HEAD: {
|
|
5432
5462
|
tokenBeforeHead(this, token);
|
|
5433
5463
|
break;
|
|
5434
|
-
|
|
5464
|
+
}
|
|
5465
|
+
case InsertionMode.IN_HEAD: {
|
|
5435
5466
|
tokenInHead(this, token);
|
|
5436
5467
|
break;
|
|
5437
|
-
|
|
5468
|
+
}
|
|
5469
|
+
case InsertionMode.IN_HEAD_NO_SCRIPT: {
|
|
5438
5470
|
tokenInHeadNoScript(this, token);
|
|
5439
5471
|
break;
|
|
5440
|
-
|
|
5472
|
+
}
|
|
5473
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5441
5474
|
tokenAfterHead(this, token);
|
|
5442
5475
|
break;
|
|
5443
|
-
|
|
5476
|
+
}
|
|
5477
|
+
case InsertionMode.TEXT: {
|
|
5444
5478
|
this._insertCharacters(token);
|
|
5445
5479
|
break;
|
|
5480
|
+
}
|
|
5446
5481
|
case InsertionMode.IN_TABLE:
|
|
5447
5482
|
case InsertionMode.IN_TABLE_BODY:
|
|
5448
|
-
case InsertionMode.IN_ROW:
|
|
5483
|
+
case InsertionMode.IN_ROW: {
|
|
5449
5484
|
characterInTable(this, token);
|
|
5450
5485
|
break;
|
|
5451
|
-
|
|
5486
|
+
}
|
|
5487
|
+
case InsertionMode.IN_COLUMN_GROUP: {
|
|
5452
5488
|
tokenInColumnGroup(this, token);
|
|
5453
5489
|
break;
|
|
5454
|
-
|
|
5490
|
+
}
|
|
5491
|
+
case InsertionMode.AFTER_BODY: {
|
|
5455
5492
|
tokenAfterBody(this, token);
|
|
5456
5493
|
break;
|
|
5457
|
-
|
|
5494
|
+
}
|
|
5495
|
+
case InsertionMode.AFTER_AFTER_BODY: {
|
|
5458
5496
|
tokenAfterAfterBody(this, token);
|
|
5459
5497
|
break;
|
|
5498
|
+
}
|
|
5460
5499
|
// Do nothing
|
|
5461
5500
|
}
|
|
5462
5501
|
}
|
|
@@ -5484,37 +5523,44 @@ class Parser {
|
|
|
5484
5523
|
case InsertionMode.IN_SELECT_IN_TABLE:
|
|
5485
5524
|
case InsertionMode.IN_TEMPLATE:
|
|
5486
5525
|
case InsertionMode.IN_FRAMESET:
|
|
5487
|
-
case InsertionMode.AFTER_FRAMESET:
|
|
5526
|
+
case InsertionMode.AFTER_FRAMESET: {
|
|
5488
5527
|
appendComment(this, token);
|
|
5489
5528
|
break;
|
|
5490
|
-
|
|
5529
|
+
}
|
|
5530
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5491
5531
|
tokenInTableText(this, token);
|
|
5492
5532
|
break;
|
|
5493
|
-
|
|
5533
|
+
}
|
|
5534
|
+
case InsertionMode.AFTER_BODY: {
|
|
5494
5535
|
appendCommentToRootHtmlElement(this, token);
|
|
5495
5536
|
break;
|
|
5537
|
+
}
|
|
5496
5538
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
5497
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
5539
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: {
|
|
5498
5540
|
appendCommentToDocument(this, token);
|
|
5499
5541
|
break;
|
|
5542
|
+
}
|
|
5500
5543
|
// Do nothing
|
|
5501
5544
|
}
|
|
5502
5545
|
}
|
|
5503
5546
|
onDoctype(token) {
|
|
5504
5547
|
this.skipNextNewLine = false;
|
|
5505
5548
|
switch (this.insertionMode) {
|
|
5506
|
-
case InsertionMode.INITIAL:
|
|
5549
|
+
case InsertionMode.INITIAL: {
|
|
5507
5550
|
doctypeInInitialMode(this, token);
|
|
5508
5551
|
break;
|
|
5552
|
+
}
|
|
5509
5553
|
case InsertionMode.BEFORE_HEAD:
|
|
5510
5554
|
case InsertionMode.IN_HEAD:
|
|
5511
5555
|
case InsertionMode.IN_HEAD_NO_SCRIPT:
|
|
5512
|
-
case InsertionMode.AFTER_HEAD:
|
|
5556
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5513
5557
|
this._err(token, ERR.misplacedDoctype);
|
|
5514
5558
|
break;
|
|
5515
|
-
|
|
5559
|
+
}
|
|
5560
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5516
5561
|
tokenInTableText(this, token);
|
|
5517
5562
|
break;
|
|
5563
|
+
}
|
|
5518
5564
|
// Do nothing
|
|
5519
5565
|
}
|
|
5520
5566
|
}
|
|
@@ -5546,72 +5592,94 @@ class Parser {
|
|
|
5546
5592
|
}
|
|
5547
5593
|
_startTagOutsideForeignContent(token) {
|
|
5548
5594
|
switch (this.insertionMode) {
|
|
5549
|
-
case InsertionMode.INITIAL:
|
|
5595
|
+
case InsertionMode.INITIAL: {
|
|
5550
5596
|
tokenInInitialMode(this, token);
|
|
5551
5597
|
break;
|
|
5552
|
-
|
|
5598
|
+
}
|
|
5599
|
+
case InsertionMode.BEFORE_HTML: {
|
|
5553
5600
|
startTagBeforeHtml(this, token);
|
|
5554
5601
|
break;
|
|
5555
|
-
|
|
5602
|
+
}
|
|
5603
|
+
case InsertionMode.BEFORE_HEAD: {
|
|
5556
5604
|
startTagBeforeHead(this, token);
|
|
5557
5605
|
break;
|
|
5558
|
-
|
|
5606
|
+
}
|
|
5607
|
+
case InsertionMode.IN_HEAD: {
|
|
5559
5608
|
startTagInHead(this, token);
|
|
5560
5609
|
break;
|
|
5561
|
-
|
|
5610
|
+
}
|
|
5611
|
+
case InsertionMode.IN_HEAD_NO_SCRIPT: {
|
|
5562
5612
|
startTagInHeadNoScript(this, token);
|
|
5563
5613
|
break;
|
|
5564
|
-
|
|
5614
|
+
}
|
|
5615
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5565
5616
|
startTagAfterHead(this, token);
|
|
5566
5617
|
break;
|
|
5567
|
-
|
|
5618
|
+
}
|
|
5619
|
+
case InsertionMode.IN_BODY: {
|
|
5568
5620
|
startTagInBody(this, token);
|
|
5569
5621
|
break;
|
|
5570
|
-
|
|
5622
|
+
}
|
|
5623
|
+
case InsertionMode.IN_TABLE: {
|
|
5571
5624
|
startTagInTable(this, token);
|
|
5572
5625
|
break;
|
|
5573
|
-
|
|
5626
|
+
}
|
|
5627
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5574
5628
|
tokenInTableText(this, token);
|
|
5575
5629
|
break;
|
|
5576
|
-
|
|
5630
|
+
}
|
|
5631
|
+
case InsertionMode.IN_CAPTION: {
|
|
5577
5632
|
startTagInCaption(this, token);
|
|
5578
5633
|
break;
|
|
5579
|
-
|
|
5634
|
+
}
|
|
5635
|
+
case InsertionMode.IN_COLUMN_GROUP: {
|
|
5580
5636
|
startTagInColumnGroup(this, token);
|
|
5581
5637
|
break;
|
|
5582
|
-
|
|
5638
|
+
}
|
|
5639
|
+
case InsertionMode.IN_TABLE_BODY: {
|
|
5583
5640
|
startTagInTableBody(this, token);
|
|
5584
5641
|
break;
|
|
5585
|
-
|
|
5642
|
+
}
|
|
5643
|
+
case InsertionMode.IN_ROW: {
|
|
5586
5644
|
startTagInRow(this, token);
|
|
5587
5645
|
break;
|
|
5588
|
-
|
|
5646
|
+
}
|
|
5647
|
+
case InsertionMode.IN_CELL: {
|
|
5589
5648
|
startTagInCell(this, token);
|
|
5590
5649
|
break;
|
|
5591
|
-
|
|
5650
|
+
}
|
|
5651
|
+
case InsertionMode.IN_SELECT: {
|
|
5592
5652
|
startTagInSelect(this, token);
|
|
5593
5653
|
break;
|
|
5594
|
-
|
|
5654
|
+
}
|
|
5655
|
+
case InsertionMode.IN_SELECT_IN_TABLE: {
|
|
5595
5656
|
startTagInSelectInTable(this, token);
|
|
5596
5657
|
break;
|
|
5597
|
-
|
|
5658
|
+
}
|
|
5659
|
+
case InsertionMode.IN_TEMPLATE: {
|
|
5598
5660
|
startTagInTemplate(this, token);
|
|
5599
5661
|
break;
|
|
5600
|
-
|
|
5662
|
+
}
|
|
5663
|
+
case InsertionMode.AFTER_BODY: {
|
|
5601
5664
|
startTagAfterBody(this, token);
|
|
5602
5665
|
break;
|
|
5603
|
-
|
|
5666
|
+
}
|
|
5667
|
+
case InsertionMode.IN_FRAMESET: {
|
|
5604
5668
|
startTagInFrameset(this, token);
|
|
5605
5669
|
break;
|
|
5606
|
-
|
|
5670
|
+
}
|
|
5671
|
+
case InsertionMode.AFTER_FRAMESET: {
|
|
5607
5672
|
startTagAfterFrameset(this, token);
|
|
5608
5673
|
break;
|
|
5609
|
-
|
|
5674
|
+
}
|
|
5675
|
+
case InsertionMode.AFTER_AFTER_BODY: {
|
|
5610
5676
|
startTagAfterAfterBody(this, token);
|
|
5611
5677
|
break;
|
|
5612
|
-
|
|
5678
|
+
}
|
|
5679
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: {
|
|
5613
5680
|
startTagAfterAfterFrameset(this, token);
|
|
5614
5681
|
break;
|
|
5682
|
+
}
|
|
5615
5683
|
// Do nothing
|
|
5616
5684
|
}
|
|
5617
5685
|
}
|
|
@@ -5627,95 +5695,123 @@ class Parser {
|
|
|
5627
5695
|
}
|
|
5628
5696
|
_endTagOutsideForeignContent(token) {
|
|
5629
5697
|
switch (this.insertionMode) {
|
|
5630
|
-
case InsertionMode.INITIAL:
|
|
5698
|
+
case InsertionMode.INITIAL: {
|
|
5631
5699
|
tokenInInitialMode(this, token);
|
|
5632
5700
|
break;
|
|
5633
|
-
|
|
5701
|
+
}
|
|
5702
|
+
case InsertionMode.BEFORE_HTML: {
|
|
5634
5703
|
endTagBeforeHtml(this, token);
|
|
5635
5704
|
break;
|
|
5636
|
-
|
|
5705
|
+
}
|
|
5706
|
+
case InsertionMode.BEFORE_HEAD: {
|
|
5637
5707
|
endTagBeforeHead(this, token);
|
|
5638
5708
|
break;
|
|
5639
|
-
|
|
5709
|
+
}
|
|
5710
|
+
case InsertionMode.IN_HEAD: {
|
|
5640
5711
|
endTagInHead(this, token);
|
|
5641
5712
|
break;
|
|
5642
|
-
|
|
5713
|
+
}
|
|
5714
|
+
case InsertionMode.IN_HEAD_NO_SCRIPT: {
|
|
5643
5715
|
endTagInHeadNoScript(this, token);
|
|
5644
5716
|
break;
|
|
5645
|
-
|
|
5717
|
+
}
|
|
5718
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5646
5719
|
endTagAfterHead(this, token);
|
|
5647
5720
|
break;
|
|
5648
|
-
|
|
5721
|
+
}
|
|
5722
|
+
case InsertionMode.IN_BODY: {
|
|
5649
5723
|
endTagInBody(this, token);
|
|
5650
5724
|
break;
|
|
5651
|
-
|
|
5725
|
+
}
|
|
5726
|
+
case InsertionMode.TEXT: {
|
|
5652
5727
|
endTagInText(this, token);
|
|
5653
5728
|
break;
|
|
5654
|
-
|
|
5729
|
+
}
|
|
5730
|
+
case InsertionMode.IN_TABLE: {
|
|
5655
5731
|
endTagInTable(this, token);
|
|
5656
5732
|
break;
|
|
5657
|
-
|
|
5733
|
+
}
|
|
5734
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5658
5735
|
tokenInTableText(this, token);
|
|
5659
5736
|
break;
|
|
5660
|
-
|
|
5737
|
+
}
|
|
5738
|
+
case InsertionMode.IN_CAPTION: {
|
|
5661
5739
|
endTagInCaption(this, token);
|
|
5662
5740
|
break;
|
|
5663
|
-
|
|
5741
|
+
}
|
|
5742
|
+
case InsertionMode.IN_COLUMN_GROUP: {
|
|
5664
5743
|
endTagInColumnGroup(this, token);
|
|
5665
5744
|
break;
|
|
5666
|
-
|
|
5745
|
+
}
|
|
5746
|
+
case InsertionMode.IN_TABLE_BODY: {
|
|
5667
5747
|
endTagInTableBody(this, token);
|
|
5668
5748
|
break;
|
|
5669
|
-
|
|
5749
|
+
}
|
|
5750
|
+
case InsertionMode.IN_ROW: {
|
|
5670
5751
|
endTagInRow(this, token);
|
|
5671
5752
|
break;
|
|
5672
|
-
|
|
5753
|
+
}
|
|
5754
|
+
case InsertionMode.IN_CELL: {
|
|
5673
5755
|
endTagInCell(this, token);
|
|
5674
5756
|
break;
|
|
5675
|
-
|
|
5757
|
+
}
|
|
5758
|
+
case InsertionMode.IN_SELECT: {
|
|
5676
5759
|
endTagInSelect(this, token);
|
|
5677
5760
|
break;
|
|
5678
|
-
|
|
5761
|
+
}
|
|
5762
|
+
case InsertionMode.IN_SELECT_IN_TABLE: {
|
|
5679
5763
|
endTagInSelectInTable(this, token);
|
|
5680
5764
|
break;
|
|
5681
|
-
|
|
5765
|
+
}
|
|
5766
|
+
case InsertionMode.IN_TEMPLATE: {
|
|
5682
5767
|
endTagInTemplate(this, token);
|
|
5683
5768
|
break;
|
|
5684
|
-
|
|
5769
|
+
}
|
|
5770
|
+
case InsertionMode.AFTER_BODY: {
|
|
5685
5771
|
endTagAfterBody(this, token);
|
|
5686
5772
|
break;
|
|
5687
|
-
|
|
5773
|
+
}
|
|
5774
|
+
case InsertionMode.IN_FRAMESET: {
|
|
5688
5775
|
endTagInFrameset(this, token);
|
|
5689
5776
|
break;
|
|
5690
|
-
|
|
5777
|
+
}
|
|
5778
|
+
case InsertionMode.AFTER_FRAMESET: {
|
|
5691
5779
|
endTagAfterFrameset(this, token);
|
|
5692
5780
|
break;
|
|
5693
|
-
|
|
5781
|
+
}
|
|
5782
|
+
case InsertionMode.AFTER_AFTER_BODY: {
|
|
5694
5783
|
tokenAfterAfterBody(this, token);
|
|
5695
5784
|
break;
|
|
5785
|
+
}
|
|
5696
5786
|
// Do nothing
|
|
5697
5787
|
}
|
|
5698
5788
|
}
|
|
5699
5789
|
onEof(token) {
|
|
5700
5790
|
switch (this.insertionMode) {
|
|
5701
|
-
case InsertionMode.INITIAL:
|
|
5791
|
+
case InsertionMode.INITIAL: {
|
|
5702
5792
|
tokenInInitialMode(this, token);
|
|
5703
5793
|
break;
|
|
5704
|
-
|
|
5794
|
+
}
|
|
5795
|
+
case InsertionMode.BEFORE_HTML: {
|
|
5705
5796
|
tokenBeforeHtml(this, token);
|
|
5706
5797
|
break;
|
|
5707
|
-
|
|
5798
|
+
}
|
|
5799
|
+
case InsertionMode.BEFORE_HEAD: {
|
|
5708
5800
|
tokenBeforeHead(this, token);
|
|
5709
5801
|
break;
|
|
5710
|
-
|
|
5802
|
+
}
|
|
5803
|
+
case InsertionMode.IN_HEAD: {
|
|
5711
5804
|
tokenInHead(this, token);
|
|
5712
5805
|
break;
|
|
5713
|
-
|
|
5806
|
+
}
|
|
5807
|
+
case InsertionMode.IN_HEAD_NO_SCRIPT: {
|
|
5714
5808
|
tokenInHeadNoScript(this, token);
|
|
5715
5809
|
break;
|
|
5716
|
-
|
|
5810
|
+
}
|
|
5811
|
+
case InsertionMode.AFTER_HEAD: {
|
|
5717
5812
|
tokenAfterHead(this, token);
|
|
5718
5813
|
break;
|
|
5814
|
+
}
|
|
5719
5815
|
case InsertionMode.IN_BODY:
|
|
5720
5816
|
case InsertionMode.IN_TABLE:
|
|
5721
5817
|
case InsertionMode.IN_CAPTION:
|
|
@@ -5724,25 +5820,30 @@ class Parser {
|
|
|
5724
5820
|
case InsertionMode.IN_ROW:
|
|
5725
5821
|
case InsertionMode.IN_CELL:
|
|
5726
5822
|
case InsertionMode.IN_SELECT:
|
|
5727
|
-
case InsertionMode.IN_SELECT_IN_TABLE:
|
|
5823
|
+
case InsertionMode.IN_SELECT_IN_TABLE: {
|
|
5728
5824
|
eofInBody(this, token);
|
|
5729
5825
|
break;
|
|
5730
|
-
|
|
5826
|
+
}
|
|
5827
|
+
case InsertionMode.TEXT: {
|
|
5731
5828
|
eofInText(this, token);
|
|
5732
5829
|
break;
|
|
5733
|
-
|
|
5830
|
+
}
|
|
5831
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5734
5832
|
tokenInTableText(this, token);
|
|
5735
5833
|
break;
|
|
5736
|
-
|
|
5834
|
+
}
|
|
5835
|
+
case InsertionMode.IN_TEMPLATE: {
|
|
5737
5836
|
eofInTemplate(this, token);
|
|
5738
5837
|
break;
|
|
5838
|
+
}
|
|
5739
5839
|
case InsertionMode.AFTER_BODY:
|
|
5740
5840
|
case InsertionMode.IN_FRAMESET:
|
|
5741
5841
|
case InsertionMode.AFTER_FRAMESET:
|
|
5742
5842
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
5743
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
5843
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: {
|
|
5744
5844
|
stopParsing(this, token);
|
|
5745
5845
|
break;
|
|
5846
|
+
}
|
|
5746
5847
|
// Do nothing
|
|
5747
5848
|
}
|
|
5748
5849
|
}
|
|
@@ -5769,26 +5870,30 @@ class Parser {
|
|
|
5769
5870
|
case InsertionMode.IN_SELECT:
|
|
5770
5871
|
case InsertionMode.IN_SELECT_IN_TABLE:
|
|
5771
5872
|
case InsertionMode.IN_FRAMESET:
|
|
5772
|
-
case InsertionMode.AFTER_FRAMESET:
|
|
5873
|
+
case InsertionMode.AFTER_FRAMESET: {
|
|
5773
5874
|
this._insertCharacters(token);
|
|
5774
5875
|
break;
|
|
5876
|
+
}
|
|
5775
5877
|
case InsertionMode.IN_BODY:
|
|
5776
5878
|
case InsertionMode.IN_CAPTION:
|
|
5777
5879
|
case InsertionMode.IN_CELL:
|
|
5778
5880
|
case InsertionMode.IN_TEMPLATE:
|
|
5779
5881
|
case InsertionMode.AFTER_BODY:
|
|
5780
5882
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
5781
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
5883
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: {
|
|
5782
5884
|
whitespaceCharacterInBody(this, token);
|
|
5783
5885
|
break;
|
|
5886
|
+
}
|
|
5784
5887
|
case InsertionMode.IN_TABLE:
|
|
5785
5888
|
case InsertionMode.IN_TABLE_BODY:
|
|
5786
|
-
case InsertionMode.IN_ROW:
|
|
5889
|
+
case InsertionMode.IN_ROW: {
|
|
5787
5890
|
characterInTable(this, token);
|
|
5788
5891
|
break;
|
|
5789
|
-
|
|
5892
|
+
}
|
|
5893
|
+
case InsertionMode.IN_TABLE_TEXT: {
|
|
5790
5894
|
whitespaceCharacterInTableText(this, token);
|
|
5791
5895
|
break;
|
|
5896
|
+
}
|
|
5792
5897
|
// Do nothing
|
|
5793
5898
|
}
|
|
5794
5899
|
}
|
|
@@ -7416,8 +7521,9 @@ function endTagInRow(p, token) {
|
|
|
7416
7521
|
// Ignore end tag
|
|
7417
7522
|
break;
|
|
7418
7523
|
}
|
|
7419
|
-
default:
|
|
7524
|
+
default: {
|
|
7420
7525
|
endTagInTable(p, token);
|
|
7526
|
+
}
|
|
7421
7527
|
}
|
|
7422
7528
|
}
|
|
7423
7529
|
// The "in cell" insertion mode
|
|
@@ -7604,39 +7710,45 @@ function startTagInTemplate(p, token) {
|
|
|
7604
7710
|
case TAG_ID.SCRIPT:
|
|
7605
7711
|
case TAG_ID.STYLE:
|
|
7606
7712
|
case TAG_ID.TEMPLATE:
|
|
7607
|
-
case TAG_ID.TITLE:
|
|
7713
|
+
case TAG_ID.TITLE: {
|
|
7608
7714
|
startTagInHead(p, token);
|
|
7609
7715
|
break;
|
|
7716
|
+
}
|
|
7610
7717
|
// Re-process the token in the appropriate mode
|
|
7611
7718
|
case TAG_ID.CAPTION:
|
|
7612
7719
|
case TAG_ID.COLGROUP:
|
|
7613
7720
|
case TAG_ID.TBODY:
|
|
7614
7721
|
case TAG_ID.TFOOT:
|
|
7615
|
-
case TAG_ID.THEAD:
|
|
7722
|
+
case TAG_ID.THEAD: {
|
|
7616
7723
|
p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE;
|
|
7617
7724
|
p.insertionMode = InsertionMode.IN_TABLE;
|
|
7618
7725
|
startTagInTable(p, token);
|
|
7619
7726
|
break;
|
|
7620
|
-
|
|
7727
|
+
}
|
|
7728
|
+
case TAG_ID.COL: {
|
|
7621
7729
|
p.tmplInsertionModeStack[0] = InsertionMode.IN_COLUMN_GROUP;
|
|
7622
7730
|
p.insertionMode = InsertionMode.IN_COLUMN_GROUP;
|
|
7623
7731
|
startTagInColumnGroup(p, token);
|
|
7624
7732
|
break;
|
|
7625
|
-
|
|
7733
|
+
}
|
|
7734
|
+
case TAG_ID.TR: {
|
|
7626
7735
|
p.tmplInsertionModeStack[0] = InsertionMode.IN_TABLE_BODY;
|
|
7627
7736
|
p.insertionMode = InsertionMode.IN_TABLE_BODY;
|
|
7628
7737
|
startTagInTableBody(p, token);
|
|
7629
7738
|
break;
|
|
7739
|
+
}
|
|
7630
7740
|
case TAG_ID.TD:
|
|
7631
|
-
case TAG_ID.TH:
|
|
7741
|
+
case TAG_ID.TH: {
|
|
7632
7742
|
p.tmplInsertionModeStack[0] = InsertionMode.IN_ROW;
|
|
7633
7743
|
p.insertionMode = InsertionMode.IN_ROW;
|
|
7634
7744
|
startTagInRow(p, token);
|
|
7635
7745
|
break;
|
|
7636
|
-
|
|
7746
|
+
}
|
|
7747
|
+
default: {
|
|
7637
7748
|
p.tmplInsertionModeStack[0] = InsertionMode.IN_BODY;
|
|
7638
7749
|
p.insertionMode = InsertionMode.IN_BODY;
|
|
7639
7750
|
startTagInBody(p, token);
|
|
7751
|
+
}
|
|
7640
7752
|
}
|
|
7641
7753
|
}
|
|
7642
7754
|
function endTagInTemplate(p, token) {
|
|
@@ -8073,4 +8185,4 @@ function parseFragment(fragmentContext, html, options) {
|
|
|
8073
8185
|
return parser.getFragment();
|
|
8074
8186
|
}
|
|
8075
8187
|
|
|
8076
|
-
export { Parser, token as Token, Tokenizer, TokenizerMode, defaultTreeAdapter, foreignContent, html, parse, parseFragment, serialize, serializeOuter };
|
|
8188
|
+
export { ERR as ErrorCodes, Parser, token as Token, Tokenizer, TokenizerMode, defaultTreeAdapter, foreignContent, html, parse, parseFragment, serialize, serializeOuter };
|