// Copyright 2018 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 ash.mojom; import "ash/public/interfaces/assistant_image_downloader.mojom"; import "ash/public/interfaces/web_contents_manager.mojom"; import "ash/public/interfaces/assistant_setup.mojom"; import "chromeos/services/assistant/public/mojom/assistant.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; // Interface to AssistantController which is owned by Shell in Ash. This is // typically used by the Assistant service to provide the controller with an // interface to itself, as well as by the Assistant client in chrome/browser to // provide interfaces to delegates which depend on browser. interface AssistantController { // Provides a reference to the underlying |assistant| service. SetAssistant(chromeos.assistant.mojom.Assistant assistant); // Provides an interface to the |assistant_image_downloader| owned by // AssistantClient. SetAssistantImageDownloader( AssistantImageDownloader assistant_image_downloader); // Provides an interface to the |web_contents_manager| owned by // AssistantClient. SetWebContentsManager(WebContentsManager web_contents_manager); // Provides an interface to the |assistant_setup| owned by AssistantClient. SetAssistantSetup(AssistantSetup assistant_setup); // Requests screenshot of specified |rect| region and returns the screenshot // encoded in JPEG format. If |rect| is empty, it returns fullscreen // screenshot. RequestScreenshot(gfx.mojom.Rect rect) => (array screenshot); };