OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 | 8 |
9 MSVC_PUSH_WARNING_LEVEL(0); | 9 MSVC_PUSH_WARNING_LEVEL(0); |
10 #include "DocumentLoader.h" | 10 #include "DocumentLoader.h" |
11 MSVC_POP_WARNING(); | 11 MSVC_POP_WARNING(); |
12 #undef LOG | 12 #undef LOG |
13 | 13 |
14 #include "webkit/glue/alt_404_page_resource_fetcher.h" | 14 #include "webkit/glue/alt_404_page_resource_fetcher.h" |
15 | 15 |
16 #include "googleurl/src/gurl.h" | 16 #include "googleurl/src/gurl.h" |
| 17 #include "webkit/glue/webframe_impl.h" |
17 #include "webkit/glue/webframeloaderclient_impl.h" | 18 #include "webkit/glue/webframeloaderclient_impl.h" |
18 | 19 |
19 using WebCore::DocumentLoader; | 20 using WebCore::DocumentLoader; |
| 21 using WebKit::WebURLResponse; |
| 22 |
| 23 namespace webkit_glue { |
20 | 24 |
21 // Number of seconds to wait for the alternate 404 page server. If it takes | 25 // Number of seconds to wait for the alternate 404 page server. If it takes |
22 // too long, just show the original 404 page. | 26 // too long, just show the original 404 page. |
23 static const double kDownloadTimeoutSec = 3.0; | 27 static const int kDownloadTimeoutSec = 3; |
24 | 28 |
25 Alt404PageResourceFetcher::Alt404PageResourceFetcher( | 29 Alt404PageResourceFetcher::Alt404PageResourceFetcher( |
26 WebFrameLoaderClient* webframeloaderclient, | 30 WebFrameLoaderClient* webframeloaderclient, |
27 WebCore::Frame* frame, | 31 WebCore::Frame* frame, |
28 DocumentLoader* doc_loader, | 32 DocumentLoader* doc_loader, |
29 const GURL& url) | 33 const GURL& url) |
30 : webframeloaderclient_(webframeloaderclient), | 34 : webframeloaderclient_(webframeloaderclient), |
31 doc_loader_(doc_loader) { | 35 doc_loader_(doc_loader) { |
32 | 36 |
33 fetcher_.reset(new ResourceFetcherWithTimeout(url, frame, | 37 fetcher_.reset(new ResourceFetcherWithTimeout( |
34 kDownloadTimeoutSec, this)); | 38 url, WebFrameImpl::FromFrame(frame), kDownloadTimeoutSec, |
| 39 NewCallback(this, &Alt404PageResourceFetcher::OnURLFetchComplete))); |
35 } | 40 } |
36 | 41 |
37 void Alt404PageResourceFetcher::OnURLFetchComplete( | 42 void Alt404PageResourceFetcher::OnURLFetchComplete( |
38 const WebCore::ResourceResponse& response, | 43 const WebURLResponse& response, |
39 const std::string& data) { | 44 const std::string& data) { |
40 if (response.httpStatusCode() == 200) { | 45 if (response.httpStatusCode() == 200) { |
41 // Only show server response if we got a 200. | 46 // Only show server response if we got a 200. |
42 webframeloaderclient_->Alt404PageFinished(doc_loader_.get(), data); | 47 webframeloaderclient_->Alt404PageFinished(doc_loader_.get(), data); |
43 } else { | 48 } else { |
44 webframeloaderclient_->Alt404PageFinished(doc_loader_.get(), std::string()); | 49 webframeloaderclient_->Alt404PageFinished(doc_loader_.get(), std::string()); |
45 } | 50 } |
46 doc_loader_ = NULL; | 51 doc_loader_ = NULL; |
47 } | 52 } |
| 53 |
| 54 } // namespace webkit_glue |
OLD | NEW |