Chromium Code Reviews| Index: chrome/browser/extensions/crx_installer.cc |
| diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc |
| index b77769ff455590584b3e6232c284f5dacda26f6b..aa837a7585538c350dc6c7062f5c4ef4ceb7de91 100644 |
| --- a/chrome/browser/extensions/crx_installer.cc |
| +++ b/chrome/browser/extensions/crx_installer.cc |
| @@ -135,6 +135,7 @@ CrxInstaller::CrxInstaller(base::WeakPtr<ExtensionService> service_weak, |
| install_wait_for_idle_(true), |
| update_from_settings_page_(false), |
| is_ephemeral_(false), |
| + is_syncable_(true), |
| installer_(service_weak->profile()) { |
| installer_task_runner_ = service_weak->GetFileTaskRunner(); |
| if (!approval) |
| @@ -229,21 +230,18 @@ void CrxInstaller::ConvertUserScriptOnFileThread() { |
| void CrxInstaller::InstallWebApp(const WebApplicationInfo& web_app) { |
| NotifyCrxInstallBegin(); |
| + // Web apps can only ever be converted to bookmark apps. |
| + DCHECK(creation_flags_ & Extension::FROM_BOOKMARK); |
| if (!installer_task_runner_->PostTask( |
| FROM_HERE, |
| - base::Bind(&CrxInstaller::ConvertWebAppOnFileThread, |
| - this, |
| - web_app, |
| - install_directory_))) |
| + base::Bind(&CrxInstaller::ConvertWebAppOnFileThread, this, web_app))) |
| NOTREACHED(); |
| } |
| void CrxInstaller::ConvertWebAppOnFileThread( |
| - const WebApplicationInfo& web_app, |
| - const base::FilePath& install_directory) { |
| - base::string16 error; |
| - scoped_refptr<Extension> extension( |
| - ConvertWebAppToExtension(web_app, base::Time::Now(), install_directory)); |
| + const WebApplicationInfo& web_app) { |
| + scoped_refptr<Extension> extension(ConvertWebAppToExtension( |
| + web_app, base::Time::Now(), creation_flags_, install_directory_)); |
| if (!extension.get()) { |
| // Validation should have stopped any potential errors before getting here. |
| NOTREACHED() << "Could not convert web app to extension."; |
| @@ -727,12 +725,16 @@ void CrxInstaller::ReloadExtensionAfterInstall( |
| // with base::string16 |
| std::string extension_id = extension()->id(); |
| std::string error; |
| - installer_.set_extension( |
| + scoped_refptr<Extension> mutable_extension = |
| file_util::LoadExtension( |
| version_dir, |
| install_source_, |
| extension()->creation_flags() | Extension::REQUIRE_KEY, |
| - &error).get()); |
| + &error).get(); |
| + if (mutable_extension) |
| + mutable_extension->set_is_syncable(is_syncable_); |
|
not at google - send to devlin
2014/06/06 01:26:29
this means that every extension will end up with a
Yoyo Zhou
2014/06/06 01:39:27
Yeah, that's why I was suggesting the negation. On
xiyuan
2014/06/06 04:12:37
The prefs writing code is changed to only write th
|
| + |
| + installer_.set_extension(mutable_extension); |
| if (extension()) { |
| ReportSuccessFromFileThread(); |