blob: d60cbca5cfd38978265c4d83e5a8c2a17929b590 [file] [log] [blame]
// Copyright 2019 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.
// TODO(crbug.com/1227712): Migrate syntax and remove this.
deprecated_syntax;
library chromium.cast;
using fuchsia.mem;
using fuchsia.web;
/// Provides Cast platform API binding scripts and methods for connecting those
/// scripts with Agent backends.
[Discoverable]
protocol ApiBindings {
/// Gets the list of bindings to early-inject into the page at load time.
GetAll() -> (vector<ApiBinding> bindings);
/// Should be invoked when a connecting a named MessagePort to a native
/// bindings backend.
Connect(string port_name, fuchsia.web.MessagePort message_port);
};
resource table ApiBinding {
/// Script to execute before the load of a web document.
1: fuchsia.mem.Buffer before_load_script;
};