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

Unified Diff: Source/core/loader/TextTrackLoader.cpp

Issue 52533003: Refactor TextTrackLoader to properly use the dataReceived callback (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@cachedCueData
Patch Set: Created 7 years, 2 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
« no previous file with comments | « Source/core/loader/TextTrackLoader.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/loader/TextTrackLoader.cpp
diff --git a/Source/core/loader/TextTrackLoader.cpp b/Source/core/loader/TextTrackLoader.cpp
index bd237abb0b0ed163db6730695b295df51043fc8d..87417ee57c0592124fe2f18668e881d795f1edf3 100644
--- a/Source/core/loader/TextTrackLoader.cpp
+++ b/Source/core/loader/TextTrackLoader.cpp
@@ -45,7 +45,6 @@ TextTrackLoader::TextTrackLoader(TextTrackLoaderClient* client, Document& docume
, m_document(document)
, m_cueLoadTimer(this, &TextTrackLoader::cueLoadTimerFired)
, m_state(Idle)
- , m_parseOffset(0)
, m_newCuesAvailable(false)
{
}
@@ -77,37 +76,17 @@ void TextTrackLoader::cancelLoad()
}
}
-void TextTrackLoader::processNewCueData(Resource* resource)
+void TextTrackLoader::dataReceived(Resource* resource, const char* data, int length)
{
ASSERT(m_resource == resource);
- if (m_state == Failed || !resource->resourceBuffer())
- return;
-
- SharedBuffer* buffer = resource->resourceBuffer();
- if (m_parseOffset == buffer->size())
+ if (m_state == Failed)
return;
if (!m_cueParser)
m_cueParser = WebVTTParser::create(this, m_document);
- const char* data;
- unsigned length;
-
- while ((length = buffer->getSomeData(data, m_parseOffset))) {
- m_cueParser->parseBytes(data, length);
- m_parseOffset += length;
- }
-}
-
-void TextTrackLoader::dataReceived(Resource* resource, const char*, int)
-{
- ASSERT(m_resource == resource);
-
- if (!resource->resourceBuffer())
- return;
-
- processNewCueData(resource);
+ m_cueParser->parseBytes(data, length);
}
void TextTrackLoader::corsPolicyPreventedLoad()
@@ -128,11 +107,8 @@ void TextTrackLoader::notifyFinished(Resource* resource)
corsPolicyPreventedLoad();
}
- if (m_state != Failed) {
- processNewCueData(resource);
- if (m_state != Failed)
- m_state = resource->errorOccurred() ? Failed : Finished;
- }
+ if (m_state != Failed)
+ m_state = resource->errorOccurred() ? Failed : Finished;
if (!m_cueLoadTimer.isActive())
m_cueLoadTimer.startOneShot(0);
« no previous file with comments | « Source/core/loader/TextTrackLoader.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698