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

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

Issue 2376403004: Store Origin-Trial tokens to ServiceWorkerDataBase (Closed)
Patch Set: incorporated iclelland's comment Created 4 years, 2 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_database.cc
diff --git a/content/browser/service_worker/service_worker_database.cc b/content/browser/service_worker/service_worker_database.cc
index fed2adb34adfa52af1c5408734bf41f9f92afd47..e644d7fd90236be0619d3229dc76b6350dcc7295 100644
--- a/content/browser/service_worker/service_worker_database.cc
+++ b/content/browser/service_worker/service_worker_database.cc
@@ -1223,6 +1223,16 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::ParseRegistrationData(
}
out->foreign_fetch_origins.push_back(parsed_origin);
}
+ if (data.has_origin_trial_tokens()) {
+ const ServiceWorkerOriginTrialInfo& info = data.origin_trial_tokens();
+ TrialTokenValidator::FeatureToTokensMap origin_trial_tokens;
+ for (int i = 0; i < info.features_size(); ++i) {
+ const auto& feature = info.features(i);
+ for (int j = 0; j < feature.tokens_size(); ++j)
+ origin_trial_tokens[feature.name()].push_back(feature.tokens(j));
+ }
+ out->origin_trial_tokens = origin_trial_tokens;
+ }
return ServiceWorkerDatabase::STATUS_OK;
}
@@ -1256,6 +1266,15 @@ void ServiceWorkerDatabase::WriteRegistrationDataInBatch(
}
for (const url::Origin& origin : registration.foreign_fetch_origins)
data.add_foreign_fetch_origin(origin.Serialize());
+ if (registration.origin_trial_tokens) {
+ ServiceWorkerOriginTrialInfo* info = data.mutable_origin_trial_tokens();
+ for (const auto& feature : *registration.origin_trial_tokens) {
+ ServiceWorkerOriginTrialFeature* feature_out = info->add_features();
+ feature_out->set_name(feature.first);
+ for (const auto& token : feature.second)
+ feature_out->add_tokens(token);
+ }
+ }
std::string value;
bool success = data.SerializeToString(&value);
« no previous file with comments | « content/browser/service_worker/service_worker_database.h ('k') | content/browser/service_worker/service_worker_database.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698