#include "base/values.h"
#include "chrome/browser/extensions/webstore_data_fetcher_delegate.h"
#include "chrome/browser/safe_json_parser.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "extensions/common/extension_urls.h"
#include "net/base/load_flags.h"
#include "net/url_request/url_fetcher.h"
#include "net/url_request/url_request_status.h"
: delegate_(delegate),
request_context_(request_context),
referrer_url_(referrer_url),
- id_(webstore_item_id) {
+ id_(webstore_item_id),
+ max_auto_retries_(0) {
}
WebstoreDataFetcher::~WebstoreDataFetcher() {}
webstore_data_url_fetcher_->SetReferrer(referrer_url_.spec());
webstore_data_url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES |
net::LOAD_DISABLE_CACHE);
+ if (max_auto_retries_ > 0) {
+ webstore_data_url_fetcher_->SetMaxRetriesOn5xx(max_auto_retries_);
+ webstore_data_url_fetcher_->SetAutomaticallyRetryOnNetworkChanges(
+ max_auto_retries_);
+ }
webstore_data_url_fetcher_->Start();
}
return;
}
- delegate_->OnWebstoreResponseParseSuccess(
- static_cast<base::DictionaryValue*>(parsed_json.release()));
+ delegate_->OnWebstoreResponseParseSuccess(scoped_ptr<base::DictionaryValue>(
+ static_cast<base::DictionaryValue*>(parsed_json.release())));
}
void WebstoreDataFetcher::OnJsonParseFailure(