diff options
Diffstat (limited to 'Source/WebCore/page/CaptionUserPreferences.h')
-rw-r--r-- | Source/WebCore/page/CaptionUserPreferences.h | 38 |
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 |