registerEngineBenchmarkValueListener function

void registerEngineBenchmarkValueListener(
  1. String name,
  2. EngineBenchmarkValueListener listener
)

Registers a listener for engine benchmark values labeled by name.

If another listener is already registered, overrides it.

Implementation

void registerEngineBenchmarkValueListener(
  String name,
  EngineBenchmarkValueListener listener,
) {
  if (_engineBenchmarkListeners.containsKey(name)) {
    throw StateError(
      'A listener for "$name" is already registered.\n'
      'Call `stopListeningToEngineBenchmarkValues` to unregister the previous '
      'listener before registering a new one.',
    );
  }

  if (_engineBenchmarkListeners.isEmpty) {
    // The first listener is being registered. Register the global listener.
    ui_web.benchmarkValueCallback = _dispatchEngineBenchmarkValue;
  }
  _engineBenchmarkListeners[name] = listener;
}