OLD | NEW |
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 <list> | 5 #include <list> |
6 #include <map> | 6 #include <map> |
7 #include <set> | 7 #include <set> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
11 #include "base/bind_helpers.h" | 11 #include "base/bind_helpers.h" |
12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/memory/weak_ptr.h" | 15 #include "base/memory/weak_ptr.h" |
16 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
17 #include "base/run_loop.h" | 17 #include "base/run_loop.h" |
18 #include "base/sequenced_task_runner.h" | 18 #include "base/sequenced_task_runner.h" |
19 #include "base/stl_util.h" | 19 #include "base/stl_util.h" |
20 #include "base/strings/string_number_conversions.h" | 20 #include "base/strings/string_number_conversions.h" |
21 #include "base/strings/string_split.h" | 21 #include "base/strings/string_split.h" |
22 #include "base/strings/string_util.h" | 22 #include "base/strings/string_util.h" |
23 #include "base/strings/stringprintf.h" | 23 #include "base/strings/stringprintf.h" |
| 24 #include "base/thread_task_runner_handle.h" |
24 #include "base/threading/thread.h" | 25 #include "base/threading/thread.h" |
25 #include "base/version.h" | 26 #include "base/version.h" |
26 #include "chrome/browser/chrome_notification_types.h" | 27 #include "chrome/browser/chrome_notification_types.h" |
27 #include "chrome/browser/extensions/crx_installer.h" | 28 #include "chrome/browser/extensions/crx_installer.h" |
28 #include "chrome/browser/extensions/extension_error_reporter.h" | 29 #include "chrome/browser/extensions/extension_error_reporter.h" |
29 #include "chrome/browser/extensions/extension_sync_data.h" | 30 #include "chrome/browser/extensions/extension_sync_data.h" |
30 #include "chrome/browser/extensions/test_extension_prefs.h" | 31 #include "chrome/browser/extensions/test_extension_prefs.h" |
31 #include "chrome/browser/extensions/test_extension_service.h" | 32 #include "chrome/browser/extensions/test_extension_service.h" |
32 #include "chrome/browser/extensions/test_extension_system.h" | 33 #include "chrome/browser/extensions/test_extension_system.h" |
33 #include "chrome/browser/extensions/updater/chrome_extension_downloader_factory.
h" | 34 #include "chrome/browser/extensions/updater/chrome_extension_downloader_factory.
h" |
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 // inside this class (which is a friend to ExtensionUpdater). | 641 // inside this class (which is a friend to ExtensionUpdater). |
641 class ExtensionUpdaterTest : public testing::Test { | 642 class ExtensionUpdaterTest : public testing::Test { |
642 public: | 643 public: |
643 ExtensionUpdaterTest() | 644 ExtensionUpdaterTest() |
644 : thread_bundle_( | 645 : thread_bundle_( |
645 content::TestBrowserThreadBundle::IO_MAINLOOP), | 646 content::TestBrowserThreadBundle::IO_MAINLOOP), |
646 testing_local_state_(TestingBrowserProcess::GetGlobal()) { | 647 testing_local_state_(TestingBrowserProcess::GetGlobal()) { |
647 } | 648 } |
648 | 649 |
649 void SetUp() override { | 650 void SetUp() override { |
650 prefs_.reset(new TestExtensionPrefs(base::MessageLoopProxy::current())); | 651 prefs_.reset(new TestExtensionPrefs(base::ThreadTaskRunnerHandle::Get())); |
651 } | 652 } |
652 | 653 |
653 void TearDown() override { | 654 void TearDown() override { |
654 // Some tests create URLRequestContextGetters, whose destruction must run | 655 // Some tests create URLRequestContextGetters, whose destruction must run |
655 // on the IO thread. Make sure the IO loop spins before shutdown so that | 656 // on the IO thread. Make sure the IO loop spins before shutdown so that |
656 // those objects are released. | 657 // those objects are released. |
657 RunUntilIdle(); | 658 RunUntilIdle(); |
658 prefs_.reset(); | 659 prefs_.reset(); |
659 } | 660 } |
660 | 661 |
(...skipping 950 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1611 // on the delta between now and the last ping time (or in the case of active | 1612 // on the delta between now and the last ping time (or in the case of active |
1612 // pings, that delta plus whether the app has been active). | 1613 // pings, that delta plus whether the app has been active). |
1613 void TestGalleryRequests(int rollcall_ping_days, | 1614 void TestGalleryRequests(int rollcall_ping_days, |
1614 int active_ping_days, | 1615 int active_ping_days, |
1615 bool active_bit, | 1616 bool active_bit, |
1616 bool expect_brand_code) { | 1617 bool expect_brand_code) { |
1617 net::TestURLFetcherFactory factory; | 1618 net::TestURLFetcherFactory factory; |
1618 | 1619 |
1619 // Set up 2 mock extensions, one with a google.com update url and one | 1620 // Set up 2 mock extensions, one with a google.com update url and one |
1620 // without. | 1621 // without. |
1621 prefs_.reset(new TestExtensionPrefs(base::MessageLoopProxy::current())); | 1622 prefs_.reset(new TestExtensionPrefs(base::ThreadTaskRunnerHandle::Get())); |
1622 ServiceForManifestTests service(prefs_.get()); | 1623 ServiceForManifestTests service(prefs_.get()); |
1623 ExtensionList tmp; | 1624 ExtensionList tmp; |
1624 GURL url1("http://clients2.google.com/service/update2/crx"); | 1625 GURL url1("http://clients2.google.com/service/update2/crx"); |
1625 GURL url2("http://www.somewebsite.com"); | 1626 GURL url2("http://www.somewebsite.com"); |
1626 service.CreateTestExtensions(1, 1, &tmp, &url1.possibly_invalid_spec(), | 1627 service.CreateTestExtensions(1, 1, &tmp, &url1.possibly_invalid_spec(), |
1627 Manifest::INTERNAL); | 1628 Manifest::INTERNAL); |
1628 service.CreateTestExtensions(2, 1, &tmp, &url2.possibly_invalid_spec(), | 1629 service.CreateTestExtensions(2, 1, &tmp, &url2.possibly_invalid_spec(), |
1629 Manifest::INTERNAL); | 1630 Manifest::INTERNAL); |
1630 EXPECT_EQ(2u, tmp.size()); | 1631 EXPECT_EQ(2u, tmp.size()); |
1631 service.set_extensions(tmp, ExtensionList()); | 1632 service.set_extensions(tmp, ExtensionList()); |
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2250 // -prodversionmin (shouldn't update if browser version too old) | 2251 // -prodversionmin (shouldn't update if browser version too old) |
2251 // -manifests & updates arriving out of order / interleaved | 2252 // -manifests & updates arriving out of order / interleaved |
2252 // -malformed update url (empty, file://, has query, has a # fragment, etc.) | 2253 // -malformed update url (empty, file://, has query, has a # fragment, etc.) |
2253 // -An extension gets uninstalled while updates are in progress (so it doesn't | 2254 // -An extension gets uninstalled while updates are in progress (so it doesn't |
2254 // "come back from the dead") | 2255 // "come back from the dead") |
2255 // -An extension gets manually updated to v3 while we're downloading v2 (ie | 2256 // -An extension gets manually updated to v3 while we're downloading v2 (ie |
2256 // you don't get downgraded accidentally) | 2257 // you don't get downgraded accidentally) |
2257 // -An update manifest mentions multiple updates | 2258 // -An update manifest mentions multiple updates |
2258 | 2259 |
2259 } // namespace extensions | 2260 } // namespace extensions |
OLD | NEW |