Commit cf7b13aa authored by Yue Li's avatar Yue Li Committed by Commit Bot

Quick Answers: Fix DCHECK for url loader

Bug: b/171175172
Test: Run existing tests
Change-Id: Id4985b806f939ea90a62f9f5b7e337bd3d7151f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2484332Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Yue Li <updowndota@chromium.org>
Auto-Submit: Yue Li <updowndota@chromium.org>
Cr-Commit-Position: refs/heads/master@{#818675}
parent fc0abb9b
......@@ -34,8 +34,8 @@ class TestResultLoader : public ResultLoader {
// ResultLoader:
void BuildRequest(const PreprocessedOutput& preprocessed_output,
BuildRequestCallback callback) const override {
return std::move(callback).Run(
std::make_unique<network::ResourceRequest>());
return std::move(callback).Run(std::make_unique<network::ResourceRequest>(),
std::string());
}
void ProcessResponse(std::unique_ptr<std::string> response_body,
ResponseParserCallback complete_callback) override {}
......
......@@ -70,9 +70,12 @@ void ResultLoader::Fetch(const PreprocessedOutput& preprocessed_output) {
}
void ResultLoader::OnBuildRequestComplete(
std::unique_ptr<network::ResourceRequest> resource_request) {
std::unique_ptr<network::ResourceRequest> resource_request,
const std::string& request_body) {
loader_ = network::SimpleURLLoader::Create(std::move(resource_request),
kNetworkTrafficAnnotationTag);
if (!request_body.empty())
loader_->AttachStringForUpload(request_body, "application/json");
fetch_start_time_ = base::TimeTicks::Now();
loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
......
......@@ -53,7 +53,8 @@ class ResultLoader {
base::OnceCallback<void(std::unique_ptr<QuickAnswer> quick_answer)>;
using BuildRequestCallback = base::OnceCallback<void(
std::unique_ptr<network::ResourceRequest> resource_request)>;
std::unique_ptr<network::ResourceRequest> resource_request,
const std::string& request_body)>;
ResultLoader(network::mojom::URLLoaderFactory* url_loader_factory,
ResultLoaderDelegate* delegate);
......@@ -91,7 +92,8 @@ class ResultLoader {
ResultLoaderDelegate* const delegate_;
void OnBuildRequestComplete(
std::unique_ptr<network::ResourceRequest> resource_request);
std::unique_ptr<network::ResourceRequest> resource_request,
const std::string& request_body);
void OnSimpleURLLoaderComplete(std::unique_ptr<std::string> response_body);
void OnResultParserComplete(std::unique_ptr<QuickAnswer> quick_answer);
......
......@@ -83,7 +83,7 @@ void SearchResultLoader::BuildRequest(
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = url;
std::move(callback).Run(std::move(resource_request));
std::move(callback).Run(std::move(resource_request), std::string());
}
void SearchResultLoader::ProcessResponse(
......
......@@ -93,14 +93,10 @@ void TranslationResultLoader::OnRequestAccessTokenComplete(
kAuthorizationHeaderFormat + access_token);
resource_request->headers.SetHeader(net::HttpRequestHeaders::kAccept,
"application/json");
resource_request->headers.SetHeader(net::HttpRequestHeaders::kContentType,
"application/json");
auto body = BuildTranslationRequestBody(preprocessed_output.intent_info);
resource_request->request_body = new network::ResourceRequestBody();
resource_request->request_body->AppendBytes(body.c_str(), body.length());
std::move(callback).Run(std::move(resource_request));
std::move(callback).Run(
std::move(resource_request),
BuildTranslationRequestBody(preprocessed_output.intent_info));
}
} // namespace quick_answers
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment