// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module content.mojom;
import "mojo/public/mojom/base/string16.mojom";
import "mojo/public/mojom/base/values.mojom";
// A control interface which can be accessed by clients launching Content Shell
// with a Mojo invitation on the command line. This is used by
// LaunchAsMojoClientBrowserTest to exercise that mode of execution.
interface ShellController {
// Requests the (ASCII) value of a command line argument present in the
// running Content Shell process which receives this message.
GetSwitchValue(string name) => (string? value);
// Asks the shell to execute the JavaScript code in |script| within the first
// available window, and returns the resulting value.
ExecuteJavaScript(mojo_base.mojom.String16 script)
=> (mojo_base.mojom.Value value);
// Tells Content Shell to close all windows and shut down. After sending this
// message, the Content Shell browser process should be expected to terminate
// soon.
ShutDown();
};