LibWeb: Log resource load success before invoking success callback
The success callback may trigger JavaScript execution, causing resource load times to appear much longer than they actually are. :^)
This commit is contained in:
parent
784ab75d2d
commit
fccf0a466b
Notes:
sideshowbarker
2024-07-18 03:34:14 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/fccf0a466b8
1 changed files with 4 additions and 4 deletions
|
@ -129,10 +129,10 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, con
|
|||
|
||||
if (url.protocol() == "about") {
|
||||
dbgln_if(SPAM_DEBUG, "Loading about: URL {}", url);
|
||||
log_success(request);
|
||||
deferred_invoke([success_callback = move(success_callback)] {
|
||||
success_callback(String::empty().to_byte_buffer(), {}, {});
|
||||
});
|
||||
log_success(request);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -148,10 +148,10 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, con
|
|||
else
|
||||
data = url.data_payload().to_byte_buffer();
|
||||
|
||||
log_success(request);
|
||||
deferred_invoke([data = move(data), success_callback = move(success_callback)] {
|
||||
success_callback(data, {}, {});
|
||||
});
|
||||
log_success(request);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -167,10 +167,10 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, con
|
|||
|
||||
auto file = file_result.release_value();
|
||||
auto data = file->read_all();
|
||||
log_success(request);
|
||||
deferred_invoke([data = move(data), success_callback = move(success_callback)] {
|
||||
success_callback(data, {}, {});
|
||||
});
|
||||
log_success(request);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -203,8 +203,8 @@ void ResourceLoader::load(LoadRequest& request, Function<void(ReadonlyBytes, con
|
|||
error_callback(http_load_failure_msg, {});
|
||||
return;
|
||||
}
|
||||
success_callback(payload, response_headers, status_code);
|
||||
log_success(request);
|
||||
success_callback(payload, response_headers, status_code);
|
||||
deferred_invoke([this, &protocol_request] {
|
||||
m_active_requests.remove(protocol_request);
|
||||
});
|
||||
|
|
Loading…
Add table
Reference in a new issue