1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ios/web/webui/url_fetcher_block_adapter.h"
7 #include "base/logging.h"
8 #include "net/url_request/url_fetcher.h"
9 #include "net/url_request/url_request_context_getter.h"
13 URLFetcherBlockAdapter::URLFetcherBlockAdapter(
15 net::URLRequestContextGetter* request_context,
16 web::URLFetcherBlockAdapterCompletion completion_handler)
18 request_context_(request_context),
19 completion_handler_([completion_handler copy]) {
22 URLFetcherBlockAdapter::~URLFetcherBlockAdapter() {
25 void URLFetcherBlockAdapter::Start() {
26 fetcher_ = net::URLFetcher::Create(url_, net::URLFetcher::GET, this);
27 fetcher_->SetRequestContext(request_context_);
31 void URLFetcherBlockAdapter::OnURLFetchComplete(const net::URLFetcher* source) {
33 if (!source->GetResponseAsString(&response)) {
34 DLOG(WARNING) << "String for resource URL not found" << source->GetURL();
37 [NSData dataWithBytes:response.c_str() length:response.length()];
38 completion_handler_.get()(data, this);