Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(379)

Side by Side Diff: chrome/browser/extensions/crx_installer.cc

Issue 308003005: app_list: Drive app integration. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: track generated instead of abusing from_bookmark() etc Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/crx_installer.h" 5 #include "chrome/browser/extensions/crx_installer.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 return; 223 return;
224 } 224 }
225 225
226 OnUnpackSuccess(extension->path(), extension->path(), NULL, extension.get(), 226 OnUnpackSuccess(extension->path(), extension->path(), NULL, extension.get(),
227 SkBitmap()); 227 SkBitmap());
228 } 228 }
229 229
230 void CrxInstaller::InstallWebApp(const WebApplicationInfo& web_app) { 230 void CrxInstaller::InstallWebApp(const WebApplicationInfo& web_app) {
231 NotifyCrxInstallBegin(); 231 NotifyCrxInstallBegin();
232 232
233 // Web apps can only ever be converted to bookmark apps.
234 DCHECK(creation_flags_ & Extension::FROM_BOOKMARK);
233 if (!installer_task_runner_->PostTask( 235 if (!installer_task_runner_->PostTask(
234 FROM_HERE, 236 FROM_HERE,
235 base::Bind(&CrxInstaller::ConvertWebAppOnFileThread, 237 base::Bind(&CrxInstaller::ConvertWebAppOnFileThread, this, web_app)))
236 this,
237 web_app,
238 install_directory_)))
239 NOTREACHED(); 238 NOTREACHED();
240 } 239 }
241 240
242 void CrxInstaller::ConvertWebAppOnFileThread( 241 void CrxInstaller::ConvertWebAppOnFileThread(
243 const WebApplicationInfo& web_app, 242 const WebApplicationInfo& web_app) {
244 const base::FilePath& install_directory) { 243 scoped_refptr<Extension> extension(ConvertWebAppToExtension(
245 base::string16 error; 244 web_app, base::Time::Now(), creation_flags_, install_directory_));
246 scoped_refptr<Extension> extension(
247 ConvertWebAppToExtension(web_app, base::Time::Now(), install_directory));
248 if (!extension.get()) { 245 if (!extension.get()) {
249 // Validation should have stopped any potential errors before getting here. 246 // Validation should have stopped any potential errors before getting here.
250 NOTREACHED() << "Could not convert web app to extension."; 247 NOTREACHED() << "Could not convert web app to extension.";
251 return; 248 return;
252 } 249 }
253 250
254 // TODO(aa): conversion data gets lost here :( 251 // TODO(aa): conversion data gets lost here :(
255 252
256 OnUnpackSuccess(extension->path(), extension->path(), NULL, extension.get(), 253 OnUnpackSuccess(extension->path(), extension->path(), NULL, extension.get(),
257 SkBitmap()); 254 SkBitmap());
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 if (!prefs->DidExtensionEscalatePermissions(extension()->id())) 906 if (!prefs->DidExtensionEscalatePermissions(extension()->id()))
910 return; 907 return;
911 908
912 if (client_) { 909 if (client_) {
913 AddRef(); // Balanced in InstallUIProceed() and InstallUIAbort(). 910 AddRef(); // Balanced in InstallUIProceed() and InstallUIAbort().
914 client_->ConfirmReEnable(this, extension()); 911 client_->ConfirmReEnable(this, extension());
915 } 912 }
916 } 913 }
917 914
918 } // namespace extensions 915 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698