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

Reply via email to