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 { ...@@ -34,8 +34,8 @@ class TestResultLoader : public ResultLoader {
// ResultLoader: // ResultLoader:
void BuildRequest(const PreprocessedOutput& preprocessed_output, void BuildRequest(const PreprocessedOutput& preprocessed_output,
BuildRequestCallback callback) const override { BuildRequestCallback callback) const override {
return std::move(callback).Run( return std::move(callback).Run(std::make_unique<network::ResourceRequest>(),
std::make_unique<network::ResourceRequest>()); std::string());
} }
void ProcessResponse(std::unique_ptr<std::string> response_body, void ProcessResponse(std::unique_ptr<std::string> response_body,
ResponseParserCallback complete_callback) override {} ResponseParserCallback complete_callback) override {}
......
...@@ -70,9 +70,12 @@ void ResultLoader::Fetch(const PreprocessedOutput& preprocessed_output) { ...@@ -70,9 +70,12 @@ void ResultLoader::Fetch(const PreprocessedOutput& preprocessed_output) {
} }
void ResultLoader::OnBuildRequestComplete( 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), loader_ = network::SimpleURLLoader::Create(std::move(resource_request),
kNetworkTrafficAnnotationTag); kNetworkTrafficAnnotationTag);
if (!request_body.empty())
loader_->AttachStringForUpload(request_body, "application/json");
fetch_start_time_ = base::TimeTicks::Now(); fetch_start_time_ = base::TimeTicks::Now();
loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie( loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
......
...@@ -53,7 +53,8 @@ class ResultLoader { ...@@ -53,7 +53,8 @@ class ResultLoader {
base::OnceCallback<void(std::unique_ptr<QuickAnswer> quick_answer)>; base::OnceCallback<void(std::unique_ptr<QuickAnswer> quick_answer)>;
using BuildRequestCallback = base::OnceCallback<void( 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, ResultLoader(network::mojom::URLLoaderFactory* url_loader_factory,
ResultLoaderDelegate* delegate); ResultLoaderDelegate* delegate);
...@@ -91,7 +92,8 @@ class ResultLoader { ...@@ -91,7 +92,8 @@ class ResultLoader {
ResultLoaderDelegate* const delegate_; ResultLoaderDelegate* const delegate_;
void OnBuildRequestComplete( 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 OnSimpleURLLoaderComplete(std::unique_ptr<std::string> response_body);
void OnResultParserComplete(std::unique_ptr<QuickAnswer> quick_answer); void OnResultParserComplete(std::unique_ptr<QuickAnswer> quick_answer);
......
...@@ -83,7 +83,7 @@ void SearchResultLoader::BuildRequest( ...@@ -83,7 +83,7 @@ void SearchResultLoader::BuildRequest(
auto resource_request = std::make_unique<network::ResourceRequest>(); auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = url; 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( void SearchResultLoader::ProcessResponse(
......
...@@ -93,14 +93,10 @@ void TranslationResultLoader::OnRequestAccessTokenComplete( ...@@ -93,14 +93,10 @@ void TranslationResultLoader::OnRequestAccessTokenComplete(
kAuthorizationHeaderFormat + access_token); kAuthorizationHeaderFormat + access_token);
resource_request->headers.SetHeader(net::HttpRequestHeaders::kAccept, resource_request->headers.SetHeader(net::HttpRequestHeaders::kAccept,
"application/json"); "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 } // 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