Index: third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom |
diff --git a/third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom b/third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..aee3d7589b3e609f7583e99049725a4769800616 |
--- /dev/null |
+++ b/third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom |
@@ -0,0 +1,30 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module blink.mojom; |
+ |
+import "url/mojo/origin.mojom"; |
+ |
+enum BudgetOperationType { |
+ SILENT_PUSH |
dcheng
2016/08/25 00:33:48
FWIW, an enum with one value looks kinda funny.
|
+}; |
+ |
+// Structure representing the budget at points in time in the future. |
+struct BudgetState { |
+ // Amount of budget that will be available. This should be the lower bound of |
+ // the budget between this time and the previous time. |
+ double budget_at; |
+ |
+ // Time at which the budget is available, in milliseconds since 00:00:00 UTC |
+ // on 1 January 1970, at which the budget_at will be valid. |
+ double time; |
dcheng
2016/08/25 00:33:48
Can we add a TODO here to transition to base::Time
|
+}; |
+ |
+// Service through which Blink can query for the cost of particular actions and |
+// for the budget available for an origin. |
+interface BudgetService { |
+ GetCost(BudgetOperationType operation) => (double cost); |
+ GetBudget(url.mojom.Origin origin) => (array<BudgetState> budget); |
+}; |
+ |