1Graphite's `Context` now provides an interface to report the GPU time spent processing a recording. The client provides 2a different finished proc of type `skgpu::graphite::GpuFinishedWithStatsProc` using 3`skgpu::graphite::InsertRecordingInfo::fFinishedWithStatsProc` and sets the flag 4`skgpu::graphite::InsertRecordingInfo::fGpuStatsFlag` to `skgpu::GpuStatsFlags::kElapsedTime`. The new callback takes a 5new struct, `skgpu::GpuStats`, which has an `elapsedTime` field that will indicate the amount of GPU time used by the 6recording. This is implemented for the Dawn backend only. In WASM on WebGPU the reported time excludes any GPU transfers 7that occur before the first render/compute pass or after the last pass because of limitations in the WebGPU timestamp 8query API. 9 10`GrDirectContext` provides a similar interface to report the GPU time spent in a flush. The client uses a new callback 11type, `GrGpuFinishedWithStatsProc` and sets the same flag on `GrFlushInfo`. This is implemented for GL 12(including GLES and WebGL). 13