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

Unified Diff: content/browser/service_worker/service_worker_version.cc

Issue 2555333006: Deflake origin trial token validator tests (Closed)
Patch Set: Switch WrapUnique to MakeUnique Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_version.cc
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
index 7741575284bcd7d02861045282a1c74bf7b7b68d..3f1df99849701e86cc208ed7131e5d55803886cd 100644
--- a/content/browser/service_worker/service_worker_version.cc
+++ b/content/browser/service_worker/service_worker_version.cc
@@ -20,6 +20,7 @@
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/default_clock.h"
#include "base/time/default_tick_clock.h"
#include "content/browser/bad_message.h"
#include "content/browser/child_process_security_policy_impl.h"
@@ -290,7 +291,8 @@ ServiceWorkerVersion::ServiceWorkerVersion(
site_for_uma_(ServiceWorkerMetrics::SiteFromURL(scope_)),
context_(context),
script_cache_map_(this, context),
- tick_clock_(base::WrapUnique(new base::DefaultTickClock)),
+ tick_clock_(base::MakeUnique<base::DefaultTickClock>()),
+ clock_(base::MakeUnique<base::DefaultClock>()),
ping_controller_(new PingController(this)),
weak_factory_(this) {
DCHECK_NE(kInvalidServiceWorkerVersionId, version_id);
@@ -552,7 +554,7 @@ int ServiceWorkerVersion::StartRequestWithCustomTimeout(
<< " can only be dispatched to an active worker: " << status();
int request_id = pending_requests_.Add(base::MakeUnique<PendingRequest>(
- error_callback, base::Time::Now(), tick_clock_->NowTicks(), event_type));
+ error_callback, clock_->Now(), tick_clock_->NowTicks(), event_type));
TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker", "ServiceWorkerVersion::Request",
pending_requests_.Lookup(request_id), "Request id",
request_id, "Event type",
@@ -622,7 +624,7 @@ bool ServiceWorkerVersion::FinishExternalRequest(
if (iter != external_request_uuid_to_request_id_.end()) {
int request_id = iter->second;
external_request_uuid_to_request_id_.erase(iter);
- return FinishRequest(request_id, true, base::Time::Now());
+ return FinishRequest(request_id, true, clock_->Now());
}
// It is possible that the request was cancelled or timed out before and we
@@ -743,8 +745,8 @@ void ServiceWorkerVersion::Doom() {
void ServiceWorkerVersion::SetValidOriginTrialTokens(
const TrialTokenValidator::FeatureToTokensMap& tokens) {
- origin_trial_tokens_ =
- TrialTokenValidator::GetValidTokens(url::Origin(scope()), tokens);
+ origin_trial_tokens_ = TrialTokenValidator::GetValidTokens(
+ url::Origin(scope()), tokens, clock_->Now());
}
void ServiceWorkerVersion::SetDevToolsAttached(bool attached) {
@@ -796,7 +798,7 @@ void ServiceWorkerVersion::SetMainScriptHttpResponseInfo(
// wasn't set in the entry.
if (!origin_trial_tokens_) {
origin_trial_tokens_ = TrialTokenValidator::GetValidTokensFromHeaders(
- url::Origin(scope()), http_info.headers.get());
+ url::Origin(scope()), http_info.headers.get(), clock_->Now());
}
for (auto& observer : listeners_)
@@ -812,6 +814,11 @@ void ServiceWorkerVersion::SetTickClockForTesting(
tick_clock_ = std::move(tick_clock);
}
+void ServiceWorkerVersion::SetClockForTesting(
+ std::unique_ptr<base::Clock> clock) {
+ clock_ = std::move(clock);
+}
+
const net::HttpResponseInfo*
ServiceWorkerVersion::GetMainScriptHttpResponseInfo() {
return main_script_http_info_.get();
@@ -1799,7 +1806,7 @@ void ServiceWorkerVersion::MarkIfStale() {
if (!registration || registration->active_version() != this)
return;
base::TimeDelta time_since_last_check =
- base::Time::Now() - registration->last_update_check();
+ clock_->Now() - registration->last_update_check();
if (time_since_last_check > kServiceWorkerScriptMaxCacheAge)
RestartTick(&stale_time_);
}
« no previous file with comments | « content/browser/service_worker/service_worker_version.h ('k') | content/common/origin_trials/trial_token_validator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698