diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-26 02:23:47 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-26 02:23:47 +0000 |
commit | cf31d6fbef998e90f09a0004c9e429784396b855 (patch) | |
tree | 590ff1da367af7f3100cb6dfd44096cd08cfdd33 /webkit/glue/media/buffered_data_source.cc | |
parent | e0fcc515ac27f502b4e391fb7c1c865171bf7581 (diff) | |
download | chromium_src-cf31d6fbef998e90f09a0004c9e429784396b855.zip chromium_src-cf31d6fbef998e90f09a0004c9e429784396b855.tar.gz chromium_src-cf31d6fbef998e90f09a0004c9e429784396b855.tar.bz2 |
Add HasSingleOrigin() to WebDataSource.
BUG=25432, 55745
TEST=test_shell_tests and layout tests
Review URL: http://codereview.chromium.org/3984002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63845 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/media/buffered_data_source.cc')
-rw-r--r-- | webkit/glue/media/buffered_data_source.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/webkit/glue/media/buffered_data_source.cc b/webkit/glue/media/buffered_data_source.cc index 43d21f7..f97e7b5 100644 --- a/webkit/glue/media/buffered_data_source.cc +++ b/webkit/glue/media/buffered_data_source.cc @@ -529,6 +529,7 @@ BufferedDataSource::BufferedDataSource( : total_bytes_(kPositionNotSpecified), loaded_(false), streaming_(false), + single_origin_(true), bridge_factory_(bridge_factory), loader_(NULL), network_activity_(false), @@ -646,6 +647,11 @@ bool BufferedDataSource::IsStreaming() { return streaming_; } +bool BufferedDataSource::HasSingleOrigin() { + DCHECK(MessageLoop::current() == render_loop_); + return single_origin_; +} + void BufferedDataSource::Abort() { DCHECK(MessageLoop::current() == render_loop_); @@ -873,6 +879,9 @@ 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; @@ -937,6 +946,9 @@ 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; |