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

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

Issue 226023003: Create CrxInstaller directly in WebstoreInstaller (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 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
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/webstore_installer.h" 5 #include "chrome/browser/extensions/webstore_installer.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 330
331 void WebstoreInstaller::Observe(int type, 331 void WebstoreInstaller::Observe(int type,
332 const content::NotificationSource& source, 332 const content::NotificationSource& source,
333 const content::NotificationDetails& details) { 333 const content::NotificationDetails& details) {
334 switch (type) { 334 switch (type) {
335 case chrome::NOTIFICATION_CRX_INSTALLER_DONE: { 335 case chrome::NOTIFICATION_CRX_INSTALLER_DONE: {
336 const Extension* extension = 336 const Extension* extension =
337 content::Details<const Extension>(details).ptr(); 337 content::Details<const Extension>(details).ptr();
338 CrxInstaller* installer = content::Source<CrxInstaller>(source).ptr(); 338 CrxInstaller* installer = content::Source<CrxInstaller>(source).ptr();
339 if (extension == NULL && download_item_ != NULL && 339 if (extension == NULL && download_item_ != NULL &&
340 installer->download_url() == download_item_->GetURL() && 340 installer->download_id() == download_item_->GetId() &&
341 installer->profile()->IsSameProfile(profile_)) { 341 installer->profile()->IsSameProfile(profile_)) {
342 ReportFailure(kInstallCanceledError, FAILURE_REASON_CANCELLED); 342 ReportFailure(kInstallCanceledError, FAILURE_REASON_CANCELLED);
343 } 343 }
344 break; 344 break;
345 } 345 }
346 346
347 case chrome::NOTIFICATION_EXTENSION_INSTALLED: { 347 case chrome::NOTIFICATION_EXTENSION_INSTALLED: {
348 CHECK(profile_->IsSameProfile(content::Source<Profile>(source).ptr())); 348 CHECK(profile_->IsSameProfile(content::Source<Profile>(source).ptr()));
349 const Extension* extension = 349 const Extension* extension =
350 content::Details<const InstalledExtensionInfo>(details)->extension; 350 content::Details<const InstalledExtensionInfo>(details)->extension;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 CrxInstaller* crx_installer = content::Source<CrxInstaller>(source).ptr(); 382 CrxInstaller* crx_installer = content::Source<CrxInstaller>(source).ptr();
383 CHECK(crx_installer); 383 CHECK(crx_installer);
384 if (!profile_->IsSameProfile(crx_installer->profile())) 384 if (!profile_->IsSameProfile(crx_installer->profile()))
385 return; 385 return;
386 386
387 // TODO(rdevlin.cronin): Continue removing std::string errors and 387 // TODO(rdevlin.cronin): Continue removing std::string errors and
388 // replacing with base::string16. See crbug.com/71980. 388 // replacing with base::string16. See crbug.com/71980.
389 const base::string16* error = 389 const base::string16* error =
390 content::Details<const base::string16>(details).ptr(); 390 content::Details<const base::string16>(details).ptr();
391 const std::string utf8_error = base::UTF16ToUTF8(*error); 391 const std::string utf8_error = base::UTF16ToUTF8(*error);
392 if (download_url_ == crx_installer->original_download_url()) 392 if (download_item_->GetId() == crx_installer->download_id())
393 ReportFailure(utf8_error, FAILURE_REASON_OTHER); 393 ReportFailure(utf8_error, FAILURE_REASON_OTHER);
394 break; 394 break;
395 } 395 }
396 396
397 default: 397 default:
398 NOTREACHED(); 398 NOTREACHED();
399 } 399 }
400 } 400 }
401 401
402 void WebstoreInstaller::InvalidateDelegate() { 402 void WebstoreInstaller::InvalidateDelegate() {
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 1, 693 1,
694 kMaxSizeKb, 694 kMaxSizeKb,
695 kNumBuckets); 695 kNumBuckets);
696 } 696 }
697 UMA_HISTOGRAM_BOOLEAN( 697 UMA_HISTOGRAM_BOOLEAN(
698 "Extensions.WebstoreDownload.InterruptTotalSizeUnknown", 698 "Extensions.WebstoreDownload.InterruptTotalSizeUnknown",
699 total_bytes <= 0); 699 total_bytes <= 0);
700 } 700 }
701 701
702 } // namespace extensions 702 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698