Ejemplo n.º 1
0
void TextTrackLoader::notifyFinished(CachedResource* resource)
{
    ASSERT(m_resource == resource);

    Document* document = toDocument(m_scriptExecutionContext);
    if (!m_crossOriginMode.isNull()
        && !document->securityOrigin()->canRequest(resource->response().url())
        && !resource->passesAccessControlCheck(document->securityOrigin())) {

        corsPolicyPreventedLoad();
    }

    if (m_state != Failed) {
        processNewCueData(resource);
        if (m_cueParser)
            m_cueParser->fileFinished();
        if (m_state != Failed)
            m_state = resource->errorOccurred() ? Failed : Finished;
    }

    if (!m_cueLoadTimer.isActive())
        m_cueLoadTimer.startOneShot(0);
    
    cancelLoad();
}
Ejemplo n.º 2
0
// FIXME: This is a very unusual pattern, no other CachedResourceClient does this. Refactor to use notifyFinished() instead.
void TextTrackLoader::deprecatedDidReceiveCachedResource(CachedResource* resource)
{
    ASSERT(m_resource == resource);
    
    if (!resource->resourceBuffer())
        return;
    
    processNewCueData(resource);
}
Ejemplo n.º 3
0
void TextTrackLoader::didReceiveData(CachedResource* resource)
{
    ASSERT(m_cachedCueData == resource);
    
    if (!resource->data())
        return;
    
    processNewCueData(resource);
}
Ejemplo n.º 4
0
void TextTrackLoader::notifyFinished(CachedResource* resource)
{
    ASSERT(m_cachedCueData == resource);

    processNewCueData(resource);

    if (m_state != Failed)
        m_state = resource->errorOccurred() ? Failed : Finished;

    if (!m_cueLoadTimer.isActive())
        m_cueLoadTimer.startOneShot(0);
    
    cancelLoad();
}
Ejemplo n.º 5
0
void TextTrackLoader::notifyFinished(CachedResource* resource)
{
    ASSERT(m_cachedCueData == resource);

    processNewCueData(resource);

    m_state = resource->errorOccurred() ? Failed : Finished;

    if (!m_cueLoadTimer.isActive())
        m_cueLoadTimer.startOneShot(0);
    
    m_cachedCueData->removeClient(this);
    m_cachedCueData = 0;
}
Ejemplo n.º 6
0
void TextTrackLoader::notifyFinished(CachedResource* resource)
{
    ASSERT(m_resource == resource);

    Document* document = downcast<Document>(m_scriptExecutionContext);
    if (!m_crossOriginMode.isNull() && !resource->passesSameOriginPolicyCheck(*document->securityOrigin()))
        corsPolicyPreventedLoad();

    if (m_state != Failed) {
        processNewCueData(resource);
        if (m_cueParser)
            m_cueParser->fileFinished();
        if (m_state != Failed)
            m_state = resource->errorOccurred() ? Failed : Finished;
    }

    if (m_state == Finished && m_cueParser)
        m_cueParser->flush();

    if (!m_cueLoadTimer.isActive())
        m_cueLoadTimer.startOneShot(0);
    
    cancelLoad();
}