mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
fix: crash when loadExtension fails (#27589)
Co-authored-by: samuelmaddock <samuel.maddock@gmail.com>
This commit is contained in:
@@ -112,22 +112,22 @@ void ElectronExtensionLoader::FinishExtensionLoad(
|
||||
scoped_refptr<const Extension> extension = result.first;
|
||||
if (extension) {
|
||||
extension_registrar_.AddExtension(extension);
|
||||
}
|
||||
|
||||
// Write extension install time to ExtensionPrefs. This is required by
|
||||
// WebRequestAPI which calls extensions::ExtensionPrefs::GetInstallTime.
|
||||
//
|
||||
// Implementation for writing the pref was based on
|
||||
// PreferenceAPIBase::SetExtensionControlledPref.
|
||||
{
|
||||
ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(browser_context_);
|
||||
ExtensionPrefs::ScopedDictionaryUpdate update(
|
||||
extension_prefs, extension.get()->id(),
|
||||
extensions::pref_names::kPrefPreferences);
|
||||
auto preference = update.Create();
|
||||
const base::Time install_time = base::Time().Now();
|
||||
preference->SetString("install_time",
|
||||
base::NumberToString(install_time.ToInternalValue()));
|
||||
// Write extension install time to ExtensionPrefs. This is required by
|
||||
// WebRequestAPI which calls extensions::ExtensionPrefs::GetInstallTime.
|
||||
//
|
||||
// Implementation for writing the pref was based on
|
||||
// PreferenceAPIBase::SetExtensionControlledPref.
|
||||
{
|
||||
ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(browser_context_);
|
||||
ExtensionPrefs::ScopedDictionaryUpdate update(
|
||||
extension_prefs, extension.get()->id(),
|
||||
extensions::pref_names::kPrefPreferences);
|
||||
auto preference = update.Create();
|
||||
const base::Time install_time = base::Time().Now();
|
||||
preference->SetString(
|
||||
"install_time", base::NumberToString(install_time.ToInternalValue()));
|
||||
}
|
||||
}
|
||||
|
||||
std::move(cb).Run(extension.get(), result.second);
|
||||
|
||||
Reference in New Issue
Block a user