tree: fba6524644ed02b0801e4b97b77f9e63713c7172 [path history] [tgz]
  1. boosting_vote_aggregator.cc
  2. boosting_vote_aggregator.h
  3. boosting_vote_aggregator_unittest.cc
  4. execution_context_priority.cc
  5. execution_context_priority_unittest.cc
  6. frame_audible_voter.cc
  7. frame_audible_voter.h
  8. frame_audible_voter_unittest.cc
  9. frame_capturing_media_stream_voter.cc
  10. frame_capturing_media_stream_voter.h
  11. frame_capturing_media_stream_voter_unittest.cc
  12. frame_visibility_voter.cc
  13. frame_visibility_voter.h
  14. frame_visibility_voter_unittest.cc
  15. inherit_client_priority_voter.cc
  16. inherit_client_priority_voter.h
  17. inherit_client_priority_voter_unittest.cc
  18. inherit_parent_priority_voter.cc
  19. inherit_parent_priority_voter.h
  20. inherit_parent_priority_voter_unittest.cc
  21. loading_page_voter.cc
  22. loading_page_voter.h
  23. loading_page_voter_unittest.cc
  24. max_vote_aggregator.cc
  25. max_vote_aggregator_unittest.cc
  26. override_vote_aggregator.cc
  27. override_vote_aggregator_unittest.cc
  28. priority_voting_system.cc
  29. README.md
  30. root_vote_observer.cc
  31. root_vote_observer.h
  32. root_vote_observer_unittest.cc
components/performance_manager/execution_context_priority/README.md

The PriorityVotingSystem is responsible for assigning the priority of all the frames and workers in the graph.

This is done through a system of voting where each voter can increase the priority of an execution context independently, and the vote with the highest priority determines which priority the given frame or worker will be assigned.

The RootVoteObserver is a simple layer on top of the voting system that receives the final vote for an execution context and does the actual assignment to the graph node.

Each voter tracks a single property of an execution context and casts their vote via their voting channel to the MaxVoteAggregator.