Skip to content

Commit 416cc7a

Browse files
pfaffeDevtools-frontend LUCI CQ
authored andcommitted
Avoid fetching infinite DOM subtrees to prevent crashing
Fixed: 451651659 Change-Id: I41f6c991a1162be49fbefab5be82c2d66dfe4097 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7105642 Reviewed-by: Alex Rudenko <[email protected]> Commit-Queue: Alex Rudenko <[email protected]> Auto-Submit: Philip Pfaffe <[email protected]>
1 parent e77da6b commit 416cc7a

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

front_end/core/sdk/DOMModel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,7 @@ export class DOMNode {
632632
}
633633

634634
async getSubtree(depth: number, pierce: boolean): Promise<DOMNode[]|null> {
635+
console.assert(depth > 0, 'Do not fetch an infinite subtree to avoid crashing the renderer for large documents');
635636
const response = await this.#agent.invoke_requestChildNodes({nodeId: this.id, depth, pierce});
636637
return response.getError() ? null : this.childrenInternal;
637638
}

front_end/panels/elements/ElementsTreeElement.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
735735
}
736736

737737
override async expandRecursively(): Promise<void> {
738-
await this.nodeInternal.getSubtree(-1, true);
738+
await this.nodeInternal.getSubtree(100, true);
739739
await super.expandRecursively(Number.MAX_VALUE);
740740
}
741741

0 commit comments

Comments
 (0)