blob: aee3d7589b3e609f7583e99049725a4769800616 [file] [log] [blame]
// 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
};
// 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;
};
// 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);
};