summaryrefslogtreecommitdiffstats
path: root/webkit/glue/media/buffered_data_source.cc
diff options
context:
space:
mode:
authoracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-14 18:25:18 +0000
committeracolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-14 18:25:18 +0000
commit969956486a47bf72bec6d5df38ad9d1ec069500f (patch)
tree19fc475bb033f0b002da813147618d6131c4cb93 /webkit/glue/media/buffered_data_source.cc
parentf7f7d27ad1f998a4ed4295fa796870fe3628a285 (diff)
downloadchromium_src-969956486a47bf72bec6d5df38ad9d1ec069500f.zip
chromium_src-969956486a47bf72bec6d5df38ad9d1ec069500f.tar.gz
chromium_src-969956486a47bf72bec6d5df38ad9d1ec069500f.tar.bz2
Fix HasSingleOrigin() so it properly handles double redirect & added unit test.
BUG=72625 TEST=BufferedResourceLoaderTest.HasSingleOrigin, SimpleDataSourceTest.HasSingleOrigin Review URL: http://codereview.chromium.org/6488008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74829 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/media/buffered_data_source.cc')
-rw-r--r--webkit/glue/media/buffered_data_source.cc9
1 files changed, 1 insertions, 8 deletions
diff --git a/webkit/glue/media/buffered_data_source.cc b/webkit/glue/media/buffered_data_source.cc
index 4449100..913d400 100644
--- a/webkit/glue/media/buffered_data_source.cc
+++ b/webkit/glue/media/buffered_data_source.cc
@@ -38,7 +38,6 @@ BufferedDataSource::BufferedDataSource(
loaded_(false),
streaming_(false),
frame_(frame),
- single_origin_(true),
loader_(NULL),
network_activity_(false),
initialize_callback_(NULL),
@@ -173,7 +172,7 @@ bool BufferedDataSource::IsStreaming() {
bool BufferedDataSource::HasSingleOrigin() {
DCHECK(MessageLoop::current() == render_loop_);
- return single_origin_;
+ return loader_.get() ? loader_->HasSingleOrigin() : true;
}
void BufferedDataSource::Abort() {
@@ -406,9 +405,6 @@ void BufferedDataSource::HttpInitialStartCallback(int error) {
DCHECK(MessageLoop::current() == render_loop_);
DCHECK(loader_.get());
- // Check if the request ended up at a different origin via redirect.
- single_origin_ = url_.GetOrigin() == loader_->url().GetOrigin();
-
int64 instance_size = loader_->instance_size();
bool partial_response = loader_->partial_response();
bool success = error == net::OK;
@@ -475,9 +471,6 @@ void BufferedDataSource::NonHttpInitialStartCallback(int error) {
DCHECK(MessageLoop::current() == render_loop_);
DCHECK(loader_.get());
- // Check if the request ended up at a different origin via redirect.
- single_origin_ = url_.GetOrigin() == loader_->url().GetOrigin();
-
int64 instance_size = loader_->instance_size();
bool success = error == net::OK && instance_size != kPositionNotSpecified;