| // 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 crosapi.mojom; |
| |
| [Stable] |
| struct WebPageInfo { |
| int64 source_id@0; |
| string domain@1; |
| int32 engagement_score@2; |
| bool has_form_entry@3; |
| }; |
| |
| // Interface for web page info. Implemented by lacros-chrome. Used by |
| // ash-chrome to request current active/visible web page info in lacros-chrome |
| // and use it as features for smart dim. |
| // Next version: 1 |
| // Next method id: 1 |
| [Stable, Uuid="c361e03d-fd15-4313-84bf-32f6a527b28c"] |
| interface WebPageInfoProvider { |
| // Gets the topmost browser window's web page info from the current visible |
| // tab. |
| RequestCurrentWebPageInfo@0() => (WebPageInfo? web_page_info); |
| }; |
| |
| // A factory living in the Ash process which brokers connections to other |
| // processes for web page info. |
| // Next version: 1 |
| // Next method id: 1 |
| [Stable, Uuid="49a6b334-fbef-4887-ad01-570dd3688bdb"] |
| interface WebPageInfoFactory { |
| // A crosapi client (i.e. lacros chrome) can register itself as a web page |
| // info provider. This enables ash to get web page info data from lacros. |
| RegisterWebPageInfoProvider |
| @0(pending_remote<WebPageInfoProvider> web_page_info_provider); |
| }; |