Changeset 183705 in webkit
- Timestamp:
- May 1, 2015, 6:11:28 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r183696 r183705 1 2015-05-01 Eric Carlson <eric.carlson@apple.com> 2 3 Postpone caption style sheet creation 4 https://bugs.webkit.org/show_bug.cgi?id=144499 5 6 Reviewed by Simon Fraser. 7 8 * media/track/track-user-stylesheet-expected.txt: Added. 9 * media/track/track-user-stylesheet.html: Added. 10 1 11 2015-05-01 Myles C. Maxfield <mmaxfield@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r183704 r183705 1 2015-05-01 Eric Carlson <eric.carlson@apple.com> 2 3 Postpone caption style sheet creation 4 https://bugs.webkit.org/show_bug.cgi?id=144499 5 6 Reviewed by Simon Fraser. 7 8 Generating and inserting the caption user style sheet is expensive so don't do it until 9 we see a text track, and only do it for the first video element in a PageGroup. 10 11 Test: media/track/track-user-stylesheet.html 12 13 * html/HTMLMediaElement.cpp: 14 (WebCore::HTMLMediaElement::registerWithDocument): Only register for caption preferences 15 changes if we have done so before. 16 (WebCore::HTMLMediaElement::unregisterWithDocument): Only unregister for caption preferences 17 changes if we registered for them. 18 (WebCore::HTMLMediaElement::addTextTrack): Register for caption preference changes. 19 * html/HTMLMediaElement.h: 20 21 * page/CaptionUserPreferencesMediaAF.cpp: 22 (WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Only 23 generate the style sheet when called for the first time. 24 1 25 2015-05-01 Dean Jackson <dino@apple.com> 2 26 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r183676 r183705 449 449 450 450 #if ENABLE(VIDEO_TRACK) 451 document.registerForCaptionPreferencesChangedCallbacks(this); 451 if (m_requireCaptionPreferencesChangedCallbacks) 452 document.registerForCaptionPreferencesChangedCallbacks(this); 452 453 #endif 453 454 … … 476 477 477 478 #if ENABLE(VIDEO_TRACK) 478 document.unregisterForCaptionPreferencesChangedCallbacks(this); 479 if (m_requireCaptionPreferencesChangedCallbacks) 480 document.unregisterForCaptionPreferencesChangedCallbacks(this); 479 481 #endif 480 482 … … 3363 3365 if (!RuntimeEnabledFeatures::sharedFeatures().webkitVideoTrackEnabled()) 3364 3366 return; 3367 3368 if (!m_requireCaptionPreferencesChangedCallbacks) { 3369 m_requireCaptionPreferencesChangedCallbacks = true; 3370 document().registerForCaptionPreferencesChangedCallbacks(this); 3371 } 3365 3372 3366 3373 textTracks()->append(track); -
trunk/Source/WebCore/html/HTMLMediaElement.h
r183618 r183705 885 885 CueList m_currentlyActiveCues; 886 886 int m_ignoreTrackDisplayUpdate; 887 888 bool m_requireCaptionPreferencesChangedCallbacks { false }; 887 889 #endif 888 890 -
trunk/Source/WebCore/page/CaptionUserPreferencesMediaAF.cpp
r183676 r183705 186 186 void CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges() 187 187 { 188 if (m_listeningForPreferenceChanges) 189 return; 190 188 191 if (!MediaAccessibilityLibrary()) 189 192 return; … … 192 195 return; 193 196 194 if (!m_listeningForPreferenceChanges) { 195 m_listeningForPreferenceChanges = true; 196 m_registeringForNotification = true; 197 CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), this, userCaptionPreferencesChangedNotificationCallback, kMAXCaptionAppearanceSettingsChangedNotification, 0, CFNotificationSuspensionBehaviorCoalesce); 198 m_registeringForNotification = false; 199 } 197 m_listeningForPreferenceChanges = true; 198 m_registeringForNotification = true; 199 CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), this, userCaptionPreferencesChangedNotificationCallback, kMAXCaptionAppearanceSettingsChangedNotification, 0, CFNotificationSuspensionBehaviorCoalesce); 200 m_registeringForNotification = false; 200 201 201 202 // Generating and registering the caption stylesheet can be expensive and this method is called indirectly when the parser creates an audio or 202 203 // video element, so do it after a brief pause. 203 if (m_updateStyleSheetTimer.isActive())204 m_updateStyleSheetTimer.stop();205 204 m_updateStyleSheetTimer.startOneShot(0); 206 205 }
Note:
See TracChangeset
for help on using the changeset viewer.