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; }