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

Unified Diff: webkit/glue/media/buffered_resource_loader.h

Issue 6625059: Implementing preload=metadata for video (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup defer strategy, fix logic bug Created 9 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: webkit/glue/media/buffered_resource_loader.h
diff --git a/webkit/glue/media/buffered_resource_loader.h b/webkit/glue/media/buffered_resource_loader.h
index fe01fb4d3cfa88be1f84f7b73cfc9b1f077fff97..da81528f0b1109bae5b22882b5672710e3567906 100644
--- a/webkit/glue/media/buffered_resource_loader.h
+++ b/webkit/glue/media/buffered_resource_loader.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -28,6 +28,8 @@ const char kHttpScheme[] = "http";
const char kHttpsScheme[] = "https";
const char kDataScheme[] = "data";
+class BufferedDataSource;
+class DeferStrategy;
// This class works inside demuxer thread and render thread. It contains a
// WebURLLoader and does the actual resource loading. This object does
// buffering internally, it defers the resource loading if buffer is full
@@ -85,8 +87,8 @@ class BufferedResourceLoader :
// |kPositionNotSpecified| if such value is not available.
virtual int64 GetBufferedPosition();
- // Sets whether deferring data is allowed or disallowed.
- virtual void SetAllowDefer(bool is_allowed);
+ // Changes the defer strategy based on the state of BufferedDataSource.
+ virtual void UpdateDeferStrategy(BufferedDataSource*);
acolwell GONE FROM CHROMIUM 2011/03/25 04:35:28 missing parameter name. Shouldn't this take a Defe
vrk (LEFT CHROMIUM) 2011/03/25 21:33:32 Done.
// Gets the content length in bytes of the instance after this loader has been
// started. If this value is |kPositionNotSpecified|, then content length is
@@ -143,6 +145,10 @@ class BufferedResourceLoader :
protected:
friend class base::RefCountedThreadSafe<BufferedResourceLoader>;
+ friend class DeferStrategy;
+ friend class NeverDeferStrategy;
+ friend class ThresholdDeferStrategy;
+ friend class ReadThenDeferStrategy;
acolwell GONE FROM CHROMIUM 2011/03/25 04:35:28 Not thrilled by all this friending. It feels like
vrk (LEFT CHROMIUM) 2011/03/25 21:33:32 N/A now!
virtual ~BufferedResourceLoader();
@@ -196,8 +202,8 @@ class BufferedResourceLoader :
// True if resource loading was deferred.
bool deferred_;
- // True if resource loader is allowed to defer, false otherwise.
- bool defer_allowed_;
+ // Strategy for deferring.
+ DeferStrategy* defer_strategy_;
// True if resource loading has completed.
bool completed_;

Powered by Google App Engine
This is Rietveld 408576698