Skip to content

feat: apply TRIOS C++ token patches to Chromium tree + rebuild #507

@gHashTag

Description

@gHashTag

Контекст

Runtime fix готов — user_color2=4278190080, color_scheme2=2, фрейм чёрный ✅

Осталось: применить C++ патчи через BUILD.gn и сделать rebuild чтобы новые профили и чистые установки тоже получали #000000 по умолчанию без tokens:apply.

Что сделано (не трогать)

  • packages/browseros/tokens/trios.tokens.json — SSOT ✅
  • packages/browseros/tokens/build.mjs — генератор CSS/C++ ✅
  • C++ патчи созданы:
    • browseros_prefs.cc — использует trios::kFrameSeedColor
    • theme_service.cc — использует trios::kDefaultColorScheme
    • pinned_action_toolbar_button.cc — использует trios::kColorGoldBase
  • global.css — импортирует trios_tokens.css
  • CI guard check_no_hardcoded_colors.py

Задача агенту

Шаг 1: Убедиться что BUILD.gn включает generated header

grep -n "trios_tokens" packages/browseros/chromium_patches/chrome/browser/browseros/BUILD.gn
# Должно быть: generated/trios_tokens.h в sources или include_dirs

Если нет — добавить:

sources += [ "generated/trios_tokens.h" ]

Шаг 2: Rebuild

cd packages/browseros
./build.sh
# Ожидаемое время: 20-60 минут

Шаг 3: Verify после rebuild

# Новый профиль должен иметь чёрный фрейм БЕЗ tokens:apply
rm -rf /tmp/browseros-test-profile
open -a BrowserOS --args --user-data-dir=/tmp/browseros-test-profile
# DevTools → Console:
# getComputedStyle(document.body).backgroundColor
# Должно: rgb(0, 0, 0)

Шаг 4: Commit

git add packages/browseros/chromium_patches/
git commit -m "feat(chromium): apply TRIOS token constants in C++ patches | Closes #507"

Критерий готовности

  • ./build.sh завершается без ошибок
  • Новый профиль открывается с чёрным фреймом
  • bun run tokens:check — 0 нарушений
  • user_color2=4278190080 на чистом профиле без tokens:apply

Приоритет

Можно делать в фоне — runtime уже работает. Rebuild не блокирует разработку.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions