1,chrome的设置页,里面比如自动填充项目里的“自动登录”的这个开关,我找了半天也没找到js是在哪设置的。后来灵机一动,也有可能这玩意是结合他那个js模板库来实现的,因为这个html的模版里有个pref的属性。所以我去pref_service->Set之类的下个断点,果然命中了。
具体的主进程调用堆栈如下:
extensions::SettingsPrivateEventRouter::OnPreferenceChanged
PrefChangeRegistrar::OnPreferenceChanged
PrefNotifierImpl::FireObservers
prefs.dll!PrefValueStore::NotifyPrefChanged
prefs.dll!PrefValueStore::OnPrefValueChanged
PrefValueStore::PrefStoreKeeper::OnPrefValueChanged
SegregatedPrefStore::AggregatingObserver::OnPrefValueChanged
JsonPrefStore::ReportValueChanged
JsonPrefStore::SetValue
SegregatedPrefStore::SetValue
PrefService::SetUserPrefValue
PrefService::Set
extensions::PrefsUtil::SetPref
extensions::SettingsPrivateSetPrefFunction::Run
目前还不清楚渲染进程那边是怎么调进来的。不过问题不大,下次有空调试一下就知道了。