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

Unified Diff: webkit/media/buffered_resource_loader.h

Issue 8667002: Split a portion of BufferedResourceLoader into a separate class ActiveLoader. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: webkit/media/buffered_resource_loader.h
diff --git a/webkit/media/buffered_resource_loader.h b/webkit/media/buffered_resource_loader.h
index 4399d00a77075bb1ea267624a82dbcc575458bd3..0dcd2382313a47a721c1d5e9da5c1da05a8d1815 100644
--- a/webkit/media/buffered_resource_loader.h
+++ b/webkit/media/buffered_resource_loader.h
@@ -17,6 +17,7 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLLoader.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLLoaderClient.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebURLRequest.h"
+#include "webkit/media/active_loader.h"
#include "webkit/media/web_data_source.h"
#include "webkit/media/webmediaplayer_impl.h"
@@ -83,7 +84,10 @@ class BufferedResourceLoader
const base::Closure& event_callback,
WebKit::WebFrame* frame);
- // Stop this loader, cancels and request and release internal buffer.
+ // Stops everything associated with this loader, including active loaders
Ami GONE FROM CHROMIUM 2011/11/29 18:55:49 "loaders", plural? What?
scherkus (not reviewing) 2011/11/29 21:43:51 Done.
+ // and any pending callbacks.
+ //
+ // It is safe to delete a BufferedResourceLoader after calling Stop().
virtual void Stop();
// Reads the specified |read_size| from |position| into |buffer| and when
@@ -123,7 +127,7 @@ class BufferedResourceLoader
virtual const GURL& url();
// Used to inject a mock used for unittests.
Ami GONE FROM CHROMIUM 2011/11/29 18:55:49 IWBN to doco ownership transfer. Except AFAICT ow
scherkus (not reviewing) 2011/11/29 21:43:51 Going to make test_loader_ a scoped_ptr<> that get
- virtual void SetURLLoaderForTest(WebKit::WebURLLoader* mock_loader);
+ virtual void SetURLLoaderForTest(WebKit::WebURLLoader* test_loader);
// WebKit::WebURLLoaderClient implementation.
virtual void willSendRequest(
@@ -181,11 +185,11 @@ class BufferedResourceLoader
// Returns true if we should defer resource loading, based
// on current buffering scheme.
- bool ShouldEnableDefer();
+ bool ShouldEnableDefer() const;
// Returns true if we should enable resource loading, based
// on current buffering scheme.
- bool ShouldDisableDefer();
+ bool ShouldDisableDefer() const;
// Updates deferring behavior based on current buffering scheme.
void UpdateDeferBehavior();
@@ -196,10 +200,10 @@ class BufferedResourceLoader
// Returns true if the current read request can be fulfilled by what is in
// the buffer.
- bool CanFulfillRead();
+ bool CanFulfillRead() const;
// Returns true if the current read request will be fulfilled in the future.
- bool WillFulfillRead();
+ bool WillFulfillRead() const;
// Method that does the actual read and calls the |read_callback_|, assuming
// the request range is in |buffer_|.
@@ -238,15 +242,12 @@ class BufferedResourceLoader
// A sliding window of buffer.
scoped_ptr<media::SeekableBuffer> buffer_;
- // True if resource loading was deferred.
- bool deferred_;
+ // Keeps track of an active WebURLLoader and associated state.
+ scoped_ptr<ActiveLoader> active_loader_;
// Current buffering algorithm in place for resource loading.
DeferStrategy defer_strategy_;
- // True if resource loading has completed.
- bool completed_;
-
// True if a range request was made.
bool range_requested_;
@@ -256,9 +257,6 @@ class BufferedResourceLoader
// Forward capacity to reset to after an extension.
size_t saved_forward_capacity_;
- // Does the work of loading and sends data back to this client.
- scoped_ptr<WebKit::WebURLLoader> url_loader_;
-
GURL url_;
int64 first_byte_position_;
int64 last_byte_position_;
@@ -285,8 +283,8 @@ class BufferedResourceLoader
int first_offset_;
int last_offset_;
- // Used to ensure mocks for unittests are used instead of reset in Start().
- bool keep_test_loader_;
+ // Used to inject a mocks WebURLLoader for tests during Start().
+ WebKit::WebURLLoader* test_loader_;
// Bitrate of the media. Set to 0 if unknown.
int bitrate_;

Powered by Google App Engine
This is Rietveld 408576698