OSSCA Chromium

기여 목록 / 8426979

Preserve Debugger.setSkipAllPauses across navigation

BlinkfixMerged

문제 설명

해결 내용

8406185 에서 추가한 v8의 내부 API를 사용하도록 chromium 파일 수정

전

void DevToolsSession::DidFailProvisionalLoad(LocalFrame* frame) {
  if (v8_session_ && agent_->inspected_frames_->Root() == frame) {
    v8_session_->setSkipAllPauses(false);
  }
}

후

void DevToolsSession::DidFailProvisionalLoad(LocalFrame* frame) {
  if (v8_session_ && agent_->inspected_frames_->Root() == frame) {
    v8_session_->setSkipAllPausesForInternalUse(false);
  }
}

테스트 방법

  • web_tests에 테스트 .js 파일 생성 및 수정 전/후 버전 모두 실행. 수정 전: 기존 페이지에서 pause → 멈춘 상태로 skip: true 설정 → reload → 새 페이지에서 debugger;가 멈추는 것을 확인. 수정 후: 기존 페이지에서 pause → 멈춘 상태로 skip: true 설정 → reload → 새 페이지에서 debugger;가 멈추지 않는 것을 확인. 그리고 skip: false에서 다시 멈추는지도 확인함.

배운 점 (Key Takeaways)

  • js 파일을 만들어 테스트 하는 방법

참고 자료