refactor(browser): split installation and profile abstractions

A Chromium installation shares one master key across its profiles, but
modeling each profile as its own Browser re-derived the key per profile.
Browser now represents one installation holding its profiles and derives
the key once; new types.Profile/ExtractResult/CountResult carry per-profile
results.
This commit is contained in:
moonD4rk
2026-05-31 03:58:12 +08:00
parent d5dc81f1c0
commit c9f89dc682
28 changed files with 1359 additions and 1205 deletions
+19
View File
@@ -0,0 +1,19 @@
package types
// Profile identifies one browser profile — a leaf under an installation.
type Profile struct {
Name string
Dir string
}
// ExtractResult pairs a profile with the data extracted from it.
type ExtractResult struct {
Profile
Data *BrowserData
}
// CountResult pairs a profile with its per-category entry counts.
type CountResult struct {
Profile
Counts map[Category]int
}