diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-05-09 17:25:22 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-06-26 08:17:30 +0000 |
commit | 7757ec1a562ae36b65a6cae93b3cd308247755ef (patch) | |
tree | 9da058ac021019317111dd1ad90c0a4a32529afe /src/core/devtools_frontend_qt.cpp | |
parent | 57c49df9c6fcbaaffc66900e191312d4e0a0edfa (diff) |
Adaptations for Chromium 67
Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/core/devtools_frontend_qt.cpp')
-rw-r--r-- | src/core/devtools_frontend_qt.cpp | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/src/core/devtools_frontend_qt.cpp b/src/core/devtools_frontend_qt.cpp index 95f522826..ecfa4b6b9 100644 --- a/src/core/devtools_frontend_qt.cpp +++ b/src/core/devtools_frontend_qt.cpp @@ -83,6 +83,24 @@ using namespace QtWebEngineCore; namespace { +std::unique_ptr<base::DictionaryValue> BuildObjectForResponse(const net::HttpResponseHeaders *rh) +{ + auto response = std::make_unique<base::DictionaryValue>(); + response->SetInteger("statusCode", rh ? rh->response_code() : 200); + + auto headers = std::make_unique<base::DictionaryValue>(); + size_t iterator = 0; + std::string name; + std::string value; + // TODO(caseq): this probably needs to handle duplicate header names + // correctly by folding them. + while (rh && rh->EnumerateHeaderLines(&iterator, &name, &value)) + headers->SetString(name, value); + + response->Set("headers", std::move(headers)); + return response; +} + // ResponseWriter ------------------------------------------------------------- class ResponseWriter : public net::URLFetcherResponseWriter { @@ -137,7 +155,7 @@ int ResponseWriter::Finish(int net_error, const net::CompletionCallback &callbac static std::string GetFrontendURL() { - return chrome::kChromeUIDevToolsURL; + return "chrome-devtools://devtools/bundled/devtools_app.html"; } } // namespace @@ -471,19 +489,9 @@ void DevToolsFrontendQt::OnURLFetchComplete(const net::URLFetcher *source) PendingRequestsMap::iterator it = m_pendingRequests.find(source); DCHECK(it != m_pendingRequests.end()); - base::DictionaryValue response; - auto headers = base::MakeUnique<base::DictionaryValue>(); - net::HttpResponseHeaders* rh = source->GetResponseHeaders(); - response.SetInteger("statusCode", rh ? rh->response_code() : 200); - - size_t iterator = 0; - std::string name; - std::string value; - while (rh && rh->EnumerateHeaderLines(&iterator, &name, &value)) - headers->SetString(name, value); - response.Set("headers", std::move(headers)); + auto response = BuildObjectForResponse(source->GetResponseHeaders()); - SendMessageAck(it->second, &response); + SendMessageAck(it->second, response.get()); m_pendingRequests.erase(it); delete source; } |