Chromium Code Reviews| Index: webkit/browser/appcache/appcache_update_job.cc |
| diff --git a/webkit/browser/appcache/appcache_update_job.cc b/webkit/browser/appcache/appcache_update_job.cc |
| index 0cd087ec80d6af499eab44dede9ef55bf981988e..83aa857b4e14976b1e750b42604d1f46aa12784a 100644 |
| --- a/webkit/browser/appcache/appcache_update_job.cc |
| +++ b/webkit/browser/appcache/appcache_update_job.cc |
| @@ -339,6 +339,7 @@ AppCacheUpdateJob::AppCacheUpdateJob(AppCacheService* service, |
| master_entries_completed_(0), |
| url_fetches_completed_(0), |
| manifest_fetcher_(NULL), |
| + manifest_has_valid_mime_type_(false), |
| stored_state_(UNSTORED), |
| storage_(service->storage()) { |
| service_->AddObserver(this); |
| @@ -489,6 +490,11 @@ void AppCacheUpdateJob::HandleManifestFetchCompleted( |
| if (request->status().is_success()) { |
| response_code = request->GetResponseCode(); |
| is_valid_response_code = (response_code / 100 == 2); |
| + |
| + std::string mime_type; |
| + request->GetMimeType(&mime_type); |
| + const char kManifestMimeType[] = "text/cache-manifest"; |
| + manifest_has_valid_mime_type_ = (mime_type == kManifestMimeType); |
|
darin (slow to review)
2014/05/12 23:45:32
nit: I probably wouldn't have bothered with the na
|
| } |
| if (is_valid_response_code) { |
| @@ -561,7 +567,8 @@ void AppCacheUpdateJob::ContinueHandleManifestFetchCompleted(bool changed) { |
| Manifest manifest; |
| if (!ParseManifest(manifest_url_, manifest_data_.data(), |
| - manifest_data_.length(), manifest)) { |
| + manifest_data_.length(), manifest_has_valid_mime_type_, |
| + manifest)) { |
| const char* kFormatString = "Failed to parse manifest %s"; |
| const std::string message = base::StringPrintf(kFormatString, |
| manifest_url_.spec().c_str()); |