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

Unified Diff: webkit/glue/resource_fetcher.cc

Issue 149172: Modify ResourceFetcher to use WebURLLoader instead of ResourceHandle.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/glue/resource_fetcher.h ('k') | webkit/glue/resource_fetcher_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/resource_fetcher.cc
===================================================================
--- webkit/glue/resource_fetcher.cc (revision 19821)
+++ webkit/glue/resource_fetcher.cc (working copy)
@@ -2,30 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "config.h"
#include "webkit/glue/resource_fetcher.h"
-#include "base/compiler_specific.h"
+#include "base/logging.h"
+#include "webkit/api/public/WebKit.h"
+#include "webkit/api/public/WebKitClient.h"
+#include "webkit/api/public/WebURLError.h"
+#include "webkit/api/public/WebURLLoader.h"
+#include "webkit/api/public/WebURLRequest.h"
+#include "webkit/api/public/WebURL.h"
+#include "webkit/glue/webframe.h"
-MSVC_PUSH_WARNING_LEVEL(0);
-#include "FrameLoader.h"
-#include "FrameLoaderClient.h"
-#include "ResourceHandle.h"
-#include "ResourceRequest.h"
-MSVC_POP_WARNING();
+using base::TimeDelta;
+using WebKit::WebURLError;
+using WebKit::WebURLLoader;
+using WebKit::WebURLRequest;
+using WebKit::WebURLResponse;
-#undef LOG
-#include "base/logging.h"
-#include "webkit/glue/glue_util.h"
-#include "net/url_request/url_request_status.h"
+namespace webkit_glue {
-using WebCore::ResourceError;
-using WebCore::ResourceHandle;
-using WebCore::ResourceResponse;
-
-ResourceFetcher::ResourceFetcher(const GURL& url, WebCore::Frame* frame,
- Delegate* d)
- : url_(url), delegate_(d), completed_(false) {
+ResourceFetcher::ResourceFetcher(const GURL& url, WebFrame* frame,
+ Callback* c)
+ : url_(url), callback_(c), completed_(false) {
brettw 2009/07/07 15:59:53 Can you put these initializers on separate lines?
darin (slow to review) 2009/07/07 16:20:52 OK
// Can't do anything without a frame. However, delegate can be NULL (so we
// can do a http request and ignore the results).
DCHECK(frame);
@@ -35,7 +33,6 @@
ResourceFetcher::~ResourceFetcher() {
if (!completed_ && loader_.get())
loader_->cancel();
- loader_ = NULL;
}
void ResourceFetcher::Cancel() {
@@ -45,68 +42,74 @@
}
}
-void ResourceFetcher::Start(WebCore::Frame* frame) {
- WebCore::ResourceRequest request(webkit_glue::GURLToKURL(url_));
- WebCore::ResourceResponse response;
- frame->loader()->client()->dispatchWillSendRequest(NULL, 0, request,
- response);
+void ResourceFetcher::Start(WebFrame* frame) {
+ WebURLRequest request(url_);
+ frame->DispatchWillSendRequest(&request);
- loader_ = ResourceHandle::create(request, this, NULL, false, false);
+ loader_.reset(WebKit::webKitClient()->createURLLoader());
+ loader_->loadAsynchronously(request, this);
}
/////////////////////////////////////////////////////////////////////////////
-// ResourceHandleClient methods
-void ResourceFetcher::didReceiveResponse(ResourceHandle* resource_handle,
- const ResourceResponse& response) {
- ASSERT(!completed_);
- // It's safe to use the ResourceResponse copy constructor
- // (xmlhttprequest.cpp uses it).
+// WebURLLoaderClient methods
+
+void ResourceFetcher::willSendRequest(
+ WebURLLoader* loader, WebURLRequest& new_request,
+ const WebURLResponse& redirect_response) {
+}
+
+void ResourceFetcher::didSendData(
+ WebURLLoader* loader, unsigned long long bytes_sent,
+ unsigned long long total_bytes_to_be_sent) {
+}
+
+void ResourceFetcher::didReceiveResponse(
+ WebURLLoader* loader, const WebURLResponse& response) {
+ DCHECK(!completed_);
response_ = response;
}
-void ResourceFetcher::didReceiveData(ResourceHandle* resource_handle,
- const char* data, int length,
- int total_length) {
- ASSERT(!completed_);
- if (length <= 0)
- return;
+void ResourceFetcher::didReceiveData(
+ WebURLLoader* loader, const char* data, int data_length,
+ long long total_data_length) {
+ DCHECK(!completed_);
+ DCHECK(data_length > 0);
- data_.append(data, length);
+ data_.append(data, data_length);
}
-void ResourceFetcher::didFinishLoading(ResourceHandle* resource_handle) {
- ASSERT(!completed_);
+void ResourceFetcher::didFinishLoading(WebURLLoader* loader) {
+ DCHECK(!completed_);
completed_ = true;
- if (delegate_)
- delegate_->OnURLFetchComplete(response_, data_);
+ if (callback_)
+ callback_->Run(response_, data_);
}
-void ResourceFetcher::didFail(ResourceHandle* resource_handle,
- const ResourceError& error) {
- ASSERT(!completed_);
+void ResourceFetcher::didFail(WebURLLoader* loader, const WebURLError& error) {
+ DCHECK(!completed_);
completed_ = true;
- // Go ahead and tell our delegate that we're done. Send an empty
- // ResourceResponse and string.
- if (delegate_)
- delegate_->OnURLFetchComplete(ResourceResponse(), std::string());
+ // Go ahead and tell our delegate that we're done.
+ if (callback_)
+ callback_->Run(WebURLResponse(), std::string());
}
/////////////////////////////////////////////////////////////////////////////
// A resource fetcher with a timeout
ResourceFetcherWithTimeout::ResourceFetcherWithTimeout(
- const GURL& url, WebCore::Frame* frame, double timeout_secs, Delegate* d)
- : ResourceFetcher(url, frame, d) {
- timeout_timer_.reset(new FetchTimer(this,
- &ResourceFetcherWithTimeout::TimeoutFired));
- timeout_timer_->startOneShot(timeout_secs);
+ const GURL& url, WebFrame* frame, int timeout_secs, Callback* c)
+ : ResourceFetcher(url, frame, c) {
+ timeout_timer_.Start(TimeDelta::FromSeconds(timeout_secs), this,
+ &ResourceFetcherWithTimeout::TimeoutFired);
}
-void ResourceFetcherWithTimeout::TimeoutFired(FetchTimer* timer) {
+void ResourceFetcherWithTimeout::TimeoutFired() {
if (!completed_) {
loader_->cancel();
- didFail(NULL, ResourceError());
+ didFail(NULL, WebURLError());
}
}
+
+} // namespace webkit_glue
« no previous file with comments | « webkit/glue/resource_fetcher.h ('k') | webkit/glue/resource_fetcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698