Index: mojo/shell/loader.cc |
diff --git a/mojo/shell/loader.cc b/mojo/shell/loader.cc |
index f537717efa40634ccc152bd86850406153763581..d1c335545a91627d6eb6638fb3dab6b6240e3857 100644 |
--- a/mojo/shell/loader.cc |
+++ b/mojo/shell/loader.cc |
@@ -34,16 +34,21 @@ void Loader::Job::OnURLFetchComplete(const net::URLFetcher* source) { |
LOG(ERROR) << "URL fetch didn't succeed: status = " << status.status() |
<< ", error = " << status.error(); |
} else if (source->GetResponseCode() != 200) { |
- LOG(ERROR) << "HTTP response not OK: code = " << source->GetResponseCode(); |
+ // Note: We may not have a response code (e.g., if it wasn't an http: URL). |
+ LOG(WARNING) << "HTTP response not OK: code = " |
+ << source->GetResponseCode(); |
} |
// TODO: Do something else in the error cases? |
base::FilePath app_path; |
source->GetResponseAsFilePath(true, &app_path); |
std::string mime_type; |
- std::string* passed_mime_type = |
- source->GetResponseHeaders()->GetMimeType(&mime_type) ? &mime_type : NULL; |
- delegate_->DidCompleteLoad(source->GetURL(), app_path, passed_mime_type); |
+ // We may not have response headers (e.g., if it was a file: URL). |
+ if (source->GetResponseHeaders()) |
+ source->GetResponseHeaders()->GetMimeType(&mime_type); |
+ delegate_->DidCompleteLoad(source->GetURL(), |
+ app_path, |
+ mime_type.empty() ? NULL : &mime_type); |
} |
Loader::Loader(base::SingleThreadTaskRunner* network_runner, |