Title: [142383] trunk/Source/WebCore
- Revision
- 142383
- Author
- [email protected]
- Date
- 2013-02-09 16:50:59 -0800 (Sat, 09 Feb 2013)
Log Message
[Mac] Do not assume MediaAccessibility framework is installed
https://bugs.webkit.org/show_bug.cgi?id=109365
Reviewed by Sam Weinig.
* page/CaptionUserPreferencesMac.h:
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
is not available.
(WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
(WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
(WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
(WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (142382 => 142383)
--- trunk/Source/WebCore/ChangeLog 2013-02-09 23:06:00 UTC (rev 142382)
+++ trunk/Source/WebCore/ChangeLog 2013-02-10 00:50:59 UTC (rev 142383)
@@ -1,3 +1,23 @@
+2013-02-09 Eric Carlson <[email protected]>
+
+ [Mac] Do not assume MediaAccessibility framework is installed
+ https://bugs.webkit.org/show_bug.cgi?id=109365
+
+ Reviewed by Sam Weinig.
+
+ * page/CaptionUserPreferencesMac.h:
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::CaptionUserPreferencesMac::userPrefersCaptions): Call the base class if the framework
+ is not available.
+ (WebCore::CaptionUserPreferencesMac::setUserPrefersCaptions): Ditto.
+ (WebCore::CaptionUserPreferencesMac::userHasCaptionPreferences): Ditto.
+ (WebCore::CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks): Ditto.
+ (WebCore::CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks): Ditto.
+ (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Ditto.
+ (WebCore::CaptionUserPreferencesMac::captionFontSizeScale): Ditto.
+ (WebCore::CaptionUserPreferencesMac::setPreferredLanguage): Ditto.
+ (WebCore::CaptionUserPreferencesMac::preferredLanguages): Ditto.
+
2013-02-09 Dominic Mazzoni <[email protected]>
AX: move isIgnored caching to AXObject
Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMac.h (142382 => 142383)
--- trunk/Source/WebCore/page/CaptionUserPreferencesMac.h 2013-02-09 23:06:00 UTC (rev 142382)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMac.h 2013-02-10 00:50:59 UTC (rev 142383)
@@ -43,7 +43,7 @@
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
virtual bool userPrefersCaptions() const OVERRIDE;
virtual void setUserPrefersCaptions(bool) OVERRIDE;
- virtual bool userHasCaptionPreferences() const OVERRIDE { return true; }
+ virtual bool userHasCaptionPreferences() const OVERRIDE;
virtual float captionFontSizeScale(bool&) const OVERRIDE;
virtual String captionsStyleSheetOverride() const OVERRIDE;
virtual void registerForCaptionPreferencesChangedCallbacks(CaptionPreferencesChangedListener*) OVERRIDE;
Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm (142382 => 142383)
--- trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm 2013-02-09 23:06:00 UTC (rev 142382)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm 2013-02-10 00:50:59 UTC (rev 142383)
@@ -102,16 +102,37 @@
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
bool CaptionUserPreferencesMac::userPrefersCaptions() const
{
+ if (!MediaAccessibilityLibrary())
+ return CaptionUserPreferences::userPrefersCaptions();
+
return MACaptionAppearanceGetShowCaptions(kMACaptionAppearanceDomainUser);
}
void CaptionUserPreferencesMac::setUserPrefersCaptions(bool preference)
{
+ if (!MediaAccessibilityLibrary()) {
+ CaptionUserPreferences::setUserPrefersCaptions(preference);
+ return;
+ }
+
MACaptionAppearanceSetShowCaptions(kMACaptionAppearanceDomainUser, preference);
}
+bool CaptionUserPreferencesMac::userHasCaptionPreferences() const
+{
+ if (!MediaAccessibilityLibrary())
+ return CaptionUserPreferences::userHasCaptionPreferences();
+
+ return !MediaAccessibilityLibrary();
+}
+
void CaptionUserPreferencesMac::registerForCaptionPreferencesChangedCallbacks(CaptionPreferencesChangedListener* listener)
{
+ if (!MediaAccessibilityLibrary()) {
+ CaptionUserPreferences::registerForCaptionPreferencesChangedCallbacks(listener);
+ return;
+ }
+
ASSERT(!m_captionPreferenceChangeListeners.contains(listener));
if (!kMAXCaptionAppearanceSettingsChangedNotification)
@@ -128,6 +149,11 @@
void CaptionUserPreferencesMac::unregisterForCaptionPreferencesChangedCallbacks(CaptionPreferencesChangedListener* listener)
{
+ if (!MediaAccessibilityLibrary()) {
+ CaptionUserPreferences::unregisterForCaptionPreferencesChangedCallbacks(listener);
+ return;
+ }
+
if (kMAXCaptionAppearanceSettingsChangedNotification)
m_captionPreferenceChangeListeners.remove(listener);
}
@@ -332,6 +358,9 @@
String CaptionUserPreferencesMac::captionsStyleSheetOverride() const
{
+ if (!MediaAccessibilityLibrary())
+ return CaptionUserPreferences::captionsStyleSheetOverride();
+
StringBuilder captionsOverrideStyleSheet;
String background = ""
@@ -374,6 +403,9 @@
float CaptionUserPreferencesMac::captionFontSizeScale(bool& important) const
{
+ if (!MediaAccessibilityLibrary())
+ return CaptionUserPreferences::captionFontSizeScale(important);
+
MACaptionAppearanceBehavior behavior;
CGFloat characterScale = CaptionUserPreferences::captionFontSizeScale(important);
CGFloat scaleAdjustment = MACaptionAppearanceGetRelativeCharacterSize(kMACaptionAppearanceDomainUser, &behavior);
@@ -417,6 +449,11 @@
void CaptionUserPreferencesMac::setPreferredLanguage(String language) const
{
+ if (!MediaAccessibilityLibrary()) {
+ CaptionUserPreferences::setPreferredLanguage(language);
+ return;
+ }
+
MACaptionAppearanceAddSelectedLanguage(kMACaptionAppearanceDomainUser, language.createCFString().get());
}
@@ -426,6 +463,9 @@
if (!override.isEmpty())
return override;
+ if (!MediaAccessibilityLibrary())
+ return CaptionUserPreferences::preferredLanguages();
+
RetainPtr<CFArrayRef> languages(AdoptCF, MACaptionAppearanceCopySelectedLanguages(kMACaptionAppearanceDomainUser));
CFIndex languageCount = CFArrayGetCount(languages.get());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes