From bc0a1f7627a66ad37bc15afd9cbb4a5dee7dd8e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20B=C3=B6hm?= <188768+fb55@users.noreply.github.com> Date: Sat, 5 Feb 2022 08:43:17 -0600 Subject: [PATCH] Add new stack top as an additional parameter for `onItemPop` --- packages/parse5/lib/parser/index.test.ts | 2 +- packages/parse5/lib/parser/index.ts | 2 +- packages/parse5/lib/tree-adapters/interface.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/parse5/lib/parser/index.test.ts b/packages/parse5/lib/parser/index.test.ts index e6a692f22..407ad8d07 100644 --- a/packages/parse5/lib/parser/index.test.ts +++ b/packages/parse5/lib/parser/index.test.ts @@ -122,7 +122,7 @@ describe('parser', () => { expect(onItemPush).toHaveBeenNthCalledWith(3, bodyElement); expect(onItemPush).toHaveBeenLastCalledWith(bodyElement.childNodes[1]); expect(onItemPop).toHaveBeenCalledTimes(2); - expect(onItemPop).toHaveBeenLastCalledWith(bodyElement.childNodes[0]); + expect(onItemPop).toHaveBeenLastCalledWith(bodyElement.childNodes[0], bodyElement); }); }); }); diff --git a/packages/parse5/lib/parser/index.ts b/packages/parse5/lib/parser/index.ts index 6a87e421f..97b528237 100644 --- a/packages/parse5/lib/parser/index.ts +++ b/packages/parse5/lib/parser/index.ts @@ -326,7 +326,7 @@ export class Parser { this._setEndLocation(node, this.currentToken!); } - this.treeAdapter.onItemPop?.(node); + this.treeAdapter.onItemPop?.(node, this.openElements.current); if (isTop) { let current; diff --git a/packages/parse5/lib/tree-adapters/interface.ts b/packages/parse5/lib/tree-adapters/interface.ts index 54137cfaf..eaffab277 100644 --- a/packages/parse5/lib/tree-adapters/interface.ts +++ b/packages/parse5/lib/tree-adapters/interface.ts @@ -292,5 +292,5 @@ export interface TreeAdapter * * @param item The element being popped. */ - onItemPop?: (item: T['element']) => void; + onItemPop?: (item: T['element'], newTop: T['parentNode']) => void; }