summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/alt_error_page_resource_fetcher.cc5
-rw-r--r--webkit/glue/image_resource_fetcher.cc9
-rw-r--r--webkit/glue/image_resource_fetcher.h3
-rw-r--r--webkit/glue/resource_fetcher.cc14
-rw-r--r--webkit/glue/resource_fetcher.h15
-rw-r--r--webkit/glue/resource_fetcher_unittest.cc17
-rw-r--r--webkit/glue/resource_type.h3
-rw-r--r--webkit/glue/weburlloader_impl.cc2
8 files changed, 46 insertions, 22 deletions
diff --git a/webkit/glue/alt_error_page_resource_fetcher.cc b/webkit/glue/alt_error_page_resource_fetcher.cc
index 4e1867d..da95e47 100644
--- a/webkit/glue/alt_error_page_resource_fetcher.cc
+++ b/webkit/glue/alt_error_page_resource_fetcher.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -9,6 +9,7 @@
using WebKit::WebFrame;
using WebKit::WebURLError;
+using WebKit::WebURLRequest;
using WebKit::WebURLResponse;
namespace webkit_glue {
@@ -26,7 +27,7 @@ AltErrorPageResourceFetcher::AltErrorPageResourceFetcher(
callback_(callback),
original_error_(original_error) {
fetcher_.reset(new ResourceFetcherWithTimeout(
- url, frame, kDownloadTimeoutSec,
+ url, frame, WebURLRequest::TargetIsMainFrame, kDownloadTimeoutSec,
NewCallback(this, &AltErrorPageResourceFetcher::OnURLFetchComplete)));
}
diff --git a/webkit/glue/image_resource_fetcher.cc b/webkit/glue/image_resource_fetcher.cc
index 65d80bd..6a37a34 100644
--- a/webkit/glue/image_resource_fetcher.cc
+++ b/webkit/glue/image_resource_fetcher.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -11,6 +11,8 @@
#include "third_party/skia/include/core/SkBitmap.h"
using WebKit::WebFrame;
+using WebKit::WebURLRequest;
+using WebKit::WebURLResponse;
namespace webkit_glue {
@@ -19,13 +21,14 @@ ImageResourceFetcher::ImageResourceFetcher(
WebFrame* frame,
int id,
int image_size,
+ WebURLRequest::TargetType target_type,
Callback* callback)
: callback_(callback),
id_(id),
image_url_(image_url),
image_size_(image_size) {
fetcher_.reset(new ResourceFetcher(
- image_url, frame,
+ image_url, frame, target_type,
NewCallback(this, &ImageResourceFetcher::OnURLFetchComplete)));
}
@@ -35,7 +38,7 @@ ImageResourceFetcher::~ImageResourceFetcher() {
}
void ImageResourceFetcher::OnURLFetchComplete(
- const WebKit::WebURLResponse& response,
+ const WebURLResponse& response,
const std::string& data) {
SkBitmap bitmap;
if (!response.isNull() && response.httpStatusCode() == 200) {
diff --git a/webkit/glue/image_resource_fetcher.h b/webkit/glue/image_resource_fetcher.h
index 8c6f70c..ff69bdb 100644
--- a/webkit/glue/image_resource_fetcher.h
+++ b/webkit/glue/image_resource_fetcher.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -24,6 +24,7 @@ class ImageResourceFetcher {
WebKit::WebFrame* frame,
int id,
int image_size,
+ WebKit::WebURLRequest::TargetType target_type,
Callback* callback);
virtual ~ImageResourceFetcher();
diff --git a/webkit/glue/resource_fetcher.cc b/webkit/glue/resource_fetcher.cc
index 2e2fc74..2b3d47f 100644
--- a/webkit/glue/resource_fetcher.cc
+++ b/webkit/glue/resource_fetcher.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -23,10 +23,12 @@ using WebKit::WebURLResponse;
namespace webkit_glue {
ResourceFetcher::ResourceFetcher(const GURL& url, WebFrame* frame,
- Callback* c)
+ WebURLRequest::TargetType target_type,
+ Callback* callback)
: url_(url),
+ target_type_(target_type),
completed_(false),
- callback_(c) {
+ callback_(callback) {
// 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);
@@ -47,6 +49,7 @@ void ResourceFetcher::Cancel() {
void ResourceFetcher::Start(WebFrame* frame) {
WebURLRequest request(url_);
+ request.setTargetType(target_type_);
frame->dispatchWillSendRequest(request);
loader_.reset(WebKit::webKitClient()->createURLLoader());
@@ -121,8 +124,9 @@ void ResourceFetcher::didFail(WebURLLoader* loader, const WebURLError& error) {
// A resource fetcher with a timeout
ResourceFetcherWithTimeout::ResourceFetcherWithTimeout(
- const GURL& url, WebFrame* frame, int timeout_secs, Callback* c)
- : ResourceFetcher(url, frame, c) {
+ const GURL& url, WebFrame* frame, WebURLRequest::TargetType target_type,
+ int timeout_secs, Callback* callback)
+ : ResourceFetcher(url, frame, target_type, callback) {
timeout_timer_.Start(TimeDelta::FromSeconds(timeout_secs), this,
&ResourceFetcherWithTimeout::TimeoutFired);
}
diff --git a/webkit/glue/resource_fetcher.h b/webkit/glue/resource_fetcher.h
index 908658e..1fba6d7 100644
--- a/webkit/glue/resource_fetcher.h
+++ b/webkit/glue/resource_fetcher.h
@@ -20,6 +20,7 @@
#include "base/timer.h"
#include "googleurl/src/gurl.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLLoaderClient.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLRequest.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLResponse.h"
class GURL;
@@ -27,7 +28,6 @@ class GURL;
namespace WebKit {
class WebFrame;
class WebURLLoader;
-class WebURLRequest;
struct WebURLError;
}
@@ -43,7 +43,8 @@ class ResourceFetcher : public WebKit::WebURLLoaderClient {
// We need a frame to make requests.
ResourceFetcher(
- const GURL& url, WebKit::WebFrame* frame, Callback* callback);
+ const GURL& url, WebKit::WebFrame* frame,
+ WebKit::WebURLRequest::TargetType target_type, Callback* callback);
~ResourceFetcher();
// Stop the request and don't call the callback.
@@ -77,6 +78,9 @@ class ResourceFetcher : public WebKit::WebURLLoaderClient {
// URL we're fetching
GURL url_;
+ // Target type
+ WebKit::WebURLRequest::TargetType target_type_;
+
// A copy of the original resource response
WebKit::WebURLResponse response_;
@@ -104,8 +108,11 @@ class ResourceFetcher : public WebKit::WebURLLoaderClient {
// A resource fetcher with a timeout
class ResourceFetcherWithTimeout : public ResourceFetcher {
public:
- ResourceFetcherWithTimeout(const GURL& url, WebKit::WebFrame* frame,
- int timeout_secs, Callback* c);
+ ResourceFetcherWithTimeout(const GURL& url,
+ WebKit::WebFrame* frame,
+ WebKit::WebURLRequest::TargetType target_type,
+ int timeout_secs,
+ Callback* callback);
virtual ~ResourceFetcherWithTimeout();
private:
diff --git a/webkit/glue/resource_fetcher_unittest.cc b/webkit/glue/resource_fetcher_unittest.cc
index 965d285..2888a94 100644
--- a/webkit/glue/resource_fetcher_unittest.cc
+++ b/webkit/glue/resource_fetcher_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -15,6 +15,7 @@
#include "webkit/tools/test_shell/test_shell_test.h"
using WebKit::WebFrame;
+using WebKit::WebURLRequest;
using WebKit::WebURLResponse;
using webkit_glue::ResourceFetcher;
using webkit_glue::ResourceFetcherWithTimeout;
@@ -102,7 +103,7 @@ TEST_F(ResourceFetcherTests, FLAKY_ResourceFetcherDownload) {
GURL url(test_server_.GetURL("files/test_shell/index.html"));
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
scoped_ptr<ResourceFetcher> fetcher(new ResourceFetcher(
- url, frame, delegate->NewCallback()));
+ url, frame, WebURLRequest::TargetIsMainFrame, delegate->NewCallback()));
delegate->WaitForResponse();
@@ -114,7 +115,9 @@ TEST_F(ResourceFetcherTests, FLAKY_ResourceFetcherDownload) {
// Test 404 response.
url = test_server_.GetURL("files/thisfiledoesntexist.html");
delegate.reset(new FetcherDelegate);
- fetcher.reset(new ResourceFetcher(url, frame, delegate->NewCallback()));
+ fetcher.reset(new ResourceFetcher(url, frame,
+ WebURLRequest::TargetIsMainFrame,
+ delegate->NewCallback()));
delegate->WaitForResponse();
@@ -133,7 +136,7 @@ TEST_F(ResourceFetcherTests, FLAKY_ResourceFetcherDidFail) {
GURL url("http://localhost:1339/doesnotexist");
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
scoped_ptr<ResourceFetcher> fetcher(new ResourceFetcher(
- url, frame, delegate->NewCallback()));
+ url, frame, WebURLRequest::TargetIsMainFrame, delegate->NewCallback()));
delegate->WaitForResponse();
@@ -155,7 +158,8 @@ TEST_F(ResourceFetcherTests, ResourceFetcherTimeout) {
GURL url(test_server_.GetURL("slow?1"));
scoped_ptr<FetcherDelegate> delegate(new FetcherDelegate);
scoped_ptr<ResourceFetcher> fetcher(new ResourceFetcherWithTimeout(
- url, frame, 0, delegate->NewCallback()));
+ url, frame, WebURLRequest::TargetIsMainFrame,
+ 0, delegate->NewCallback()));
delegate->WaitForResponse();
@@ -195,7 +199,8 @@ TEST_F(ResourceFetcherTests, ResourceFetcherDeletedInCallback) {
GURL url(test_server_.GetURL("slow?1"));
scoped_ptr<EvilFetcherDelegate> delegate(new EvilFetcherDelegate);
scoped_ptr<ResourceFetcher> fetcher(new ResourceFetcherWithTimeout(
- url, frame, 0, delegate->NewCallback()));
+ url, frame, WebURLRequest::TargetIsMainFrame,
+ 0, delegate->NewCallback()));
delegate->SetFetcher(fetcher.release());
delegate->WaitForResponse();
diff --git a/webkit/glue/resource_type.h b/webkit/glue/resource_type.h
index 1de4fd2..224656a 100644
--- a/webkit/glue/resource_type.h
+++ b/webkit/glue/resource_type.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -23,6 +23,7 @@ class ResourceType {
WORKER, // the main resource of a dedicated worker.
SHARED_WORKER, // the main resource of a shared worker.
PREFETCH, // an explicitly requested prefetch
+ FAVICON, // a favicon
LAST_TYPE // Place holder so we don't need to change ValidType
// everytime.
};
diff --git a/webkit/glue/weburlloader_impl.cc b/webkit/glue/weburlloader_impl.cc
index c3d79be..bb7bf68 100644
--- a/webkit/glue/weburlloader_impl.cc
+++ b/webkit/glue/weburlloader_impl.cc
@@ -135,6 +135,8 @@ ResourceType::Type FromTargetType(WebURLRequest::TargetType type) {
return ResourceType::SHARED_WORKER;
case WebURLRequest::TargetIsPrefetch:
return ResourceType::PREFETCH;
+ case WebURLRequest::TargetIsFavicon:
+ return ResourceType::FAVICON;
default:
NOTREACHED();
return ResourceType::SUB_RESOURCE;