| // Copyright 2017 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 media.mojom; |
| |
| import "url/mojom/origin.mojom"; |
| |
| struct MediaEngagementScoreDetails { |
| url.mojom.Origin origin; |
| double total_score; |
| |
| // Details of the components which make up |score|. |
| int32 visits; |
| int32 media_playbacks; |
| |
| // Last media playback time in milliseconds since the epoch format. |
| double last_media_playback_time; |
| |
| // Whether the score is considered to be high. |
| bool is_high; |
| |
| // Data used for experiments. |
| int32 audible_playbacks; |
| int32 significant_playbacks; |
| |
| // How many time the score changed `is_high` status. |
| int32 high_score_changes; |
| |
| // Details of the components which make up |media_playbacks|. |
| int32 audio_context_playbacks; |
| int32 media_element_playbacks; |
| }; |
| |
| struct MediaEngagementConfig { |
| // Origins with a number of visits less than this number will receive |
| // a score of zero. |
| int32 score_min_visits; |
| |
| // The upper and lower threshold of whether the total score is considered |
| // to be high. |
| double high_score_lower_threshold; |
| double high_score_upper_threshold; |
| |
| // The state of different internal autoplay features and flags. |
| bool feature_record_data; |
| bool feature_bypass_autoplay; |
| bool feature_preload_data; |
| bool feature_https_only; |
| bool feature_autoplay_disable_settings; |
| bool feature_autoplay_whitelist_settings; |
| bool pref_disable_unified_autoplay; |
| bool has_custom_autoplay_policy; |
| string autoplay_policy; |
| |
| // The current version of any preloaded component. |
| string preload_version; |
| }; |
| |
| interface MediaEngagementScoreDetailsProvider { |
| GetMediaEngagementScoreDetails() => (array<MediaEngagementScoreDetails> info); |
| GetMediaEngagementConfig() => (MediaEngagementConfig config); |
| }; |