Title: [196135] trunk/Source/WebCore
Revision
196135
Author
[email protected]
Date
2016-02-04 11:27:11 -0800 (Thu, 04 Feb 2016)

Log Message

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):

Modified Paths

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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to