If you look at
https://github.com/cefsharp/CefSharp/pull/932/files you'll see an example of another feature that follows a similar pattern.
Create a class e.g `GetGeolocationCallback` that implements `CefGetGeolocationCallback`, implement `OnLocationUpdate`, call `SetResult` on the `TaskComplectionSource`, your pretty much done.
I'm unsure if `OnLocationUpdate` is ever called multiple times, if it is then another strategy will need to be used. (Something similar to the `CookieVisitor`, where an interface is used instead).
Code is the best documentation. There are no examples of exactly what your looking for. Start simple and work your way up. It's all pretty easy once you get going.