Chromium Code Reviews| Index: chrome/browser/budget_service/budget_manager.cc |
| diff --git a/chrome/browser/budget_service/budget_manager.cc b/chrome/browser/budget_service/budget_manager.cc |
| index cdf4fd71c885c1600d30b938cd913f3f32728e69..a92c41f0a2e12a23ed8770f447abe4a2ccedbde0 100644 |
| --- a/chrome/browser/budget_service/budget_manager.cc |
| +++ b/chrome/browser/budget_service/budget_manager.cc |
| @@ -74,7 +74,9 @@ void BudgetManager::GetBudget(const url::Origin& origin, |
| mojo::Array<blink::mojom::BudgetStatePtr>()); |
| return; |
| } |
| - db_.GetBudgetDetails(origin, callback); |
| + db_.GetBudgetDetails(origin, |
| + base::Bind(&BudgetManager::DidGetBudget, |
| + weak_ptr_factory_.GetWeakPtr(), callback)); |
| } |
| void BudgetManager::Reserve(const url::Origin& origin, |
| @@ -122,6 +124,20 @@ void BudgetManager::Consume(const url::Origin& origin, |
| weak_ptr_factory_.GetWeakPtr(), callback)); |
| } |
| +void BudgetManager::DidGetBudget( |
| + const GetBudgetCallback& callback, |
| + const blink::mojom::BudgetServiceErrorType error, |
| + mojo::Array<blink::mojom::BudgetStatePtr> budget) { |
| + // If there was an error, just record a budget of 0, so the API query is still |
| + // counted. |
| + if (error != blink::mojom::BudgetServiceErrorType::NONE) |
| + UMA_HISTOGRAM_COUNTS_100("BudgetAPI.QueryBudget", 0); |
| + else |
| + UMA_HISTOGRAM_COUNTS_100("BudgetAPI.QueryBudget", budget[0]->budget_at); |
|
Alexei Svitkine (slow)
2016/11/29 16:45:35
Please refactor the code so the macro is only emit
harkness
2016/11/30 11:31:52
Done.
|
| + |
| + callback.Run(error, std::move(budget)); |
| +} |
| + |
| void BudgetManager::DidConsume(const ConsumeCallback& callback, |
| blink::mojom::BudgetServiceErrorType error, |
| bool success) { |
| @@ -142,5 +158,7 @@ void BudgetManager::DidReserve(const url::Origin& origin, |
| if (success && error == blink::mojom::BudgetServiceErrorType::NONE) |
| reservation_map_[origin]++; |
| + UMA_HISTOGRAM_BOOLEAN("BudgetAPI.Reserve", success); |
| + |
| callback.Run(error, success); |
| } |