OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/webstore_install_helper.h" | 5 #include "chrome/browser/extensions/webstore_install_helper.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
75 void WebstoreInstallHelper::StartWorkOnIOThread() { | 75 void WebstoreInstallHelper::StartWorkOnIOThread() { |
76 CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 76 CHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
77 utility_host_ = UtilityProcessHost::Create( | 77 utility_host_ = UtilityProcessHost::Create( |
78 this, base::MessageLoopProxy::current().get())->AsWeakPtr(); | 78 this, base::MessageLoopProxy::current().get())->AsWeakPtr(); |
79 utility_host_->StartBatchMode(); | 79 utility_host_->StartBatchMode(); |
80 | 80 |
81 if (!icon_base64_data_.empty()) | 81 if (!icon_base64_data_.empty()) |
82 utility_host_->Send( | 82 utility_host_->Send( |
83 new ChromeUtilityMsg_DecodeImageBase64(icon_base64_data_)); | 83 new ChromeUtilityMsg_DecodeImageBase64(icon_base64_data_)); |
84 | 84 |
85 utility_host_->Send(new ChromeUtilityMsg_ParseJSON(manifest_)); | 85 if (!manifest_.empty()) |
asargent_no_longer_on_chrome
2015/03/16 17:48:22
Why would the manifest be empty?
Marc Treib
2015/03/17 12:18:27
It is empty in the bundle install case. I'm (ab)us
asargent_no_longer_on_chrome
2015/03/24 23:34:00
Hmm, this seems like a risky approach, since all t
Marc Treib
2015/03/25 11:21:59
Ack re risky.
Actually, http://crrev.com/931993002
Marc Treib
2015/03/26 15:49:25
931993002 has landed (yay!) and I've rebased this
| |
86 utility_host_->Send(new ChromeUtilityMsg_ParseJSON(manifest_)); | |
87 else | |
88 manifest_parse_complete_ = true; | |
89 | |
90 ReportResultsIfComplete(); | |
86 } | 91 } |
87 | 92 |
88 void WebstoreInstallHelper::OnURLFetchComplete( | 93 void WebstoreInstallHelper::OnURLFetchComplete( |
89 const net::URLFetcher* source) { | 94 const net::URLFetcher* source) { |
90 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 95 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
91 CHECK(source == url_fetcher_.get()); | 96 CHECK(source == url_fetcher_.get()); |
92 int response_code = | 97 int response_code = |
93 source->GetStatus().is_success() ? source->GetResponseCode() : 0; | 98 source->GetStatus().is_success() ? source->GetResponseCode() : 0; |
94 if (!source->GetStatus().is_success() || | 99 if (!source->GetStatus().is_success() || |
95 response_code / 100 == 4 || response_code / 100 == 5) { | 100 response_code / 100 == 4 || response_code / 100 == 5) { |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 } | 194 } |
190 | 195 |
191 BrowserThread::PostTask( | 196 BrowserThread::PostTask( |
192 BrowserThread::UI, | 197 BrowserThread::UI, |
193 FROM_HERE, | 198 FROM_HERE, |
194 base::Bind(&WebstoreInstallHelper::ReportResultFromUIThread, this)); | 199 base::Bind(&WebstoreInstallHelper::ReportResultFromUIThread, this)); |
195 } | 200 } |
196 | 201 |
197 void WebstoreInstallHelper::ReportResultFromUIThread() { | 202 void WebstoreInstallHelper::ReportResultFromUIThread() { |
198 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 203 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
199 if (error_.empty() && parsed_manifest_) | 204 if (error_.empty() && (parsed_manifest_ || manifest_.empty())) |
200 delegate_->OnWebstoreParseSuccess(id_, icon_, parsed_manifest_.release()); | 205 delegate_->OnWebstoreParseSuccess(id_, icon_, parsed_manifest_.release()); |
201 else | 206 else |
202 delegate_->OnWebstoreParseFailure(id_, parse_error_, error_); | 207 delegate_->OnWebstoreParseFailure(id_, parse_error_, error_); |
203 } | 208 } |
204 | 209 |
205 } // namespace extensions | 210 } // namespace extensions |
OLD | NEW |