diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-07-14 17:41:05 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-08-04 12:37:36 +0000 |
commit | 399c965b6064c440ddcf4015f5f8e9d131c7a0a6 (patch) | |
tree | 6b06b60ff365abef0e13b3503d593a0df48d20e8 /chromium/components/precache/content | |
parent | 7366110654eec46f21b6824f302356426f48cd74 (diff) | |
download | qtwebengine-chromium-399c965b6064c440ddcf4015f5f8e9d131c7a0a6.tar.gz |
BASELINE: Update Chromium to 52.0.2743.76 and Ninja to 1.7.1
Change-Id: I382f51b959689505a60f8b707255ecb344f7d8b4
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/components/precache/content')
3 files changed, 30 insertions, 16 deletions
diff --git a/chromium/components/precache/content/precache_manager.cc b/chromium/components/precache/content/precache_manager.cc index a815b16f583..1d2ddb653b7 100644 --- a/chromium/components/precache/content/precache_manager.cc +++ b/chromium/components/precache/content/precache_manager.cc @@ -23,6 +23,7 @@ #include "components/variations/variations_associated_data.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/storage_partition.h" #include "net/base/network_change_notifier.h" using content::BrowserThread; @@ -279,13 +280,15 @@ void PrecacheManager::OnHostsReceived( hosts.push_back(host_count.first); // Start precaching. - precache_fetcher_.reset( - new PrecacheFetcher(hosts, browser_context_->GetRequestContext(), - GURL(variations::GetVariationParamValue( - kPrecacheFieldTrialName, kConfigURLParam)), - variations::GetVariationParamValue( - kPrecacheFieldTrialName, kManifestURLPrefixParam), - this)); + precache_fetcher_.reset(new PrecacheFetcher( + hosts, + content::BrowserContext::GetDefaultStoragePartition(browser_context_)-> + GetURLRequestContext(), + GURL(variations::GetVariationParamValue( + kPrecacheFieldTrialName, kConfigURLParam)), + variations::GetVariationParamValue( + kPrecacheFieldTrialName, kManifestURLPrefixParam), + this)); precache_fetcher_->Start(); } diff --git a/chromium/components/precache/content/precache_manager.h b/chromium/components/precache/content/precache_manager.h index 713671318ac..dde145a3040 100644 --- a/chromium/components/precache/content/precache_manager.h +++ b/chromium/components/precache/content/precache_manager.h @@ -9,6 +9,7 @@ #include <stdint.h> #include <list> +#include <memory> #include <string> #include <utility> #include <vector> @@ -16,7 +17,6 @@ #include "base/callback.h" #include "base/compiler_specific.h" #include "base/macros.h" -#include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "components/history/core/browser/history_types.h" #include "components/keyed_service/core/keyed_service.h" @@ -149,7 +149,7 @@ class PrecacheManager : public KeyedService, // The PrecacheFetcher used to precache resources. Should only be used on the // UI thread. - scoped_ptr<PrecacheFetcher> precache_fetcher_; + std::unique_ptr<PrecacheFetcher> precache_fetcher_; // The callback that will be run if precaching finishes without being // canceled. @@ -157,7 +157,7 @@ class PrecacheManager : public KeyedService, // The PrecacheDatabase for tracking precache metrics. Should only be used on // the DB thread. - scoped_ptr<PrecacheDatabase> precache_database_; + std::unique_ptr<PrecacheDatabase> precache_database_; // Flag indicating whether or not precaching is currently in progress. bool is_precaching_; diff --git a/chromium/components/precache/content/precache_manager_unittest.cc b/chromium/components/precache/content/precache_manager_unittest.cc index 5e0fde422c2..fb5dbfdfa5d 100644 --- a/chromium/components/precache/content/precache_manager_unittest.cc +++ b/chromium/components/precache/content/precache_manager_unittest.cc @@ -17,7 +17,7 @@ #include "base/location.h" #include "base/single_thread_task_runner.h" #include "base/test/histogram_tester.h" -#include "base/thread_task_runner_handle.h" +#include "base/threading/thread_task_runner_handle.h" #include "components/history/core/browser/history_constants.h" #include "components/history/core/browser/history_service.h" #include "components/history/core/browser/history_types.h" @@ -52,11 +52,13 @@ const char kGoodManifestURL[] = class TestURLFetcherCallback { public: - scoped_ptr<net::FakeURLFetcher> CreateURLFetcher( - const GURL& url, net::URLFetcherDelegate* delegate, - const std::string& response_data, net::HttpStatusCode response_code, + std::unique_ptr<net::FakeURLFetcher> CreateURLFetcher( + const GURL& url, + net::URLFetcherDelegate* delegate, + const std::string& response_data, + net::HttpStatusCode response_code, net::URLRequestStatus::Status status) { - scoped_ptr<net::FakeURLFetcher> fetcher(new net::FakeURLFetcher( + std::unique_ptr<net::FakeURLFetcher> fetcher(new net::FakeURLFetcher( url, delegate, response_data, response_code, status)); requested_urls_.insert(url); @@ -141,6 +143,15 @@ class PrecacheManagerTest : public testing::Test { base::Bind(&TestURLFetcherCallback::CreateURLFetcher, base::Unretained(&url_callback_))) {} + ~PrecacheManagerTest() { + // precache_manager_'s constructor releases a PrecacheDatabase and deletes + // it on the DB thread. PrecacheDatabase already has a pending Init call + // which will assert in debug builds because the directory passed to it is + // deleted. So manually ensure that the task is run before browser_context_ + // is destructed. + base::MessageLoop::current()->RunUntilIdle(); + } + protected: void SetUp() override { base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( @@ -156,8 +167,8 @@ class PrecacheManagerTest : public testing::Test { } // Must be declared first so that it is destroyed last. - content::TestBrowserContext browser_context_; content::TestBrowserThreadBundle test_browser_thread_bundle_; + content::TestBrowserContext browser_context_; PrecacheManagerUnderTest precache_manager_; TestURLFetcherCallback url_callback_; net::FakeURLFetcherFactory factory_; |