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

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

Issue 4732005: [Sync] Added some basic extension sync integration tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed whitespace Created 10 years, 1 month 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/extension_updater.h" 5 #include "chrome/browser/extensions/extension_updater.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 410
411 void ExtensionUpdater::Start() { 411 void ExtensionUpdater::Start() {
412 // Make sure our prefs are registered, then schedule the first check. 412 // Make sure our prefs are registered, then schedule the first check.
413 EnsureInt64PrefRegistered(prefs_, kLastExtensionsUpdateCheck); 413 EnsureInt64PrefRegistered(prefs_, kLastExtensionsUpdateCheck);
414 EnsureInt64PrefRegistered(prefs_, kNextExtensionsUpdateCheck); 414 EnsureInt64PrefRegistered(prefs_, kNextExtensionsUpdateCheck);
415 EnsureBlacklistVersionPrefRegistered(prefs_); 415 EnsureBlacklistVersionPrefRegistered(prefs_);
416 ScheduleNextCheck(DetermineFirstCheckDelay()); 416 ScheduleNextCheck(DetermineFirstCheckDelay());
417 } 417 }
418 418
419 void ExtensionUpdater::Stop() { 419 void ExtensionUpdater::Stop() {
420 service_ = NULL;
420 timer_.Stop(); 421 timer_.Stop();
421 manifest_fetcher_.reset(); 422 manifest_fetcher_.reset();
422 extension_fetcher_.reset(); 423 extension_fetcher_.reset();
423 manifests_pending_.clear(); 424 manifests_pending_.clear();
424 extensions_pending_.clear(); 425 extensions_pending_.clear();
425 } 426 }
426 427
427 void ExtensionUpdater::OnURLFetchComplete( 428 void ExtensionUpdater::OnURLFetchComplete(
428 const URLFetcher* source, const GURL& url, const URLRequestStatus& status, 429 const URLFetcher* source, const GURL& url, const URLRequestStatus& status,
429 int response_code, const ResponseCookies& cookies, 430 int response_code, const ResponseCookies& cookies,
430 const std::string& data) { 431 const std::string& data) {
432 // This can be called after we've been stopped.
433 if (!service_)
434 return;
435
431 if (source == manifest_fetcher_.get()) { 436 if (source == manifest_fetcher_.get()) {
432 OnManifestFetchComplete(url, status, response_code, data); 437 OnManifestFetchComplete(url, status, response_code, data);
433 } else if (source == extension_fetcher_.get()) { 438 } else if (source == extension_fetcher_.get()) {
434 OnCRXFetchComplete(url, status, response_code, data); 439 OnCRXFetchComplete(url, status, response_code, data);
435 } else { 440 } else {
436 NOTREACHED(); 441 NOTREACHED();
437 } 442 }
438 } 443 }
439 444
440 // Utility class to handle doing xml parsing in a sandboxed utility process. 445 // Utility class to handle doing xml parsing in a sandboxed utility process.
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 if (!manifests_pending_.empty()) { 538 if (!manifests_pending_.empty()) {
534 ManifestFetchData* manifest_fetch = manifests_pending_.front(); 539 ManifestFetchData* manifest_fetch = manifests_pending_.front();
535 manifests_pending_.pop_front(); 540 manifests_pending_.pop_front();
536 StartUpdateCheck(manifest_fetch); 541 StartUpdateCheck(manifest_fetch);
537 } 542 }
538 } 543 }
539 544
540 void ExtensionUpdater::HandleManifestResults( 545 void ExtensionUpdater::HandleManifestResults(
541 const ManifestFetchData& fetch_data, 546 const ManifestFetchData& fetch_data,
542 const UpdateManifest::Results& results) { 547 const UpdateManifest::Results& results) {
548 // This can be called after we've been stopped.
549 if (!service_)
550 return;
543 551
544 // Examine the parsed manifest and kick off fetches of any new crx files. 552 // Examine the parsed manifest and kick off fetches of any new crx files.
545 std::vector<int> updates = DetermineUpdates(fetch_data, results); 553 std::vector<int> updates = DetermineUpdates(fetch_data, results);
546 for (size_t i = 0; i < updates.size(); i++) { 554 for (size_t i = 0; i < updates.size(); i++) {
547 const UpdateManifest::Result* update = &(results.list.at(updates[i])); 555 const UpdateManifest::Result* update = &(results.list.at(updates[i]));
548 FetchUpdatedExtension(update->extension_id, update->crx_url, 556 FetchUpdatedExtension(update->extension_id, update->crx_url,
549 update->package_hash, update->version); 557 update->package_hash, update->version);
550 } 558 }
551 559
552 // If the manifest response included a <daystart> element, we want to save 560 // If the manifest response included a <daystart> element, we want to save
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 URLFetcher::Create(kExtensionFetcherId, url, URLFetcher::GET, this)); 868 URLFetcher::Create(kExtensionFetcherId, url, URLFetcher::GET, this));
861 extension_fetcher_->set_request_context( 869 extension_fetcher_->set_request_context(
862 Profile::GetDefaultRequestContext()); 870 Profile::GetDefaultRequestContext());
863 extension_fetcher_->set_load_flags(net::LOAD_DO_NOT_SEND_COOKIES | 871 extension_fetcher_->set_load_flags(net::LOAD_DO_NOT_SEND_COOKIES |
864 net::LOAD_DO_NOT_SAVE_COOKIES | 872 net::LOAD_DO_NOT_SAVE_COOKIES |
865 net::LOAD_DISABLE_CACHE); 873 net::LOAD_DISABLE_CACHE);
866 extension_fetcher_->Start(); 874 extension_fetcher_->Start();
867 current_extension_fetch_ = ExtensionFetch(id, url, hash, version); 875 current_extension_fetch_ = ExtensionFetch(id, url, hash, version);
868 } 876 }
869 } 877 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_tests.gypi » ('j') | chrome/test/live_sync/live_extensions_sync_test.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698