기여 목록 / 8410085
[startup] Remove the expired --no-startup-window re-check in Launch
BrowsercleanupMerged
StartupBrowserCreatorImpl::DetermineURLsAndLaunch() 초입에 남아 있던 ShouldLoadProfileWithoutWindow() 재검사 블록을 제거했습니다. Lacros 온보딩 시기(M102)에 «Remove by M104» 주석과 함께 들어온 방어 코드로, 도달할 수 없는 NOTREACHED()와 그 때문에만 남아 있던 include 두 개를 함께 지웠습니다(crbug.com/40216113). 1파일 −8줄, 동작은 바뀌지 않습니다. 2026-09-17에 머지됐습니다(1e5c4ad3d899d).
문제 설명
- issue url: https://crbug.com/40216113
- 원 CL 3548859(2022-03, M102)가
--no-startup-window를 프로세스 시작 시점에도 처리하도록 바꾸면서, 혹시Launch()까지 흘러온 요청을 한 번 더 검사해NOTREACHED()하는 블록을 «Remove by M104» 주석과 함께 넣어 두었습니다. Launch()에 이르는 모든 경로는LaunchBrowser()→IsSilentLaunchEnabled()를 거치며, 그 함수가kNoStartupWindow·kSilentLaunch·ShouldLoadProfileWithoutWindow()를 이미 검사해 일찍 돌아갑니다. 관찰 기간은 51개 마일스톤 전에 끝났고, Lacros 자체가 트리에서 사라졌습니다.
해결 내용
- 재검사 블록(5줄)을 지웠습니다.
NOTREACHED()의 유일한 사용처였으므로base/notreached.hinclude도 함께 제거했습니다. base/debug/dump_without_crashing.h는 원 CL이 넣은DumpWithoutCrashing()호출이 이미 사라져 미사용이었으므로 같이 정리했습니다.
발굴 과정
«Remove … by/after M» 만료 주석 스윕(2026-09-15)에서 나온 항목입니다. StartupBrowserCreatorImpl을 직접 만드는 곳(app_controller_mac.mm, browsertest 6곳)과 Launch() 호출 경로를 전부 따라가 재검사가 실제로 도달 불가임을 확인한 뒤 착수했습니다. 같은 파일에 열린 CL이 27건이라 인접 변경이 없는지도 확인했습니다.
테스트 방법
동작 불변 정리라 새 테스트는 없고 기존 테스트 통과가 검증입니다.
unit_tests --gtest_filter='StartupBrowserCreator*'14/14 통과 (리눅스 빌드 서버, 캐시된 트리 위 증분 빌드 4스텝 58초)
배운 점
- 빌드 캐시의 base와 브랜치 base가 같으면
unit_tests급 타깃도 1분 안에 검증됩니다. 캐시 base를 옮기지 않는 것이 작은 정리 CL을 빠르게 돌리는 핵심입니다. - 리뷰어 둘을 OWNERS 중 최근 6개월 활동이 가장 많은 사람으로 고르니 +1이 이틀 안에 모였고, CQ 권한이 없는 상태에서는 «제출해 주세요» 한 줄로 당일 머지됐습니다.