Title: [182505] trunk/Source/WebCore
Revision
182505
Author
[email protected]
Date
2015-04-07 16:21:06 -0700 (Tue, 07 Apr 2015)

Log Message

[Mac] never update caption user style sheet during parsing
https://bugs.webkit.org/show_bug.cgi?id=143499

Reviewed by Jer Noble.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
(WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):  Ignore a
    "preferences changed" notification fired while registering for said notification, we
    already create and insert the style sheet after a brief delay anyway.
* page/CaptionUserPreferencesMediaAF.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (182504 => 182505)


--- trunk/Source/WebCore/ChangeLog	2015-04-07 23:14:29 UTC (rev 182504)
+++ trunk/Source/WebCore/ChangeLog	2015-04-07 23:21:06 UTC (rev 182505)
@@ -1,3 +1,17 @@
+2015-04-07  Eric Carlson  <[email protected]>
+
+        [Mac] never update caption user style sheet during parsing
+        https://bugs.webkit.org/show_bug.cgi?id=143499
+
+        Reviewed by Jer Noble.
+
+        * page/CaptionUserPreferencesMediaAF.cpp:
+        (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges):
+        (WebCore::CaptionUserPreferencesMediaAF::captionPreferencesChanged):  Ignore a
+            "preferences changed" notification fired while registering for said notification, we 
+            already create and insert the style sheet after a brief delay anyway.
+        * page/CaptionUserPreferencesMediaAF.h:
+
 2015-04-07  Alex Christensen  <[email protected]>
 
         [Win] Unreviewed build fix after r182494.

Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp (182504 => 182505)


--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2015-04-07 23:14:29 UTC (rev 182504)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp	2015-04-07 23:21:06 UTC (rev 182505)
@@ -193,7 +193,9 @@
 
     if (!m_listeningForPreferenceChanges) {
         m_listeningForPreferenceChanges = true;
+        m_registeringForNotification = true;
         CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), this, userCaptionPreferencesChangedNotificationCallback, kMAXCaptionAppearanceSettingsChangedNotification, 0, CFNotificationSuspensionBehaviorCoalesce);
+        m_registeringForNotification = false;
     }
 
     // Generating and registering the caption stylesheet can be expensive and this method is called indirectly when the parser creates an audio or
@@ -205,6 +207,9 @@
 
 void CaptionUserPreferencesMediaAF::captionPreferencesChanged()
 {
+    if (m_registeringForNotification)
+        return;
+
     if (m_listeningForPreferenceChanges)
         updateCaptionStyleSheetOveride();
 

Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.h (182504 => 182505)


--- trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.h	2015-04-07 23:14:29 UTC (rev 182504)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.h	2015-04-07 23:21:06 UTC (rev 182505)
@@ -86,6 +86,7 @@
     Timer m_updateStyleSheetTimer;
 
     bool m_listeningForPreferenceChanges;
+    bool m_registeringForNotification { false };
 #endif
 };
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to