| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2011 Google Inc.  All rights reserved. |    2  * Copyright (C) 2011 Google Inc.  All rights reserved. | 
|    3  * |    3  * | 
|    4  * Redistribution and use in source and binary forms, with or without |    4  * Redistribution and use in source and binary forms, with or without | 
|    5  * modification, are permitted provided that the following conditions |    5  * modification, are permitted provided that the following conditions | 
|    6  * are met: |    6  * are met: | 
|    7  * 1. Redistributions of source code must retain the above copyright |    7  * 1. Redistributions of source code must retain the above copyright | 
|    8  *    notice, this list of conditions and the following disclaimer. |    8  *    notice, this list of conditions and the following disclaimer. | 
|    9  * 2. Redistributions in binary form must reproduce the above copyright |    9  * 2. Redistributions in binary form must reproduce the above copyright | 
|   10  *    notice, this list of conditions and the following disclaimer in the |   10  *    notice, this list of conditions and the following disclaimer in the | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   92 void TextTrackLoader::notifyFinished(Resource* resource) |   92 void TextTrackLoader::notifyFinished(Resource* resource) | 
|   93 { |   93 { | 
|   94     ASSERT(this->resource() == resource); |   94     ASSERT(this->resource() == resource); | 
|   95     if (m_state != Failed) |   95     if (m_state != Failed) | 
|   96         m_state = resource->errorOccurred() ? Failed : Finished; |   96         m_state = resource->errorOccurred() ? Failed : Finished; | 
|   97  |   97  | 
|   98     if (m_state == Finished && m_cueParser) |   98     if (m_state == Finished && m_cueParser) | 
|   99         m_cueParser->flush(); |   99         m_cueParser->flush(); | 
|  100  |  100  | 
|  101     if (!m_cueLoadTimer.isActive()) |  101     if (!m_cueLoadTimer.isActive()) | 
|  102         m_cueLoadTimer.startOneShot(0); |  102         m_cueLoadTimer.startOneShot(0, FROM_HERE); | 
|  103  |  103  | 
|  104     cancelLoad(); |  104     cancelLoad(); | 
|  105 } |  105 } | 
|  106  |  106  | 
|  107 bool TextTrackLoader::load(const KURL& url, const AtomicString& crossOriginMode) |  107 bool TextTrackLoader::load(const KURL& url, const AtomicString& crossOriginMode) | 
|  108 { |  108 { | 
|  109     cancelLoad(); |  109     cancelLoad(); | 
|  110  |  110  | 
|  111     FetchRequest cueRequest(ResourceRequest(m_document.completeURL(url)), FetchI
     nitiatorTypeNames::texttrack); |  111     FetchRequest cueRequest(ResourceRequest(m_document.completeURL(url)), FetchI
     nitiatorTypeNames::texttrack); | 
|  112  |  112  | 
|  113     if (!crossOriginMode.isNull()) { |  113     if (!crossOriginMode.isNull()) { | 
|  114         cueRequest.setCrossOriginAccessControl(m_document.securityOrigin(), cros
     sOriginMode); |  114         cueRequest.setCrossOriginAccessControl(m_document.securityOrigin(), cros
     sOriginMode); | 
|  115     } else if (!m_document.securityOrigin()->canRequest(url)) { |  115     } else if (!m_document.securityOrigin()->canRequest(url)) { | 
|  116         // Text track elements without 'crossorigin' set on the parent are "No C
     ORS"; report error if not same-origin. |  116         // Text track elements without 'crossorigin' set on the parent are "No C
     ORS"; report error if not same-origin. | 
|  117         corsPolicyPreventedLoad(m_document.securityOrigin(), url); |  117         corsPolicyPreventedLoad(m_document.securityOrigin(), url); | 
|  118         return false; |  118         return false; | 
|  119     } |  119     } | 
|  120  |  120  | 
|  121     ResourceFetcher* fetcher = m_document.fetcher(); |  121     ResourceFetcher* fetcher = m_document.fetcher(); | 
|  122     setResource(fetcher->fetchRawResource(cueRequest)); |  122     setResource(fetcher->fetchRawResource(cueRequest)); | 
|  123     return resource(); |  123     return resource(); | 
|  124 } |  124 } | 
|  125  |  125  | 
|  126 void TextTrackLoader::newCuesParsed() |  126 void TextTrackLoader::newCuesParsed() | 
|  127 { |  127 { | 
|  128     if (m_cueLoadTimer.isActive()) |  128     if (m_cueLoadTimer.isActive()) | 
|  129         return; |  129         return; | 
|  130  |  130  | 
|  131     m_newCuesAvailable = true; |  131     m_newCuesAvailable = true; | 
|  132     m_cueLoadTimer.startOneShot(0); |  132     m_cueLoadTimer.startOneShot(0, FROM_HERE); | 
|  133 } |  133 } | 
|  134  |  134  | 
|  135 void TextTrackLoader::newRegionsParsed() |  135 void TextTrackLoader::newRegionsParsed() | 
|  136 { |  136 { | 
|  137     m_client.newRegionsAvailable(this); |  137     m_client.newRegionsAvailable(this); | 
|  138 } |  138 } | 
|  139  |  139  | 
|  140 void TextTrackLoader::fileFailedToParse() |  140 void TextTrackLoader::fileFailedToParse() | 
|  141 { |  141 { | 
|  142     WTF_LOG(Media, "TextTrackLoader::fileFailedToParse"); |  142     WTF_LOG(Media, "TextTrackLoader::fileFailedToParse"); | 
|  143  |  143  | 
|  144     m_state = Failed; |  144     m_state = Failed; | 
|  145  |  145  | 
|  146     if (!m_cueLoadTimer.isActive()) |  146     if (!m_cueLoadTimer.isActive()) | 
|  147         m_cueLoadTimer.startOneShot(0); |  147         m_cueLoadTimer.startOneShot(0, FROM_HERE); | 
|  148  |  148  | 
|  149     cancelLoad(); |  149     cancelLoad(); | 
|  150 } |  150 } | 
|  151  |  151  | 
|  152 void TextTrackLoader::getNewCues(Vector<RefPtr<VTTCue> >& outputCues) |  152 void TextTrackLoader::getNewCues(Vector<RefPtr<VTTCue> >& outputCues) | 
|  153 { |  153 { | 
|  154     ASSERT(m_cueParser); |  154     ASSERT(m_cueParser); | 
|  155     if (m_cueParser) |  155     if (m_cueParser) | 
|  156         m_cueParser->getNewCues(outputCues); |  156         m_cueParser->getNewCues(outputCues); | 
|  157 } |  157 } | 
|  158  |  158  | 
|  159 void TextTrackLoader::getNewRegions(Vector<RefPtr<VTTRegion> >& outputRegions) |  159 void TextTrackLoader::getNewRegions(Vector<RefPtr<VTTRegion> >& outputRegions) | 
|  160 { |  160 { | 
|  161     ASSERT(m_cueParser); |  161     ASSERT(m_cueParser); | 
|  162     if (m_cueParser) |  162     if (m_cueParser) | 
|  163         m_cueParser->getNewRegions(outputRegions); |  163         m_cueParser->getNewRegions(outputRegions); | 
|  164 } |  164 } | 
|  165  |  165  | 
|  166 } |  166 } | 
| OLD | NEW |