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
3 // found in the LICENSE file.
5 #include "content/renderer/fetchers/web_url_loader_client_impl.h"
7 #include "base/logging.h"
8 #include "third_party/WebKit/public/platform/WebURLError.h"
9 #include "third_party/WebKit/public/platform/WebURLLoader.h"
10 #include "third_party/WebKit/public/platform/WebURLResponse.h"
14 WebURLLoaderClientImpl::WebURLLoaderClientImpl()
19 WebURLLoaderClientImpl::~WebURLLoaderClientImpl() {
22 void WebURLLoaderClientImpl::didReceiveResponse(
23 blink::WebURLLoader
* loader
, const blink::WebURLResponse
& response
) {
28 void WebURLLoaderClientImpl::didReceiveData(
29 blink::WebURLLoader
* loader
,
32 int encoded_data_length
) {
33 // The AssociatedURLLoader will continue after a load failure.
34 // For example, for an Access Control error.
37 DCHECK(data_length
> 0);
39 data_
.append(data
, data_length
);
42 void WebURLLoaderClientImpl::didReceiveCachedMetadata(
43 blink::WebURLLoader
* loader
,
47 DCHECK(data_length
> 0);
49 metadata_
.assign(data
, data_length
);
52 void WebURLLoaderClientImpl::didFinishLoading(
53 blink::WebURLLoader
* loader
,
55 int64_t total_encoded_data_length
) {
56 // The AssociatedURLLoader will continue after a load failure.
57 // For example, for an Access Control error.
60 OnLoadCompleteInternal(LOAD_SUCCEEDED
);
63 void WebURLLoaderClientImpl::didFail(blink::WebURLLoader
* loader
,
64 const blink::WebURLError
& error
) {
65 OnLoadCompleteInternal(LOAD_FAILED
);
68 void WebURLLoaderClientImpl::Cancel() {
69 OnLoadCompleteInternal(LOAD_FAILED
);
72 void WebURLLoaderClientImpl::OnLoadCompleteInternal(LoadStatus status
) {
74 DCHECK(status_
== LOADING
);
82 } // namespace content