// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module launcher_internals.mojom;
// A single search result. More fields can be added when needed.
struct Result {
// Unique ID string for the result.
string id;
// Title text for the result.
string title;
// Description text that is displayed below the title. This can be empty.
string description;
// Which provider this result came from.
string result_type;
// The type that is reported in UMA metrics for this result.
string metrics_type;
// Which UI surface the result is displayed in.
string display_type;
// The score associated with this result, in the range [0,1].
double score;
// Scores corresponding to different ranking methods. These are keyed by a
// string describing the ranking method.
map<string, double> ranker_scores;
};
// Interface for creating internals page handlers. Implemented by the WebUI
// controller and used by chrome://launcher-internals.
interface PageHandlerFactory {
// Creates a page handler that observes the launcher and updates the
// internals page.
CreatePageHandler(pending_remote<Page> page);
};
// Interface for the launcher internals page. Implemented in Javascript and
// used by the page handler.
interface Page {
// Updates the page with the new results.
UpdateResults(string query, array<string> keywords, array<Result> results);
};