OSSCA Chromium

기여 목록 / 8464683

[ash] Remove the expired graphics tablet pen button trimming

PlatformcleanupMerged

그래픽 태블릿 설정을 불러올 때마다 펜 버튼 목록을 잘라내던 일회성 정리 함수 TrimButtonRemappingListForGraphicsTabletPen()을 지웠습니다. «07/2025 (M139) 이후 제거»라는 TODO가 있었고 트리는 M156입니다. 2파일 −126. 폴더 OWNER 두 명(michaelcheco@·wangdanny@)과 뒤에 추가한 tbarzic@가 모두 응답하지 않아 상위 ash OWNER jamescook@에게 넘겨 +1을 받았고, oshima@가 두 번째로 승인한 뒤 CQ를 돌려 2026-10-03에 머지됐습니다(099e64e032bfc).

문제 설명

  • issue url: 버그 번호 없음 (TODO(dpad))
  • 일부 그래픽 태블릿에 잘못된 메타데이터가 들어가, 실제로 없는 펜 버튼이 저장된 설정에 추가됐습니다. 2024-07 CL(dpad@)이 InitializeGraphicsTabletSettings()에서 메타데이터 기준으로 목록을 잘라내는 정리를 넣었습니다.
  • 정리 결과는 곧바로 UpdateGraphicsTabletSettings()로 prefs에 저장되므로, 기기마다 한 번 돌면 충분했습니다. 그래서 «Remove after 07/2025 (M139) as this trimming will no longer be needed»라는 TODO가 붙어 있었습니다.

해결 내용

  • graphics_tablet_pref_handler_impl.cc에서 함수(그 함수만 담은 익명 namespace 포함)와 호출 한 줄을 지웠습니다.
  • graphics_tablet_pref_handler_unittest.cc에서 이 정리만 검사하던 TrimPenButtonList, TrimPenButtonListWithDefaultAction을 지웠습니다.
   graphics_tablet->settings = std::move(settings);
   DCHECK(graphics_tablet->settings);
 
-  TrimButtonRemappingListForGraphicsTabletPen(graphics_tablet);
   UpdateGraphicsTabletSettings(pref_service, *graphics_tablet);

발굴 과정

만료 주석 스윕에서 ChromeOS 전용 파일만 추린 후보 V~Z 중 하나입니다. Mac 쪽 표에는 «테스트 없음»으로 적혀 있었는데, 리눅스에서 다시 보니 이 정리만 검사하는 테스트 2개가 있어 같이 지우는 것으로 범위를 고쳤습니다. OSSCA #539.

테스트 방법

  • 리눅스 박스(4코어)에서 target_os="chromeos" 빌드: ash_unittests 첫 빌드 13시간 41분 / 40,793 스텝.
  • 수정 전 대조군 ash_unittests --gtest_filter='GraphicsTabletPrefHandlerTest.*' 7/7 → 수정 후 5/5(지운 테스트 2개만큼 감소). testing/xvfb.py로 실행.
  • V·X·W와 합친 검증 브랜치에서 증분 빌드 962 스텝, gn check //ash:ash 통과, presubmit 0 경고

배운 점

  • 다른 머신이 만든 후보 표도 실제 파일을 열어 테스트 유무를 다시 확인합니다. «테스트 없음»이 틀리면 CL 범위와 크기가 달라집니다.
  • 서로 다른 파일을 건드리는 작은 CL 여러 개는 하나의 검증 브랜치에 모아 한 번에 빌드하면 빌드 시간을 아낄 수 있습니다.
  • 작은 폴더의 OWNER가 모두 조용하면 같은 폴더 안에서 리뷰어를 바꿔 봐도 소용이 없습니다. 이 CL은 그렇게 아홉 날을 보냈고, 상위 ash/OWNERS의 활동 중인 사람에게 넘기자 하루 안에 두 승인이 모였습니다. 추가한 리뷰어가 며칠 조용하면 바로 상위 OWNERS로 올립니다.

참고 자료