Diff
Modified: trunk/LayoutTests/ChangeLog (151696 => 151697)
--- trunk/LayoutTests/ChangeLog 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/LayoutTests/ChangeLog 2013-06-18 21:29:12 UTC (rev 151697)
@@ -1,3 +1,15 @@
+2013-06-18 Eric Carlson <[email protected]>
+
+ Not all subtitle tracks are SDH
+ https://bugs.webkit.org/show_bug.cgi?id=117738
+
+ Reviewed by Dean Jackson.
+
+ * media/video-controls-captions-trackmenu-localized.html:
+ * media/video-controls-captions-trackmenu-sorted.html:
+ * platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt:
+ * platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt:
+
2013-06-18 Dean Jackson <[email protected]>
Synthesized vertical italics on rotated glyphs are transformed incorrectly
Modified: trunk/LayoutTests/media/video-controls-captions-trackmenu-localized.html (151696 => 151697)
--- trunk/LayoutTests/media/video-controls-captions-trackmenu-localized.html 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/LayoutTests/media/video-controls-captions-trackmenu-localized.html 2013-06-18 21:29:12 UTC (rev 151697)
@@ -53,8 +53,8 @@
testExpected("item.textContent", "Laugh Track (English-United States)");
item = captionsEntries[4];
- consoleWrite("<br>Fifth item in captions menu should be labelled 'Unknown SDH'");
- testExpected("item.textContent", "Unknown SDH");
+ consoleWrite("<br>Fifth item in captions menu should be labelled 'Unknown'");
+ testExpected("item.textContent", "Unknown");
endTest();
}
Modified: trunk/LayoutTests/media/video-controls-captions-trackmenu-sorted.html (151696 => 151697)
--- trunk/LayoutTests/media/video-controls-captions-trackmenu-sorted.html 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/LayoutTests/media/video-controls-captions-trackmenu-sorted.html 2013-06-18 21:29:12 UTC (rev 151697)
@@ -42,11 +42,11 @@
trackMenuItems = textTrackMenuItems();
testExpected("trackMenuItems[0].textContent", "Off");
testExpected("trackMenuItems[1].textContent", "Auto (Recommended)");
- testExpected("trackMenuItems[2].textContent", "u (English) SDH");
- testExpected("trackMenuItems[3].textContent", "y (English-Australia) SDH");
+ testExpected("trackMenuItems[2].textContent", "u (English)");
+ testExpected("trackMenuItems[3].textContent", "y (English-Australia)");
testExpected("trackMenuItems[4].textContent", "v (English)");
testExpected("trackMenuItems[5].textContent", "x (English-Australia)");
- testExpected("trackMenuItems[6].textContent", "w (Japanese) SDH");
+ testExpected("trackMenuItems[6].textContent", "w (Japanese)");
testExpected("trackMenuItems[7].textContent", "z (Japanese)");
testExpected("video.textTracks.length", 6);
testExpected("trackMenuItems.length", 8);
Modified: trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt (151696 => 151697)
--- trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt 2013-06-18 21:29:12 UTC (rev 151697)
@@ -19,7 +19,7 @@
Fourth item in captions menu should be labelled 'Laugh Track (English-United States)'
EXPECTED (item.textContent == 'Laugh Track (English-United States)') OK
-Fifth item in captions menu should be labelled 'Unknown SDH'
-EXPECTED (item.textContent == 'Unknown SDH') OK
+Fifth item in captions menu should be labelled 'Unknown'
+EXPECTED (item.textContent == 'Unknown') OK
END OF TEST
Modified: trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt (151696 => 151697)
--- trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/LayoutTests/platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt 2013-06-18 21:29:12 UTC (rev 151697)
@@ -9,11 +9,11 @@
RUN(internals.settings.setShouldDisplayTrackKind('Captions', true))
EXPECTED (trackMenuItems[0].textContent == 'Off') OK
EXPECTED (trackMenuItems[1].textContent == 'Auto (Recommended)') OK
-EXPECTED (trackMenuItems[2].textContent == 'u (English) SDH') OK
-EXPECTED (trackMenuItems[3].textContent == 'y (English-Australia) SDH') OK
+EXPECTED (trackMenuItems[2].textContent == 'u (English)') OK
+EXPECTED (trackMenuItems[3].textContent == 'y (English-Australia)') OK
EXPECTED (trackMenuItems[4].textContent == 'v (English)') OK
EXPECTED (trackMenuItems[5].textContent == 'x (English-Australia)') OK
-EXPECTED (trackMenuItems[6].textContent == 'w (Japanese) SDH') OK
+EXPECTED (trackMenuItems[6].textContent == 'w (Japanese)') OK
EXPECTED (trackMenuItems[7].textContent == 'z (Japanese)') OK
EXPECTED (video.textTracks.length == '6') OK
EXPECTED (trackMenuItems.length == '8') OK
@@ -24,9 +24,9 @@
RUN(internals.settings.setShouldDisplayTrackKind('Subtitles', true))
EXPECTED (trackMenuItems[0].textContent == 'Off') OK
EXPECTED (trackMenuItems[1].textContent == 'Auto (Recommended)') OK
-EXPECTED (trackMenuItems[2].textContent == 'z (Japanese)'), OBSERVED 'w (Japanese) SDH' FAIL
+EXPECTED (trackMenuItems[2].textContent == 'z (Japanese)'), OBSERVED 'w (Japanese)' FAIL
EXPECTED (trackMenuItems[3].textContent == 'v (English)'), OBSERVED 'z (Japanese)' FAIL
-EXPECTED (trackMenuItems[4].textContent == 'x (English-Australia)'), OBSERVED 'u (English) SDH' FAIL
+EXPECTED (trackMenuItems[4].textContent == 'x (English-Australia)'), OBSERVED 'u (English)' FAIL
EXPECTED (video.textTracks.length == '6') OK
EXPECTED (trackMenuItems.length == '5'), OBSERVED '8' FAIL
Modified: trunk/Source/WebCore/ChangeLog (151696 => 151697)
--- trunk/Source/WebCore/ChangeLog 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/ChangeLog 2013-06-18 21:29:12 UTC (rev 151697)
@@ -1,3 +1,30 @@
+2013-06-18 Eric Carlson <[email protected]>
+
+ Not all subtitle tracks are SDH
+ https://bugs.webkit.org/show_bug.cgi?id=117738
+
+ Reviewed by Dean Jackson.
+
+ No new tests, existing tests updated.
+
+ * html/track/InbandTextTrack.cpp:
+ (WebCore::InbandTextTrack::isSDH): New.
+
+ * html/track/InbandTextTrack.h: Add isSDH override.
+ * html/track/TextTrack.h:
+
+ * page/CaptionUserPreferencesMac.mm:
+ (WebCore::trackDisplayName): Only add "SDH" label if a track claims to be SDH.
+
+ * platform/graphics/InbandTextTrackPrivate.h:
+ (WebCore::InbandTextTrackPrivate::isSDH): New.
+
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:
+ * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
+ (WebCore::InbandTextTrackPrivateAVFObjC::isSDH): Return true if track has both "transcribes
+ spoken dialog for accessibility" and "describes music and sound for accessibility"
+ characteristics.
+
2013-06-18 Ryosuke Niwa <[email protected]>
Simplify FormKeyGenerator::willDeleteForm
Modified: trunk/Source/WebCore/html/track/InbandTextTrack.cpp (151696 => 151697)
--- trunk/Source/WebCore/html/track/InbandTextTrack.cpp 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.cpp 2013-06-18 21:29:12 UTC (rev 151697)
@@ -148,6 +148,14 @@
return m_private->isClosedCaptions();
}
+bool InbandTextTrack::isSDH() const
+{
+ if (!m_private)
+ return false;
+
+ return m_private->isSDH();
+}
+
bool InbandTextTrack::containsOnlyForcedSubtitles() const
{
if (!m_private)
Modified: trunk/Source/WebCore/html/track/InbandTextTrack.h (151696 => 151697)
--- trunk/Source/WebCore/html/track/InbandTextTrack.h 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.h 2013-06-18 21:29:12 UTC (rev 151697)
@@ -67,6 +67,7 @@
virtual ~InbandTextTrack();
virtual bool isClosedCaptions() const OVERRIDE;
+ virtual bool isSDH() const OVERRIDE;
virtual bool containsOnlyForcedSubtitles() const OVERRIDE;
virtual bool isMainProgramContent() const OVERRIDE;
virtual bool isEasyToRead() const OVERRIDE;
Modified: trunk/Source/WebCore/html/track/TextTrack.h (151696 => 151697)
--- trunk/Source/WebCore/html/track/TextTrack.h 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/html/track/TextTrack.h 2013-06-18 21:29:12 UTC (rev 151697)
@@ -127,7 +127,7 @@
TextTrackType trackType() const { return m_trackType; }
virtual bool isClosedCaptions() const { return false; }
-
+ virtual bool isSDH() const { return false; }
virtual bool containsOnlyForcedSubtitles() const { return false; }
virtual bool isMainProgramContent() const;
virtual bool isEasyToRead() const { return false; }
Modified: trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm (151696 => 151697)
--- trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/page/CaptionUserPreferencesMac.mm 2013-06-18 21:29:12 UTC (rev 151697)
@@ -587,13 +587,13 @@
if (track->isEasyToRead())
return easyReaderTrackMenuItemText(displayName.toString());
- if (track->kind() != track->captionsKeyword())
- return displayName.toString();
-
if (track->isClosedCaptions())
return closedCaptionTrackMenuItemText(displayName.toString());
-
- return sdhTrackMenuItemText(displayName.toString());
+
+ if (track->isSDH())
+ return sdhTrackMenuItemText(displayName.toString());
+
+ return displayName.toString();
}
String CaptionUserPreferencesMac::displayNameForTrack(TextTrack* track) const
Modified: trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivate.h (151696 => 151697)
--- trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivate.h 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivate.h 2013-06-18 21:29:12 UTC (rev 151697)
@@ -67,6 +67,7 @@
};
virtual Kind kind() const { return Subtitles; }
virtual bool isClosedCaptions() const { return false; }
+ virtual bool isSDH() const { return false; }
virtual bool containsOnlyForcedSubtitles() const { return false; }
virtual bool isMainProgramContent() const { return true; }
virtual bool isEasyToRead() const { return false; }
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h (151696 => 151697)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h 2013-06-18 21:29:12 UTC (rev 151697)
@@ -46,6 +46,7 @@
virtual InbandTextTrackPrivate::Kind kind() const OVERRIDE;
virtual bool isClosedCaptions() const OVERRIDE;
+ virtual bool isSDH() const OVERRIDE;
virtual bool containsOnlyForcedSubtitles() const OVERRIDE;
virtual bool isMainProgramContent() const OVERRIDE;
virtual bool isEasyToRead() const OVERRIDE;
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm (151696 => 151697)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm 2013-06-18 21:25:53 UTC (rev 151696)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm 2013-06-18 21:29:12 UTC (rev 151697)
@@ -126,6 +126,20 @@
return [[m_mediaSelectionOption mediaType] isEqualToString:AVMediaTypeClosedCaption];
}
+bool InbandTextTrackPrivateAVFObjC::isSDH() const
+{
+ if (!m_mediaSelectionOption)
+ return false;
+
+ if (![[m_mediaSelectionOption mediaType] isEqualToString:AVMediaTypeSubtitle])
+ return false;
+
+ if ([m_mediaSelectionOption hasMediaCharacteristic:AVMediaCharacteristicTranscribesSpokenDialogForAccessibility] && [m_mediaSelectionOption hasMediaCharacteristic:AVMediaCharacteristicDescribesMusicAndSoundForAccessibility])
+ return true;
+
+ return false;
+}
+
bool InbandTextTrackPrivateAVFObjC::containsOnlyForcedSubtitles() const
{
if (!m_mediaSelectionOption)