OSSCA Chromium

기여 목록 / 8402060

[test_runner] Skip comment nodes in deep HTML dumps

DevToolstestdevtools/devtools-frontendMerged

기존 웹 테스트의 기대 결과에 Lit 마커가 포함되지 않도록, TestRunner.dumpDeepInnerHTML()에서 주석 노드를 제외했습니다.

문제 설명

certificate section 전환의 기대 결과를 갱신하는 CL 8398688에서 Lit 주석 노드가 DOM 출력에 포함되었습니다. 리뷰에서 이 주석을 기대 결과에 추가하는 대신, 출력 함수에서 제외하자는 제안을 받았습니다.

해결 내용

TestRunner.dumpDeepInnerHTML()의 내부 순회 함수에서 현재 노드가 Node.COMMENT_NODE이면 즉시 반환하도록 했습니다. Lit 마커를 포함한 주석 노드를 출력하지 않으며, 이 CL의 코드 변경은 해당 조건문 추가입니다.

전체 코드 diff는 다음과 같습니다.

diff --git a/front_end/legacy_test_runner/test_runner/TestRunner.ts b/front_end/legacy_test_runner/test_runner/TestRunner.ts
index a623cd2..54abc91 100644
--- a/front_end/legacy_test_runner/test_runner/TestRunner.ts
+++ b/front_end/legacy_test_runner/test_runner/TestRunner.ts
@@ -868,6 +868,9 @@
    * @param node
    */
   function innerHTML(prefix, node) {
+    if (node.nodeType === Node.COMMENT_NODE) {
+      return;
+    }
     const openTag = [];
     if (node.nodeType === Node.TEXT_NODE) {
       if (!node.parentElement || node.parentElement.nodeName !== 'STYLE') {

테스트 방법

주석 노드 제외로 기존 보안 웹 테스트 7개의 기대 결과가 달라져, CL 8406865에서 해당 테스트의 기대값을 임시 조정했습니다. 이후 CQ 실행이 통과했으며, 2026년 9월 16일(한국 시간) DevTools main에 병합되었습니다. 기대 결과 갱신은 CL 8398688에서 진행했습니다.

배운 점

DOM 출력 기반 테스트에서는 렌더링 프레임워크의 내부 주석까지 검증할 필요가 있는지 확인해야 합니다. 이 작업에서는 출력 함수에서 주석 노드를 제외했습니다.

참고 자료