Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: media/blink/resource_multibuffer_data_provider.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/blink/multibuffer_data_source.cc ('k') | media/blink/texttrack_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/blink/resource_multibuffer_data_provider.h" 5 #include "media/blink/resource_multibuffer_data_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility>
8 9
9 #include "base/bind.h" 10 #include "base/bind.h"
10 #include "base/bits.h" 11 #include "base/bits.h"
11 #include "base/callback_helpers.h" 12 #include "base/callback_helpers.h"
12 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
13 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
14 #include "base/strings/string_number_conversions.h" 15 #include "base/strings/string_number_conversions.h"
15 #include "media/blink/active_loader.h" 16 #include "media/blink/active_loader.h"
16 #include "media/blink/cache_util.h" 17 #include "media/blink/cache_util.h"
17 #include "media/blink/media_blink_export.h" 18 #include "media/blink/media_blink_export.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 url_data_->frame()->setReferrerForRequest(request, blink::WebURL()); 76 url_data_->frame()->setReferrerForRequest(request, blink::WebURL());
76 77
77 // Disable compression, compression for audio/video doesn't make sense... 78 // Disable compression, compression for audio/video doesn't make sense...
78 request.setHTTPHeaderField( 79 request.setHTTPHeaderField(
79 WebString::fromUTF8(net::HttpRequestHeaders::kAcceptEncoding), 80 WebString::fromUTF8(net::HttpRequestHeaders::kAcceptEncoding),
80 WebString::fromUTF8("identity;q=1, *;q=0")); 81 WebString::fromUTF8("identity;q=1, *;q=0"));
81 82
82 // Check for our test WebURLLoader. 83 // Check for our test WebURLLoader.
83 scoped_ptr<WebURLLoader> loader; 84 scoped_ptr<WebURLLoader> loader;
84 if (test_loader_) { 85 if (test_loader_) {
85 loader = test_loader_.Pass(); 86 loader = std::move(test_loader_);
86 } else { 87 } else {
87 WebURLLoaderOptions options; 88 WebURLLoaderOptions options;
88 if (url_data_->cors_mode() == UrlData::CORS_UNSPECIFIED) { 89 if (url_data_->cors_mode() == UrlData::CORS_UNSPECIFIED) {
89 options.allowCredentials = true; 90 options.allowCredentials = true;
90 options.crossOriginRequestPolicy = 91 options.crossOriginRequestPolicy =
91 WebURLLoaderOptions::CrossOriginRequestPolicyAllow; 92 WebURLLoaderOptions::CrossOriginRequestPolicyAllow;
92 } else { 93 } else {
93 options.exposeAllResponseHeaders = true; 94 options.exposeAllResponseHeaders = true;
94 // The author header set is empty, no preflight should go ahead. 95 // The author header set is empty, no preflight should go ahead.
95 options.preflightPolicy = WebURLLoaderOptions::PreventPreflight; 96 options.preflightPolicy = WebURLLoaderOptions::PreventPreflight;
96 options.crossOriginRequestPolicy = 97 options.crossOriginRequestPolicy =
97 WebURLLoaderOptions::CrossOriginRequestPolicyUseAccessControl; 98 WebURLLoaderOptions::CrossOriginRequestPolicyUseAccessControl;
98 if (url_data_->cors_mode() == UrlData::CORS_USE_CREDENTIALS) 99 if (url_data_->cors_mode() == UrlData::CORS_USE_CREDENTIALS)
99 options.allowCredentials = true; 100 options.allowCredentials = true;
100 } 101 }
101 loader.reset(url_data_->frame()->createAssociatedURLLoader(options)); 102 loader.reset(url_data_->frame()->createAssociatedURLLoader(options));
102 } 103 }
103 104
104 // Start the resource loading. 105 // Start the resource loading.
105 loader->loadAsynchronously(request, this); 106 loader->loadAsynchronously(request, this);
106 active_loader_.reset(new ActiveLoader(loader.Pass())); 107 active_loader_.reset(new ActiveLoader(std::move(loader)));
107 } 108 }
108 109
109 ResourceMultiBufferDataProvider::~ResourceMultiBufferDataProvider() {} 110 ResourceMultiBufferDataProvider::~ResourceMultiBufferDataProvider() {}
110 111
111 ///////////////////////////////////////////////////////////////////////////// 112 /////////////////////////////////////////////////////////////////////////////
112 // MultiBuffer::DataProvider implementation. 113 // MultiBuffer::DataProvider implementation.
113 MultiBufferBlockId ResourceMultiBufferDataProvider::Tell() const { 114 MultiBufferBlockId ResourceMultiBufferDataProvider::Tell() const {
114 return pos_; 115 return pos_;
115 } 116 }
116 117
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 292
292 // First, let's take a ref on the current url data. 293 // First, let's take a ref on the current url data.
293 scoped_refptr<UrlData> old_url_data(url_data_); 294 scoped_refptr<UrlData> old_url_data(url_data_);
294 destination_url_data->Use(); 295 destination_url_data->Use();
295 296
296 // Take ownership of ourselves. (From the multibuffer) 297 // Take ownership of ourselves. (From the multibuffer)
297 scoped_ptr<DataProvider> self( 298 scoped_ptr<DataProvider> self(
298 url_data_->multibuffer()->RemoveProvider(this)); 299 url_data_->multibuffer()->RemoveProvider(this));
299 url_data_ = destination_url_data.get(); 300 url_data_ = destination_url_data.get();
300 // Give the ownership to our new owner. 301 // Give the ownership to our new owner.
301 url_data_->multibuffer()->AddProvider(self.Pass()); 302 url_data_->multibuffer()->AddProvider(std::move(self));
302 303
303 // Call callback to let upstream users know about the transfer. 304 // Call callback to let upstream users know about the transfer.
304 // This will merge the data from the two multibuffers and 305 // This will merge the data from the two multibuffers and
305 // cause clients to start using the new UrlData. 306 // cause clients to start using the new UrlData.
306 old_url_data->RedirectTo(destination_url_data); 307 old_url_data->RedirectTo(destination_url_data);
307 } 308 }
308 } 309 }
309 310
310 void ResourceMultiBufferDataProvider::didReceiveData(WebURLLoader* loader, 311 void ResourceMultiBufferDataProvider::didReceiveData(WebURLLoader* loader,
311 const char* data, 312 const char* data,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 size < url_data_->length()) { 375 size < url_data_->length()) {
375 if (retries_ < kMaxRetries) { 376 if (retries_ < kMaxRetries) {
376 DVLOG(1) << " Partial data received.... @ pos = " << size; 377 DVLOG(1) << " Partial data received.... @ pos = " << size;
377 retries_++; 378 retries_++;
378 base::MessageLoop::current()->PostDelayedTask( 379 base::MessageLoop::current()->PostDelayedTask(
379 FROM_HERE, base::Bind(&ResourceMultiBufferDataProvider::Start, 380 FROM_HERE, base::Bind(&ResourceMultiBufferDataProvider::Start,
380 weak_factory_.GetWeakPtr()), 381 weak_factory_.GetWeakPtr()),
381 base::TimeDelta::FromMilliseconds(kLoaderPartialRetryDelayMs)); 382 base::TimeDelta::FromMilliseconds(kLoaderPartialRetryDelayMs));
382 return; 383 return;
383 } else { 384 } else {
384 scoped_ptr<ActiveLoader> active_loader = active_loader_.Pass(); 385 scoped_ptr<ActiveLoader> active_loader = std::move(active_loader_);
385 url_data_->Fail(); 386 url_data_->Fail();
386 return; 387 return;
387 } 388 }
388 } 389 }
389 390
390 url_data_->set_length(size); 391 url_data_->set_length(size);
391 fifo_.push_back(DataBuffer::CreateEOSBuffer()); 392 fifo_.push_back(DataBuffer::CreateEOSBuffer());
392 393
393 DCHECK(Available()); 394 DCHECK(Available());
394 url_data_->multibuffer()->OnDataProviderEvent(this); 395 url_data_->multibuffer()->OnDataProviderEvent(this);
(...skipping 13 matching lines...) Expand all
408 if (retries_ < kMaxRetries && pos_ != 0) { 409 if (retries_ < kMaxRetries && pos_ != 0) {
409 retries_++; 410 retries_++;
410 base::MessageLoop::current()->PostDelayedTask( 411 base::MessageLoop::current()->PostDelayedTask(
411 FROM_HERE, base::Bind(&ResourceMultiBufferDataProvider::Start, 412 FROM_HERE, base::Bind(&ResourceMultiBufferDataProvider::Start,
412 weak_factory_.GetWeakPtr()), 413 weak_factory_.GetWeakPtr()),
413 base::TimeDelta::FromMilliseconds(kLoaderFailedRetryDelayMs)); 414 base::TimeDelta::FromMilliseconds(kLoaderFailedRetryDelayMs));
414 } else { 415 } else {
415 // We don't need to continue loading after failure. 416 // We don't need to continue loading after failure.
416 // 417 //
417 // Keep it alive until we exit this method so that |error| remains valid. 418 // Keep it alive until we exit this method so that |error| remains valid.
418 scoped_ptr<ActiveLoader> active_loader = active_loader_.Pass(); 419 scoped_ptr<ActiveLoader> active_loader = std::move(active_loader_);
419 url_data_->Fail(); 420 url_data_->Fail();
420 } 421 }
421 } 422 }
422 423
423 bool ResourceMultiBufferDataProvider::ParseContentRange( 424 bool ResourceMultiBufferDataProvider::ParseContentRange(
424 const std::string& content_range_str, 425 const std::string& content_range_str,
425 int64_t* first_byte_position, 426 int64_t* first_byte_position,
426 int64_t* last_byte_position, 427 int64_t* last_byte_position,
427 int64_t* instance_size) { 428 int64_t* instance_size) {
428 const std::string kUpThroughBytesUnit = "bytes "; 429 const std::string kUpThroughBytesUnit = "bytes ";
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 } 492 }
492 493
493 if (byte_pos() != first_byte_position) { 494 if (byte_pos() != first_byte_position) {
494 return false; 495 return false;
495 } 496 }
496 497
497 return true; 498 return true;
498 } 499 }
499 500
500 } // namespace media 501 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/multibuffer_data_source.cc ('k') | media/blink/texttrack_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698