summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-12 00:08:08 +0000
committerasargent@chromium.org <asargent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-12 00:08:08 +0000
commite5021e9218ee9a1ce119d883f162caeed26b1934 (patch)
tree8ba8f8d3098877c2104427fd9cdcb2814b3deae6
parent498fca602694169c686e796a051bb696482ba321 (diff)
downloadchromium_src-e5021e9218ee9a1ce119d883f162caeed26b1934.zip
chromium_src-e5021e9218ee9a1ce119d883f162caeed26b1934.tar.gz
chromium_src-e5021e9218ee9a1ce119d883f162caeed26b1934.tar.bz2
Do not send or store cookies for extensions autoupdate http requests.
BUG=18641 TEST=none Review URL: http://codereview.chromium.org/196097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26054 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_updater.cc5
-rw-r--r--chrome/browser/extensions/extension_updater.h2
-rw-r--r--chrome/browser/extensions/extension_updater_unittest.cc10
-rw-r--r--chrome/browser/net/url_fetcher.cc4
-rw-r--r--chrome/browser/net/url_fetcher.h3
5 files changed, 22 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_updater.cc b/chrome/browser/extensions/extension_updater.cc
index 511c218..774d892 100644
--- a/chrome/browser/extensions/extension_updater.cc
+++ b/chrome/browser/extensions/extension_updater.cc
@@ -28,6 +28,7 @@
#include "chrome/common/pref_service.h"
#include "googleurl/src/gurl.h"
#include "net/base/escape.h"
+#include "net/base/load_flags.h"
#include "net/url_request/url_request_status.h"
using base::RandDouble;
@@ -600,6 +601,8 @@ void ExtensionUpdater::StartUpdateCheck(const GURL& url) {
manifest_fetcher_.reset(
URLFetcher::Create(kManifestFetcherId, url, URLFetcher::GET, this));
manifest_fetcher_->set_request_context(Profile::GetDefaultRequestContext());
+ manifest_fetcher_->set_load_flags(net::LOAD_DO_NOT_SEND_COOKIES |
+ net::LOAD_DO_NOT_SAVE_COOKIES);
manifest_fetcher_->Start();
}
}
@@ -625,6 +628,8 @@ void ExtensionUpdater::FetchUpdatedExtension(const std::string& id,
URLFetcher::Create(kExtensionFetcherId, url, URLFetcher::GET, this));
extension_fetcher_->set_request_context(
Profile::GetDefaultRequestContext());
+ extension_fetcher_->set_load_flags(net::LOAD_DO_NOT_SEND_COOKIES |
+ net::LOAD_DO_NOT_SAVE_COOKIES);
extension_fetcher_->Start();
current_extension_fetch_ = ExtensionFetch(id, url, hash, version);
}
diff --git a/chrome/browser/extensions/extension_updater.h b/chrome/browser/extensions/extension_updater.h
index 043ff96..48808ed 100644
--- a/chrome/browser/extensions/extension_updater.h
+++ b/chrome/browser/extensions/extension_updater.h
@@ -84,7 +84,7 @@ class ExtensionUpdater
// These are needed for unit testing, to help identify the correct mock
// URLFetcher objects.
static const int kManifestFetcherId = 1;
- static const int kExtensionFetcherId = 1;
+ static const int kExtensionFetcherId = 2;
static const char* kBlacklistUpdateUrl;
static const char* kBlacklistAppID;
diff --git a/chrome/browser/extensions/extension_updater_unittest.cc b/chrome/browser/extensions/extension_updater_unittest.cc
index 266244f..6abada9 100644
--- a/chrome/browser/extensions/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/extension_updater_unittest.cc
@@ -18,11 +18,13 @@
#include "chrome/common/pref_names.h"
#include "chrome/common/pref_service.h"
#include "net/base/escape.h"
+#include "net/base/load_flags.h"
#include "net/url_request/url_request_status.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "libxml/globals.h"
-
+static int expected_load_flags =
+ net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
// Do-nothing base class for further specialized test classes.
class MockService : public ExtensionUpdateService {
@@ -370,6 +372,7 @@ class ExtensionUpdaterTest : public testing::Test {
std::string invalid_xml = "invalid xml";
fetcher = factory.GetFetcherByID(ExtensionUpdater::kManifestFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, url1, URLRequestStatus(), 200, ResponseCookies(),
invalid_xml);
@@ -387,6 +390,7 @@ class ExtensionUpdaterTest : public testing::Test {
"</gupdate>";
fetcher = factory.GetFetcherByID(ExtensionUpdater::kManifestFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, url2, URLRequestStatus(), 200, ResponseCookies(),
kValidXml);
@@ -427,6 +431,7 @@ class ExtensionUpdaterTest : public testing::Test {
std::string extension_data("whatever");
fetcher = factory.GetFetcherByID(ExtensionUpdater::kExtensionFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, test_url, URLRequestStatus(), 200, ResponseCookies(),
extension_data);
@@ -474,6 +479,7 @@ class ExtensionUpdaterTest : public testing::Test {
std::string extension_data("aaabbb");
fetcher = factory.GetFetcherByID(ExtensionUpdater::kExtensionFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, test_url, URLRequestStatus(), 200, ResponseCookies(),
extension_data);
@@ -520,6 +526,7 @@ class ExtensionUpdaterTest : public testing::Test {
std::string extension_data1("whatever");
fetcher = factory.GetFetcherByID(ExtensionUpdater::kExtensionFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, url1, URLRequestStatus(), 200, ResponseCookies(),
extension_data1);
@@ -537,6 +544,7 @@ class ExtensionUpdaterTest : public testing::Test {
std::string extension_data2("whatever2");
fetcher = factory.GetFetcherByID(ExtensionUpdater::kExtensionFetcherId);
EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
+ EXPECT_TRUE(fetcher->load_flags() == expected_load_flags);
fetcher->delegate()->OnURLFetchComplete(
fetcher, url2, URLRequestStatus(), 200, ResponseCookies(),
extension_data2);
diff --git a/chrome/browser/net/url_fetcher.cc b/chrome/browser/net/url_fetcher.cc
index 03586eb..f0a2a3f 100644
--- a/chrome/browser/net/url_fetcher.cc
+++ b/chrome/browser/net/url_fetcher.cc
@@ -287,6 +287,10 @@ void URLFetcher::set_load_flags(int load_flags) {
core_->load_flags_ = load_flags;
}
+int URLFetcher::load_flags() const {
+ return core_->load_flags_;
+}
+
void URLFetcher::set_extra_request_headers(
const std::string& extra_request_headers) {
core_->extra_request_headers_ = extra_request_headers;
diff --git a/chrome/browser/net/url_fetcher.h b/chrome/browser/net/url_fetcher.h
index 6b1c87c..2419207 100644
--- a/chrome/browser/net/url_fetcher.h
+++ b/chrome/browser/net/url_fetcher.h
@@ -126,6 +126,9 @@ class URLFetcher {
// called before the request is started.
void set_load_flags(int load_flags);
+ // Returns the current load flags.
+ int load_flags() const;
+
// Set extra headers on the request. Must be called before the request
// is started.
void set_extra_request_headers(const std::string& extra_request_headers);