summaryrefslogtreecommitdiff
path: root/Source/WebCore/page/CaptionUserPreferences.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/page/CaptionUserPreferences.h')
-rw-r--r--Source/WebCore/page/CaptionUserPreferences.h38
1 files changed, 24 insertions, 14 deletions
diff --git a/Source/WebCore/page/CaptionUserPreferences.h b/Source/WebCore/page/CaptionUserPreferences.h
index 3e5a3b9c4..8feea7da2 100644
--- a/Source/WebCore/page/CaptionUserPreferences.h
+++ b/Source/WebCore/page/CaptionUserPreferences.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2012-2016 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,22 +23,22 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CaptionUserPreferences_h
-#define CaptionUserPreferences_h
+#pragma once
#if ENABLE(VIDEO_TRACK)
+#include "AudioTrack.h"
#include "Language.h"
#include "LocalizedStrings.h"
#include "TextTrack.h"
#include "Timer.h"
-#include <wtf/PassOwnPtr.h>
#include <wtf/text/AtomicString.h>
namespace WebCore {
class HTMLMediaElement;
class PageGroup;
+class AudioTrackList;
class TextTrackList;
class CaptionUserPreferences {
@@ -49,7 +49,8 @@ public:
enum CaptionDisplayMode {
Automatic,
ForcedOnly,
- AlwaysOn
+ AlwaysOn,
+ Manual,
};
virtual CaptionDisplayMode captionDisplayMode() const;
virtual void setCaptionDisplayMode(CaptionDisplayMode);
@@ -78,35 +79,44 @@ public:
virtual void setPreferredLanguage(const String&);
virtual Vector<String> preferredLanguages() const;
+ virtual void setPreferredAudioCharacteristic(const String&);
+ virtual Vector<String> preferredAudioCharacteristics() const;
+
virtual String displayNameForTrack(TextTrack*) const;
virtual Vector<RefPtr<TextTrack>> sortedTrackListForMenu(TextTrackList*);
+ virtual String displayNameForTrack(AudioTrack*) const;
+ virtual Vector<RefPtr<AudioTrack>> sortedTrackListForMenu(AudioTrackList*);
+
void setPrimaryAudioTrackLanguageOverride(const String& language) { m_primaryAudioTrackLanguageOverride = language; }
String primaryAudioTrackLanguageOverride() const;
virtual bool testingMode() const { return m_testingMode; }
- virtual void setTestingMode(bool override) { m_testingMode = override; }
+ void setTestingMode(bool override) { m_testingMode = override; }
PageGroup& pageGroup() const { return m_pageGroup; }
protected:
- void updateCaptionStyleSheetOveride();
+ void updateCaptionStyleSheetOverride();
+ void beginBlockingNotifications();
+ void endBlockingNotifications();
private:
- void timerFired(Timer<CaptionUserPreferences>&);
+ void timerFired();
void notify();
+ Page* currentPage() const;
PageGroup& m_pageGroup;
- CaptionDisplayMode m_displayMode;
- Timer<CaptionUserPreferences> m_timer;
+ mutable CaptionDisplayMode m_displayMode;
+ Timer m_timer;
String m_userPreferredLanguage;
+ String m_userPreferredAudioCharacteristic;
String m_captionsStyleSheetOverride;
String m_primaryAudioTrackLanguageOverride;
- bool m_testingMode;
- bool m_havePreferences;
+ unsigned m_blockNotificationsCounter { 0 };
+ bool m_testingMode { false };
+ bool m_havePreferences { false };
};
}
#endif
-
-#endif