diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/alt_error_page_resource_fetcher.cc | 5 | ||||
-rw-r--r-- | webkit/glue/image_resource_fetcher.cc | 9 | ||||
-rw-r--r-- | webkit/glue/image_resource_fetcher.h | 3 | ||||
-rw-r--r-- | webkit/glue/resource_fetcher.cc | 14 | ||||
-rw-r--r-- | webkit/glue/resource_fetcher.h | 15 | ||||
-rw-r--r-- | webkit/glue/resource_fetcher_unittest.cc | 17 | ||||
-rw-r--r-- | webkit/glue/resource_type.h | 3 | ||||
-rw-r--r-- | webkit/glue/weburlloader_impl.cc | 2 |
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; |