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

Side by Side Diff: components/translate/core/browser/translate_url_fetcher.cc

Issue 131463002: Move TranslateURLFetcher to the translate component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix translate.gypi for real Created 6 years, 11 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
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/translate/translate_url_fetcher.h" 5 #include "components/translate/core/browser/translate_url_fetcher.h"
6 6
7 #include "chrome/browser/browser_process.h" 7 #include "components/translate/core/browser/translate_delegate.h"
8 #include "net/base/load_flags.h" 8 #include "net/base/load_flags.h"
9 #include "net/http/http_status_code.h" 9 #include "net/http/http_status_code.h"
10 #include "net/url_request/url_fetcher.h" 10 #include "net/url_request/url_fetcher.h"
11 #include "net/url_request/url_request_status.h" 11 #include "net/url_request/url_request_status.h"
12 12
13 namespace { 13 namespace {
14 14
15 // Retry parameter for fetching. 15 // Retry parameter for fetching.
16 const int kMaxRetry = 16; 16 const int kMaxRetry = 16;
17 17
18 } // namespace 18 } // namespace
19 19
20 TranslateURLFetcher::TranslateURLFetcher(int id) 20 TranslateURLFetcher::TranslateURLFetcher(int id, TranslateDelegate* delegate)
21 : id_(id), 21 : id_(id),
22 translate_delegate_(delegate),
22 state_(IDLE), 23 state_(IDLE),
23 retry_count_(0) { 24 retry_count_(0) {
24 } 25 }
25 26
26 TranslateURLFetcher::~TranslateURLFetcher() { 27 TranslateURLFetcher::~TranslateURLFetcher() {
27 } 28 }
28 29
29 bool TranslateURLFetcher::Request( 30 bool TranslateURLFetcher::Request(
30 const GURL& url, 31 const GURL& url,
31 const TranslateURLFetcher::Callback& callback) { 32 const TranslateURLFetcher::Callback& callback) {
(...skipping 12 matching lines...) Expand all
44 url_ = url; 45 url_ = url;
45 callback_ = callback; 46 callback_ = callback;
46 47
47 fetcher_.reset(net::URLFetcher::Create( 48 fetcher_.reset(net::URLFetcher::Create(
48 id_, 49 id_,
49 url_, 50 url_,
50 net::URLFetcher::GET, 51 net::URLFetcher::GET,
51 this)); 52 this));
52 fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | 53 fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
53 net::LOAD_DO_NOT_SAVE_COOKIES); 54 net::LOAD_DO_NOT_SAVE_COOKIES);
54 fetcher_->SetRequestContext(g_browser_process->system_request_context()); 55 fetcher_->SetRequestContext(translate_delegate_->GetURLRequestContext());
55 // Set retry parameter for HTTP status code 5xx. This doesn't work against 56 // Set retry parameter for HTTP status code 5xx. This doesn't work against
56 // 106 (net::ERR_INTERNET_DISCONNECTED) and so on. 57 // 106 (net::ERR_INTERNET_DISCONNECTED) and so on.
57 // TranslateLanguageList handles network status, and implements retry. 58 // TranslateLanguageList handles network status, and implements retry.
58 fetcher_->SetMaxRetriesOn5xx(max_retry_on_5xx_); 59 fetcher_->SetMaxRetriesOn5xx(max_retry_on_5xx_);
59 if (!extra_request_header_.empty()) 60 if (!extra_request_header_.empty())
60 fetcher_->SetExtraRequestHeaders(extra_request_header_); 61 fetcher_->SetExtraRequestHeaders(extra_request_header_);
61 62
62 fetcher_->Start(); 63 fetcher_->Start();
63 64
64 return true; 65 return true;
65 } 66 }
66 67
67 void TranslateURLFetcher::OnURLFetchComplete(const net::URLFetcher* source) { 68 void TranslateURLFetcher::OnURLFetchComplete(const net::URLFetcher* source) {
68 DCHECK(fetcher_.get() == source); 69 DCHECK(fetcher_.get() == source);
69 70
70 std::string data; 71 std::string data;
71 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS && 72 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS &&
72 source->GetResponseCode() == net::HTTP_OK) { 73 source->GetResponseCode() == net::HTTP_OK) {
73 state_ = COMPLETED; 74 state_ = COMPLETED;
74 source->GetResponseAsString(&data); 75 source->GetResponseAsString(&data);
75 } else { 76 } else {
76 state_ = FAILED; 77 state_ = FAILED;
77 } 78 }
78 79
79 // Transfer URLFetcher's ownership before invoking a callback. 80 // Transfer URLFetcher's ownership before invoking a callback.
80 scoped_ptr<const net::URLFetcher> delete_ptr(fetcher_.release()); 81 scoped_ptr<const net::URLFetcher> delete_ptr(fetcher_.release());
81 callback_.Run(id_, state_ == COMPLETED, data); 82 callback_.Run(id_, state_ == COMPLETED, data);
82 } 83 }
OLDNEW
« no previous file with comments | « components/translate/core/browser/translate_url_fetcher.h ('k') | tools/gn/secondary/components/translate/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698