| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Google Inc. All rights reserved. | 3 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * | 8 * |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 28 */ | 28 */ |
| 29 | 29 |
| 30 #include "config.h" | 30 #include "config.h" |
| 31 #include "core/html/shadow/MediaControlElements.h" | 31 #include "core/html/shadow/MediaControlElements.h" |
| 32 | 32 |
| 33 #include "RuntimeEnabledFeatures.h" |
| 33 #include "bindings/v8/ExceptionStatePlaceholder.h" | 34 #include "bindings/v8/ExceptionStatePlaceholder.h" |
| 34 #include "core/dom/DOMTokenList.h" | 35 #include "core/dom/DOMTokenList.h" |
| 35 #include "core/dom/FullscreenElementStack.h" | 36 #include "core/dom/FullscreenElementStack.h" |
| 36 #include "core/events/MouseEvent.h" | 37 #include "core/events/MouseEvent.h" |
| 37 #include "core/events/ThreadLocalEventNames.h" | 38 #include "core/events/ThreadLocalEventNames.h" |
| 38 #include "core/html/HTMLVideoElement.h" | 39 #include "core/html/HTMLVideoElement.h" |
| 39 #include "core/html/shadow/MediaControls.h" | 40 #include "core/html/shadow/MediaControls.h" |
| 40 #include "core/html/track/TextTrack.h" | 41 #include "core/html/track/TextTrack.h" |
| 41 #include "core/html/track/TextTrackRegionList.h" | 42 #include "core/html/track/TextTrackRegionList.h" |
| 42 #include "core/page/EventHandler.h" | 43 #include "core/page/EventHandler.h" |
| (...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 730 // corresponding CSS boxes added to output, in text track cue order, run the | 731 // corresponding CSS boxes added to output, in text track cue order, run the |
| 731 // following substeps: | 732 // following substeps: |
| 732 for (size_t i = 0; i < activeCues.size(); ++i) { | 733 for (size_t i = 0; i < activeCues.size(); ++i) { |
| 733 TextTrackCue* cue = activeCues[i].data(); | 734 TextTrackCue* cue = activeCues[i].data(); |
| 734 | 735 |
| 735 ASSERT(cue->isActive()); | 736 ASSERT(cue->isActive()); |
| 736 if (!cue->track() || !cue->track()->isRendered() || !cue->isActive()) | 737 if (!cue->track() || !cue->track()->isRendered() || !cue->isActive()) |
| 737 continue; | 738 continue; |
| 738 | 739 |
| 739 RefPtr<TextTrackCueBox> displayBox = cue->getDisplayTree(m_videoDisplayS
ize.size()); | 740 RefPtr<TextTrackCueBox> displayBox = cue->getDisplayTree(m_videoDisplayS
ize.size()); |
| 741 TextTrackRegion* region = 0; |
| 742 if (cue->track()->regions()) |
| 743 region = cue->track()->regions()->getRegionById(cue->regionId()); |
| 740 | 744 |
| 741 #if ENABLE(WEBVTT_REGIONS) | |
| 742 String regionId = cue->regionId(); | |
| 743 TextTrackRegion* region = cue->track()->regions()->getRegionById(regionI
d); | |
| 744 if (!region) { | 745 if (!region) { |
| 745 // If cue has an empty text track cue region identifier or there is
no | 746 // If cue has an empty text track cue region identifier or there is
no |
| 746 // WebVTT region whose region identifier is identical to cue's text | 747 // WebVTT region whose region identifier is identical to cue's text |
| 747 // track cue region identifier, run the following substeps: | 748 // track cue region identifier, run the following substeps: |
| 748 #endif | 749 if (displayBox->hasChildNodes() && !contains(displayBox.get())) |
| 749 if (displayBox->hasChildNodes() && !contains(displayBox.get())) { | |
| 750 // Note: the display tree of a cue is removed when the active fl
ag of the cue is unset. | 750 // Note: the display tree of a cue is removed when the active fl
ag of the cue is unset. |
| 751 appendChild(displayBox); | 751 appendChild(displayBox); |
| 752 } | |
| 753 #if ENABLE(WEBVTT_REGIONS) | |
| 754 } else { | 752 } else { |
| 755 // Let region be the WebVTT region whose region identifier | 753 // Let region be the WebVTT region whose region identifier |
| 756 // matches the text track cue region identifier of cue. | 754 // matches the text track cue region identifier of cue. |
| 757 RefPtr<HTMLDivElement> regionNode = region->getDisplayTree(); | 755 RefPtr<HTMLDivElement> regionNode = region->getDisplayTree(); |
| 758 | 756 |
| 759 // Append the region to the viewport, if it was not already. | 757 // Append the region to the viewport, if it was not already. |
| 760 if (!contains(regionNode.get())) | 758 if (!contains(regionNode.get())) |
| 761 appendChild(region->getDisplayTree()); | 759 appendChild(region->getDisplayTree()); |
| 762 | 760 |
| 763 region->appendTextTrackCueBox(displayBox); | 761 region->appendTextTrackCueBox(displayBox); |
| 764 } | 762 } |
| 765 #endif | |
| 766 } | 763 } |
| 767 | 764 |
| 768 // 11. Return output. | 765 // 11. Return output. |
| 769 if (hasChildNodes()) | 766 if (hasChildNodes()) |
| 770 show(); | 767 show(); |
| 771 else | 768 else |
| 772 hide(); | 769 hide(); |
| 773 } | 770 } |
| 774 | 771 |
| 775 void MediaControlTextTrackContainerElement::updateSizes(bool forceUpdate) | 772 void MediaControlTextTrackContainerElement::updateSizes(bool forceUpdate) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 802 CueList activeCues = mediaElement->currentlyActiveCues(); | 799 CueList activeCues = mediaElement->currentlyActiveCues(); |
| 803 for (size_t i = 0; i < activeCues.size(); ++i) { | 800 for (size_t i = 0; i < activeCues.size(); ++i) { |
| 804 TextTrackCue* cue = activeCues[i].data(); | 801 TextTrackCue* cue = activeCues[i].data(); |
| 805 cue->videoSizeDidChange(m_videoDisplaySize.size()); | 802 cue->videoSizeDidChange(m_videoDisplaySize.size()); |
| 806 } | 803 } |
| 807 } | 804 } |
| 808 | 805 |
| 809 // ---------------------------- | 806 // ---------------------------- |
| 810 | 807 |
| 811 } // namespace WebCore | 808 } // namespace WebCore |
| OLD | NEW |