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: content/browser/renderer_host/async_resource_handler.cc

Issue 10599002: Fix HTML5 video streaming. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/async_resource_handler.h" 5 #include "content/browser/renderer_host/async_resource_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/debug/alias.h" 10 #include "base/debug/alias.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 : filter_(filter), 90 : filter_(filter),
91 routing_id_(routing_id), 91 routing_id_(routing_id),
92 request_(request), 92 request_(request),
93 rdh_(rdh), 93 rdh_(rdh),
94 next_buffer_size_(kInitialReadBufSize), 94 next_buffer_size_(kInitialReadBufSize),
95 pending_data_count_(0), 95 pending_data_count_(0),
96 did_defer_(false) { 96 did_defer_(false) {
97 } 97 }
98 98
99 AsyncResourceHandler::~AsyncResourceHandler() { 99 AsyncResourceHandler::~AsyncResourceHandler() {
100 // Cleanup back-pointer stored on the request info.
101 ResourceRequestInfoImpl::ForRequest(request_)->set_async_handler(NULL);
100 } 102 }
101 103
102 void AsyncResourceHandler::OnFollowRedirect( 104 void AsyncResourceHandler::OnFollowRedirect(
103 bool has_new_first_party_for_cookies, 105 bool has_new_first_party_for_cookies,
104 const GURL& new_first_party_for_cookies) { 106 const GURL& new_first_party_for_cookies) {
105 if (!request_->status().is_success()) { 107 if (!request_->status().is_success()) {
106 DVLOG(1) << "OnFollowRedirect for invalid request"; 108 DVLOG(1) << "OnFollowRedirect for invalid request";
107 return; 109 return;
108 } 110 }
109 111
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 329
328 void AsyncResourceHandler::MarkAsDeferred(bool deferred) { 330 void AsyncResourceHandler::MarkAsDeferred(bool deferred) {
329 did_defer_ = deferred; 331 did_defer_ = deferred;
330 332
331 // Set a back-pointer from ResourceRequestInfoImpl to |this| when deferred, 333 // Set a back-pointer from ResourceRequestInfoImpl to |this| when deferred,
332 // so that the ResourceDispatcherHostImpl can send us IPC messages. 334 // so that the ResourceDispatcherHostImpl can send us IPC messages.
333 // TODO(darin): Implement an IPC message filter instead? 335 // TODO(darin): Implement an IPC message filter instead?
334 336
335 ResourceRequestInfoImpl* info = 337 ResourceRequestInfoImpl* info =
336 ResourceRequestInfoImpl::ForRequest(request_); 338 ResourceRequestInfoImpl::ForRequest(request_);
337 if (deferred) { 339 if (deferred)
338 info->set_async_handler(this); 340 info->set_async_handler(this);
339 } else {
340 info->set_async_handler(NULL);
341 }
342 } 341 }
343 342
344 void AsyncResourceHandler::ResumeIfDeferred() { 343 void AsyncResourceHandler::ResumeIfDeferred() {
345 if (did_defer_) { 344 if (did_defer_) {
346 MarkAsDeferred(false); 345 MarkAsDeferred(false);
347 controller()->Resume(); 346 controller()->Resume();
348 } 347 }
349 } 348 }
350 349
351 } // namespace content 350 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698