Called on the IO thread when a resource load has completed. The |browser|
and |frame| values represent the source of the request, and may be NULL
for requests originating from service workers or cef_urlrequest_t.
|request| and |response| represent the request and response respectively
and cannot be modified in this callback. |status| indicates the load
completion status. |received_content_length| is the number of response
bytes actually read. This function will be called for all requests,
including requests that are aborted due to CEF shutdown or destruction of
the associated browser. In cases where the associated browser is destroyed
this callback may arrive after the cef_life_span_handler_t::OnBeforeClose
callback for that browser. The cef_frame_t::IsValid function can be used
to test for this situation, and care should be taken not to call |browser|
or |frame| functions that modify state (like LoadURL, SendProcessMessage,
etc.) if the frame is invalid.
Called on the IO thread when a resource load has completed. The |browser| and |frame| values represent the source of the request, and may be NULL for requests originating from service workers or cef_urlrequest_t. |request| and |response| represent the request and response respectively and cannot be modified in this callback. |status| indicates the load completion status. |received_content_length| is the number of response bytes actually read. This function will be called for all requests, including requests that are aborted due to CEF shutdown or destruction of the associated browser. In cases where the associated browser is destroyed this callback may arrive after the cef_life_span_handler_t::OnBeforeClose callback for that browser. The cef_frame_t::IsValid function can be used to test for this situation, and care should be taken not to call |browser| or |frame| functions that modify state (like LoadURL, SendProcessMessage, etc.) if the frame is invalid.