Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(733)

Side by Side Diff: chrome/browser/extensions/webstore_data_fetcher.cc

Issue 386633003: kiosk: Retry failed app data fetch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor tweak to use URLFetcher default behavior rather than set 0 retry Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_data_fetcher.h" 5 #include "chrome/browser/extensions/webstore_data_fetcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/extensions/webstore_data_fetcher_delegate.h" 9 #include "chrome/browser/extensions/webstore_data_fetcher_delegate.h"
10 #include "chrome/browser/safe_json_parser.h" 10 #include "chrome/browser/safe_json_parser.h"
(...skipping 11 matching lines...) Expand all
22 namespace extensions { 22 namespace extensions {
23 23
24 WebstoreDataFetcher::WebstoreDataFetcher( 24 WebstoreDataFetcher::WebstoreDataFetcher(
25 WebstoreDataFetcherDelegate* delegate, 25 WebstoreDataFetcherDelegate* delegate,
26 net::URLRequestContextGetter* request_context, 26 net::URLRequestContextGetter* request_context,
27 const GURL& referrer_url, 27 const GURL& referrer_url,
28 const std::string webstore_item_id) 28 const std::string webstore_item_id)
29 : delegate_(delegate), 29 : delegate_(delegate),
30 request_context_(request_context), 30 request_context_(request_context),
31 referrer_url_(referrer_url), 31 referrer_url_(referrer_url),
32 id_(webstore_item_id) { 32 id_(webstore_item_id),
33 max_auto_retries_(0) {
33 } 34 }
34 35
35 WebstoreDataFetcher::~WebstoreDataFetcher() {} 36 WebstoreDataFetcher::~WebstoreDataFetcher() {}
36 37
37 void WebstoreDataFetcher::Start() { 38 void WebstoreDataFetcher::Start() {
38 GURL webstore_data_url(extension_urls::GetWebstoreItemJsonDataURL(id_)); 39 GURL webstore_data_url(extension_urls::GetWebstoreItemJsonDataURL(id_));
39 40
40 webstore_data_url_fetcher_.reset(net::URLFetcher::Create( 41 webstore_data_url_fetcher_.reset(net::URLFetcher::Create(
41 webstore_data_url, net::URLFetcher::GET, this)); 42 webstore_data_url, net::URLFetcher::GET, this));
42 webstore_data_url_fetcher_->SetRequestContext(request_context_); 43 webstore_data_url_fetcher_->SetRequestContext(request_context_);
43 webstore_data_url_fetcher_->SetReferrer(referrer_url_.spec()); 44 webstore_data_url_fetcher_->SetReferrer(referrer_url_.spec());
44 webstore_data_url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES | 45 webstore_data_url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SAVE_COOKIES |
45 net::LOAD_DISABLE_CACHE); 46 net::LOAD_DISABLE_CACHE);
47 if (max_auto_retries_ > 0) {
48 webstore_data_url_fetcher_->SetMaxRetriesOn5xx(max_auto_retries_);
49 webstore_data_url_fetcher_->SetAutomaticallyRetryOnNetworkChanges(
50 max_auto_retries_);
51 }
46 webstore_data_url_fetcher_->Start(); 52 webstore_data_url_fetcher_->Start();
47 } 53 }
48 54
49 void WebstoreDataFetcher::OnJsonParseSuccess( 55 void WebstoreDataFetcher::OnJsonParseSuccess(
50 scoped_ptr<base::Value> parsed_json) { 56 scoped_ptr<base::Value> parsed_json) {
51 if (!parsed_json->IsType(base::Value::TYPE_DICTIONARY)) { 57 if (!parsed_json->IsType(base::Value::TYPE_DICTIONARY)) {
52 OnJsonParseFailure(kInvalidWebstoreResponseError); 58 OnJsonParseFailure(kInvalidWebstoreResponseError);
53 return; 59 return;
54 } 60 }
55 61
(...skipping 24 matching lines...) Expand all
80 new SafeJsonParser(webstore_json_data, 86 new SafeJsonParser(webstore_json_data,
81 base::Bind(&WebstoreDataFetcher::OnJsonParseSuccess, 87 base::Bind(&WebstoreDataFetcher::OnJsonParseSuccess,
82 AsWeakPtr()), 88 AsWeakPtr()),
83 base::Bind(&WebstoreDataFetcher::OnJsonParseFailure, 89 base::Bind(&WebstoreDataFetcher::OnJsonParseFailure,
84 AsWeakPtr())); 90 AsWeakPtr()));
85 // The parser will call us back via one of the callbacks. 91 // The parser will call us back via one of the callbacks.
86 parser->Start(); 92 parser->Start();
87 } 93 }
88 94
89 } // namespace extensions 95 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/webstore_data_fetcher.h ('k') | chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698