| 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 |