chromium/content/common/dom_automation_controller.mojom

// 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;

// Interface for receiving messages sent from the renderer to the browser via
// the DOM Automation Controller (i.e., window.domAutomationController).
// This interface is only used and made available in browser tests and is
// controlled by switches::kDomAutomationController.
interface DomAutomationControllerHost {
  // Used to communicate a value received from JavaScript. An instance of the
  // browser that has an automation host listening to it can have JavaScript
  // send a native value (string, number, boolean) to the listener in
  // C++ (DomAutomationController). For example,
  // `window.domAutomationController.send(foo())` sends the result of foo()
  // here.
  DomOperationResponse(string json_string);
};