summaryrefslogtreecommitdiff
path: root/Source/WebCore/loader/TextTrackLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/loader/TextTrackLoader.h')
-rw-r--r--Source/WebCore/loader/TextTrackLoader.h52
1 files changed, 19 insertions, 33 deletions
diff --git a/Source/WebCore/loader/TextTrackLoader.h b/Source/WebCore/loader/TextTrackLoader.h
index cd62ca2f7..337c8e131 100644
--- a/Source/WebCore/loader/TextTrackLoader.h
+++ b/Source/WebCore/loader/TextTrackLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2011, 2014 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,8 +23,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef TextTrackLoader_h
-#define TextTrackLoader_h
+#pragma once
#if ENABLE(VIDEO_TRACK)
@@ -32,7 +31,7 @@
#include "CachedResourceHandle.h"
#include "Timer.h"
#include "WebVTTParser.h"
-#include <wtf/OwnPtr.h>
+#include <memory>
namespace WebCore {
@@ -47,54 +46,42 @@ public:
virtual void newCuesAvailable(TextTrackLoader*) = 0;
virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) = 0;
-#if ENABLE(WEBVTT_REGIONS)
virtual void newRegionsAvailable(TextTrackLoader*) = 0;
-#endif
};
class TextTrackLoader : public CachedResourceClient, private WebVTTParserClient {
WTF_MAKE_NONCOPYABLE(TextTrackLoader);
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<TextTrackLoader> create(TextTrackLoaderClient& client, ScriptExecutionContext* context)
- {
- return adoptPtr(new TextTrackLoader(client, context));
- }
+ TextTrackLoader(TextTrackLoaderClient&, ScriptExecutionContext*);
virtual ~TextTrackLoader();
- bool load(const URL&, const String& crossOriginMode);
+ bool load(const URL&, const String& crossOriginMode, bool isInitiatingElementInUserAgentShadowTree);
void cancelLoad();
void getNewCues(Vector<RefPtr<TextTrackCue>>& outputCues);
-#if ENABLE(WEBVTT_REGIONS)
- void getNewRegions(Vector<RefPtr<TextTrackRegion>>& outputRegions);
-#endif
+ void getNewRegions(Vector<RefPtr<VTTRegion>>& outputRegions);
private:
// CachedResourceClient
- virtual void notifyFinished(CachedResource*);
- virtual void deprecatedDidReceiveCachedResource(CachedResource*);
-
+ void notifyFinished(CachedResource&) override;
+ void deprecatedDidReceiveCachedResource(CachedResource&) override;
+
// WebVTTParserClient
- virtual void newCuesParsed();
-#if ENABLE(WEBVTT_REGIONS)
- virtual void newRegionsParsed();
-#endif
- virtual void fileFailedToParse();
-
- TextTrackLoader(TextTrackLoaderClient&, ScriptExecutionContext*);
-
- void processNewCueData(CachedResource*);
- void cueLoadTimerFired(Timer<TextTrackLoader>*);
+ void newCuesParsed() override;
+ void newRegionsParsed() override;
+ void fileFailedToParse() override;
+
+ void processNewCueData(CachedResource&);
+ void cueLoadTimerFired();
void corsPolicyPreventedLoad();
enum State { Idle, Loading, Finished, Failed };
-
+
TextTrackLoaderClient& m_client;
- OwnPtr<WebVTTParser> m_cueParser;
+ std::unique_ptr<WebVTTParser> m_cueParser;
CachedResourceHandle<CachedTextTrack> m_resource;
ScriptExecutionContext* m_scriptExecutionContext;
- Timer<TextTrackLoader> m_cueLoadTimer;
- String m_crossOriginMode;
+ Timer m_cueLoadTimer;
State m_state;
unsigned m_parseOffset;
bool m_newCuesAvailable;
@@ -102,5 +89,4 @@ private:
} // namespace WebCore
-#endif
-#endif
+#endif // ENABLE(VIDEO_TRACK)