Diff
Modified: trunk/Source/WebCore/ChangeLog (196134 => 196135)
--- trunk/Source/WebCore/ChangeLog 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/ChangeLog 2016-02-04 19:27:11 UTC (rev 196135)
@@ -1,3 +1,51 @@
+2016-02-04 Eric Carlson <[email protected]>
+
+ PageGroup::captionPreferences should return a reference
+ https://bugs.webkit.org/show_bug.cgi?id=153877
+ <rdar://problem/24506917>
+
+ Reviewed by Jer Noble.
+
+ No new tests, no functional change.
+
+ * Modules/mediacontrols/MediaControlsHost.cpp:
+ (WebCore::MediaControlsHost::sortedTrackListForMenu):
+ (WebCore::MediaControlsHost::displayNameForTrack):
+ (WebCore::MediaControlsHost::captionMenuOffItem):
+ (WebCore::MediaControlsHost::captionDisplayMode):
+ * dom/Document.cpp:
+ (WebCore::Document::registerForCaptionPreferencesChangedCallbacks):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ (WebCore::HTMLMediaElement::addTextTrack):
+ (WebCore::HTMLMediaElement::configureTextTrackGroup):
+ (WebCore::HTMLMediaElement::setSelectedTextTrack):
+ (WebCore::HTMLMediaElement::configureTextTracks):
+ (WebCore::HTMLMediaElement::captionPreferencesChanged):
+ (WebCore::HTMLMediaElement::mediaPlayerPreferredAudioCharacteristics):
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
+ (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
+ (WebCore::MediaControlTextTrackContainerElement::updateActiveCuesFontSize):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::captionPreferencesChanged):
+ (WebCore::PageGroup::captionPreferences):
+ * page/PageGroup.h:
+ * platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
+ (WebVideoFullscreenModelVideoElement::updateLegibleOptions):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setShouldDisplayTrackKind):
+ (WebCore::InternalSettings::shouldDisplayTrackKind):
+ * testing/Internals.cpp:
+ (WebCore::Internals::resetToConsistentState):
+ (WebCore::Internals::Internals):
+ (WebCore::Internals::userPreferredAudioCharacteristics):
+ (WebCore::Internals::setUserPreferredAudioCharacteristic):
+ (WebCore::Internals::captionsStyleSheetOverride):
+ (WebCore::Internals::setCaptionsStyleSheetOverride):
+ (WebCore::Internals::setPrimaryAudioTrackLanguageOverride):
+ (WebCore::Internals::setCaptionDisplayMode):
+
2016-02-04 Konstantin Tokarev <[email protected]>
Removed unused Settings::setPrivateBrowsingEnabled.
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (196134 => 196135)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -92,8 +92,7 @@
if (!page)
return Vector<RefPtr<TextTrack>>();
- CaptionUserPreferences* captionPreferences = page->group().captionPreferences();
- return captionPreferences->sortedTrackListForMenu(trackList);
+ return page->group().captionPreferences().sortedTrackListForMenu(trackList);
}
Vector<RefPtr<AudioTrack>> MediaControlsHost::sortedTrackListForMenu(AudioTrackList* trackList)
@@ -105,8 +104,7 @@
if (!page)
return Vector<RefPtr<AudioTrack>>();
- CaptionUserPreferences* captionPreferences = page->group().captionPreferences();
- return captionPreferences->sortedTrackListForMenu(trackList);
+ return page->group().captionPreferences().sortedTrackListForMenu(trackList);
}
String MediaControlsHost::displayNameForTrack(TextTrack* track)
@@ -118,8 +116,7 @@
if (!page)
return emptyString();
- CaptionUserPreferences* captionPreferences = page->group().captionPreferences();
- return captionPreferences->displayNameForTrack(track);
+ return page->group().captionPreferences().displayNameForTrack(track);
}
String MediaControlsHost::displayNameForTrack(AudioTrack* track)
@@ -131,8 +128,7 @@
if (!page)
return emptyString();
- CaptionUserPreferences* captionPreferences = page->group().captionPreferences();
- return captionPreferences->displayNameForTrack(track);
+ return page->group().captionPreferences().displayNameForTrack(track);
}
TextTrack* MediaControlsHost::captionMenuOffItem()
@@ -151,7 +147,7 @@
if (!page)
return emptyAtom;
- switch (page->group().captionPreferences()->captionDisplayMode()) {
+ switch (page->group().captionPreferences().captionDisplayMode()) {
case CaptionUserPreferences::Automatic:
return automaticKeyword();
case CaptionUserPreferences::ForcedOnly:
Modified: trunk/Source/WebCore/dom/Document.cpp (196134 => 196135)
--- trunk/Source/WebCore/dom/Document.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/dom/Document.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -4715,7 +4715,7 @@
void Document::registerForCaptionPreferencesChangedCallbacks(Element* e)
{
if (page())
- page()->group().captionPreferences()->setInterestedInCaptionPreferenceChanges();
+ page()->group().captionPreferences().setInterestedInCaptionPreferenceChanges();
m_captionPreferencesChangedElements.add(e);
}
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (196134 => 196135)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -444,7 +444,7 @@
#if ENABLE(VIDEO_TRACK)
if (document.page())
- m_captionDisplayMode = document.page()->group().captionPreferences()->captionDisplayMode();
+ m_captionDisplayMode = document.page()->group().captionPreferences().captionDisplayMode();
#endif
#if ENABLE(MEDIA_SESSION)
@@ -3581,7 +3581,7 @@
Document& document = this->document();
document.registerForCaptionPreferencesChangedCallbacks(this);
if (Page* page = document.page())
- m_captionDisplayMode = page->group().captionPreferences()->captionDisplayMode();
+ m_captionDisplayMode = page->group().captionPreferences().captionDisplayMode();
}
track->setManualSelectionMode(m_captionDisplayMode == CaptionUserPreferences::Manual);
@@ -3785,7 +3785,7 @@
LOG(Media, "HTMLMediaElement::configureTextTrackGroup(%p)", this);
Page* page = document().page();
- CaptionUserPreferences* captionPreferences = page ? page->group().captionPreferences() : 0;
+ CaptionUserPreferences* captionPreferences = page ? &page->group().captionPreferences() : 0;
CaptionUserPreferences::CaptionDisplayMode displayMode = captionPreferences ? captionPreferences->captionDisplayMode() : CaptionUserPreferences::Automatic;
// First, find the track in the group that should be enabled (if any).
@@ -4008,10 +4008,10 @@
trackList->item(i)->setMode(TextTrack::disabledKeyword());
}
- CaptionUserPreferences* captionPreferences = document().page() ? document().page()->group().captionPreferences() : 0;
- if (!captionPreferences)
+ if (!document().page())
return;
+ auto& captionPreferences = document().page()->group().captionPreferences();
CaptionUserPreferences::CaptionDisplayMode displayMode;
if (trackToSelect == TextTrack::captionMenuOffItem())
displayMode = CaptionUserPreferences::ForcedOnly;
@@ -4020,10 +4020,10 @@
else {
displayMode = CaptionUserPreferences::AlwaysOn;
if (trackToSelect->language().length())
- captionPreferences->setPreferredLanguage(trackToSelect->language());
+ captionPreferences.setPreferredLanguage(trackToSelect->language());
}
- captionPreferences->setCaptionDisplayMode(displayMode);
+ captionPreferences.setCaptionDisplayMode(displayMode);
}
void HTMLMediaElement::configureTextTracks()
@@ -5725,7 +5725,7 @@
if (!document().page())
return;
- CaptionUserPreferences::CaptionDisplayMode displayMode = document().page()->group().captionPreferences()->captionDisplayMode();
+ CaptionUserPreferences::CaptionDisplayMode displayMode = document().page()->group().captionPreferences().captionDisplayMode();
if (m_captionDisplayMode == displayMode)
return;
@@ -6167,9 +6167,8 @@
Vector<String> HTMLMediaElement::mediaPlayerPreferredAudioCharacteristics() const
{
- Page* page = document().page();
- if (CaptionUserPreferences* captionPreferences = page ? page->group().captionPreferences() : nullptr)
- return captionPreferences->preferredAudioCharacteristics();
+ if (Page* page = document().page())
+ return page->group().captionPreferences().preferredAudioCharacteristics();
return Vector<String>();
}
Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (196134 => 196135)
--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -728,7 +728,7 @@
if (!document().page())
return;
- CaptionUserPreferences::CaptionDisplayMode displayMode = document().page()->group().captionPreferences()->captionDisplayMode();
+ CaptionUserPreferences::CaptionDisplayMode displayMode = document().page()->group().captionPreferences().captionDisplayMode();
HTMLMediaElement* mediaElement = parentMediaElement(this);
if (!mediaElement)
@@ -802,8 +802,8 @@
if (!document().page())
return;
- CaptionUserPreferences* captionPreferences = document().page()->group().captionPreferences();
- Vector<RefPtr<TextTrack>> tracksForMenu = captionPreferences->sortedTrackListForMenu(trackList);
+ auto& captionPreferences = document().page()->group().captionPreferences();
+ Vector<RefPtr<TextTrack>> tracksForMenu = captionPreferences.sortedTrackListForMenu(trackList);
Ref<Element> captionsHeader = document().createElement(h3Tag, ASSERT_NO_EXCEPTION);
captionsHeader->appendChild(document().createTextNode(textTrackSubtitlesText()));
@@ -812,7 +812,7 @@
for (auto& textTrack : tracksForMenu) {
Ref<Element> menuItem = document().createElement(liTag, ASSERT_NO_EXCEPTION);
- menuItem->appendChild(document().createTextNode(captionPreferences->displayNameForTrack(textTrack.get())));
+ menuItem->appendChild(document().createTextNode(captionPreferences.displayNameForTrack(textTrack.get())));
captionsMenuList->appendChild(menuItem.copyRef());
m_menuItems.append(menuItem.ptr());
m_menuToTrackMap.add(menuItem.ptr(), textTrack);
@@ -1219,7 +1219,7 @@
return;
float smallestDimension = std::min(m_videoDisplaySize.size().height(), m_videoDisplaySize.size().width());
- float fontScale = document().page()->group().captionPreferences()->captionFontSizeScaleAndImportance(m_fontSizeIsImportant);
+ float fontScale = document().page()->group().captionPreferences().captionFontSizeScaleAndImportance(m_fontSizeIsImportant);
m_fontSize = lroundf(smallestDimension * fontScale);
for (auto& activeCue : mediaElement->currentlyActiveCues()) {
Modified: trunk/Source/WebCore/page/PageGroup.cpp (196134 => 196135)
--- trunk/Source/WebCore/page/PageGroup.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/page/PageGroup.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -114,7 +114,7 @@
PageCache::singleton().markPagesForCaptionPreferencesChanged();
}
-CaptionUserPreferences* PageGroup::captionPreferences()
+CaptionUserPreferences& PageGroup::captionPreferences()
{
if (!m_captionPreferences) {
#if PLATFORM(MAC) || HAVE(MEDIA_ACCESSIBILITY_FRAMEWORK)
@@ -124,7 +124,7 @@
#endif
}
- return m_captionPreferences.get();
+ return *m_captionPreferences.get();
}
#endif
Modified: trunk/Source/WebCore/page/PageGroup.h (196134 => 196135)
--- trunk/Source/WebCore/page/PageGroup.h 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/page/PageGroup.h 2016-02-04 19:27:11 UTC (rev 196135)
@@ -57,7 +57,7 @@
#if ENABLE(VIDEO_TRACK)
WEBCORE_EXPORT void captionPreferencesChanged();
- WEBCORE_EXPORT CaptionUserPreferences* captionPreferences();
+ WEBCORE_EXPORT CaptionUserPreferences& captionPreferences();
#endif
private:
Modified: trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.mm (196134 => 196135)
--- trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.mm 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenModelVideoElement.mm 2016-02-04 19:27:11 UTC (rev 196135)
@@ -313,11 +313,11 @@
WTF::AtomicString displayMode = m_videoElement->mediaControlsHost()->captionDisplayMode();
TextTrack* offItem = m_videoElement->mediaControlsHost()->captionMenuOffItem();
TextTrack* automaticItem = m_videoElement->mediaControlsHost()->captionMenuAutomaticItem();
- CaptionUserPreferences& captionPreferences = *m_videoElement->document().page()->group().captionPreferences();
+
+ auto& captionPreferences = m_videoElement->document().page()->group().captionPreferences();
m_legibleTracksForMenu = captionPreferences.sortedTrackListForMenu(trackList);
+ m_audioTracksForMenu = captionPreferences.sortedTrackListForMenu(audioTrackList);
- m_audioTracksForMenu = captionPreferences.sortedTrackListForMenu(audioTrackList);
-
Vector<String> audioTrackDisplayNames;
uint64_t selectedAudioIndex = 0;
Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (196134 => 196135)
--- trunk/Source/WebCore/testing/InternalSettings.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -398,14 +398,14 @@
#if ENABLE(VIDEO_TRACK)
if (!page())
return;
- CaptionUserPreferences* captionPreferences = page()->group().captionPreferences();
+ auto& captionPreferences = page()->group().captionPreferences();
if (equalLettersIgnoringASCIICase(kind, "subtitles"))
- captionPreferences->setUserPrefersSubtitles(enabled);
+ captionPreferences.setUserPrefersSubtitles(enabled);
else if (equalLettersIgnoringASCIICase(kind, "captions"))
- captionPreferences->setUserPrefersCaptions(enabled);
+ captionPreferences.setUserPrefersCaptions(enabled);
else if (equalLettersIgnoringASCIICase(kind, "textdescriptions"))
- captionPreferences->setUserPrefersTextDescriptions(enabled);
+ captionPreferences.setUserPrefersTextDescriptions(enabled);
else
ec = SYNTAX_ERR;
#else
@@ -421,14 +421,14 @@
#if ENABLE(VIDEO_TRACK)
if (!page())
return false;
- CaptionUserPreferences* captionPreferences = page()->group().captionPreferences();
+ auto& captionPreferences = page()->group().captionPreferences();
if (equalLettersIgnoringASCIICase(kind, "subtitles"))
- return captionPreferences->userPrefersSubtitles();
+ return captionPreferences.userPrefersSubtitles();
if (equalLettersIgnoringASCIICase(kind, "captions"))
- return captionPreferences->userPrefersCaptions();
+ return captionPreferences.userPrefersCaptions();
if (equalLettersIgnoringASCIICase(kind, "textdescriptions"))
- return captionPreferences->userPrefersTextDescriptions();
+ return captionPreferences.userPrefersTextDescriptions();
ec = SYNTAX_ERR;
return false;
Modified: trunk/Source/WebCore/testing/Internals.cpp (196134 => 196135)
--- trunk/Source/WebCore/testing/Internals.cpp 2016-02-04 19:20:46 UTC (rev 196134)
+++ trunk/Source/WebCore/testing/Internals.cpp 2016-02-04 19:27:11 UTC (rev 196135)
@@ -375,8 +375,8 @@
WebCore::Settings::setUsesOverlayScrollbars(false);
page->inspectorController().setProfilerEnabled(false);
#if ENABLE(VIDEO_TRACK)
- page->group().captionPreferences()->setCaptionsStyleSheetOverride(emptyString());
- page->group().captionPreferences()->setTestingMode(false);
+ page->group().captionPreferences().setCaptionsStyleSheetOverride(emptyString());
+ page->group().captionPreferences().setTestingMode(false);
#endif
if (!page->mainFrame().editor().isContinuousSpellCheckingEnabled())
page->mainFrame().editor().toggleContinuousSpellChecking();
@@ -407,7 +407,7 @@
{
#if ENABLE(VIDEO_TRACK)
if (document && document->page())
- document->page()->group().captionPreferences()->setTestingMode(true);
+ document->page()->group().captionPreferences().setTestingMode(true);
#endif
#if ENABLE(MEDIA_STREAM)
@@ -1468,7 +1468,7 @@
if (!document || !document->page())
return Vector<String>();
#if ENABLE(VIDEO_TRACK)
- return document->page()->group().captionPreferences()->preferredAudioCharacteristics();
+ return document->page()->group().captionPreferences().preferredAudioCharacteristics();
#else
return Vector<String>();
#endif
@@ -1480,7 +1480,7 @@
if (!document || !document->page())
return;
#if ENABLE(VIDEO_TRACK)
- document->page()->group().captionPreferences()->setPreferredAudioCharacteristic(characteristic);
+ document->page()->group().captionPreferences().setPreferredAudioCharacteristic(characteristic);
#else
UNUSED_PARAM(characteristic);
#endif
@@ -2755,7 +2755,7 @@
}
#if ENABLE(VIDEO_TRACK)
- return document->page()->group().captionPreferences()->captionsStyleSheetOverride();
+ return document->page()->group().captionPreferences().captionsStyleSheetOverride();
#else
return emptyString();
#endif
@@ -2770,7 +2770,7 @@
}
#if ENABLE(VIDEO_TRACK)
- document->page()->group().captionPreferences()->setCaptionsStyleSheetOverride(override);
+ document->page()->group().captionPreferences().setCaptionsStyleSheetOverride(override);
#else
UNUSED_PARAM(override);
#endif
@@ -2785,7 +2785,7 @@
}
#if ENABLE(VIDEO_TRACK)
- document->page()->group().captionPreferences()->setPrimaryAudioTrackLanguageOverride(language);
+ document->page()->group().captionPreferences().setPrimaryAudioTrackLanguageOverride(language);
#else
UNUSED_PARAM(language);
#endif
@@ -2800,16 +2800,16 @@
}
#if ENABLE(VIDEO_TRACK)
- CaptionUserPreferences* captionPreferences = document->page()->group().captionPreferences();
+ auto& captionPreferences = document->page()->group().captionPreferences();
if (equalLettersIgnoringASCIICase(mode, "automatic"))
- captionPreferences->setCaptionDisplayMode(CaptionUserPreferences::Automatic);
+ captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::Automatic);
else if (equalLettersIgnoringASCIICase(mode, "forcedonly"))
- captionPreferences->setCaptionDisplayMode(CaptionUserPreferences::ForcedOnly);
+ captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::ForcedOnly);
else if (equalLettersIgnoringASCIICase(mode, "alwayson"))
- captionPreferences->setCaptionDisplayMode(CaptionUserPreferences::AlwaysOn);
+ captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::AlwaysOn);
else if (equalLettersIgnoringASCIICase(mode, "manual"))
- captionPreferences->setCaptionDisplayMode(CaptionUserPreferences::Manual);
+ captionPreferences.setCaptionDisplayMode(CaptionUserPreferences::Manual);
else
ec = SYNTAX_ERR;
#else