void TextTrackCue::setText(const String& text) { if (m_content == text) return; cueWillChange(); // Clear the document fragment but don't bother to create it again just yet as we can do that // when it is requested. m_documentFragment = 0; m_content = text; cueDidChange(); }
void VTTCue::setText(const String& text) { if (m_text == text) return; cueWillChange(); // Clear the document fragment but don't bother to create it again just yet as we can do that // when it is requested. m_vttNodeTree = nullptr; m_text = text; cueDidChange(); }
void TextTrackCue::setStartTime(double value, ExceptionState& exceptionState) { // NaN, Infinity and -Infinity values should trigger a TypeError. if (isInfiniteOrNonNumber(value, exceptionState)) return; // TODO(93143): Add spec-compliant behavior for negative time values. if (m_startTime == value || value < 0) return; cueWillChange(); m_startTime = value; cueDidChange(); }
void VTTCue::setSize(int size, ExceptionState& exceptionState) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-size // On setting, if the new value is negative or greater than 100, then throw an IndexSizeError // exception. Otherwise, set the text track cue size to the new value. if (isInvalidPercentage(size, exceptionState)) return; // Otherwise, set the text track cue line position to the new value. if (m_cueSize == size) return; cueWillChange(); m_cueSize = size; cueDidChange(); }
void VTTCue::setPosition(int position, ExceptionState& exceptionState) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-position // On setting, if the new value is negative or greater than 100, then throw an IndexSizeError exception. // Otherwise, set the text track cue text position to the new value. if (isInvalidPercentage(position, exceptionState)) return; // Otherwise, set the text track cue line position to the new value. if (m_textPosition == position) return; cueWillChange(); m_textPosition = position; cueDidChange(); }
void TextTrackCue::setEndTime(double value, ExceptionCode& ec) { // NaN, Infinity and -Infinity values should trigger a TypeError. if (std::isinf(value) || std::isnan(value)) { ec = TypeError; return; } // TODO(93143): Add spec-compliant behavior for negative time values. if (m_endTime == value || value < 0) return; cueWillChange(); m_endTime = value; cueDidChange(); }
void VTTCue::setSize(double size, ExceptionState& exceptionState) { // http://dev.w3.org/html5/webvtt/#dfn-vttcue-size // On setting, if the new value is negative or greater than 100, then throw // an IndexSizeError exception. if (isInvalidPercentage(size, exceptionState)) return; // Otherwise, set the WebVTT cue size to the new value. float floatSize = narrowPrecisionToFloat(size); if (m_cueSize == floatSize) return; cueWillChange(); m_cueSize = floatSize; cueDidChange(); }
void TextTrackCue::setSize(int size, ExceptionCode& ec) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-size // On setting, if the new value is negative or greater than 100, then throw an IndexSizeError // exception. Otherwise, set the text track cue size to the new value. if (size < 0 || size > 100) { ec = INDEX_SIZE_ERR; return; } // Otherwise, set the text track cue line position to the new value. if (m_cueSize == size) return; cueWillChange(); m_cueSize = size; cueDidChange(); }
void TextTrackCue::setPosition(int position, ExceptionCode& ec) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-position // On setting, if the new value is negative or greater than 100, then throw an IndexSizeError exception. // Otherwise, set the text track cue text position to the new value. if (position < 0 || position > 100) { ec = INDEX_SIZE_ERR; return; } // Otherwise, set the text track cue line position to the new value. if (m_textPosition == position) return; cueWillChange(); m_textPosition = position; cueDidChange(); }
void VTTCue::setLine(int position, ExceptionState& exceptionState) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-line // On setting, if the text track cue snap-to-lines flag is not set, and the new // value is negative or greater than 100, then throw an IndexSizeError exception. if (!m_snapToLines && (position < 0 || position > 100)) { exceptionState.throwDOMException(IndexSizeError, "The snap-to-lines flag is not set, and the value provided (" + String::number(position) + ") is not between 0 and 100."); return; } // Otherwise, set the text track cue line position to the new value. if (m_linePosition == position) return; cueWillChange(); m_linePosition = position; m_computedLinePosition = calculateComputedLinePosition(); cueDidChange(); }
void VTTCue::setVertical(const String& value) { WritingDirection direction = m_writingDirection; if (value == horizontalKeyword()) direction = Horizontal; else if (value == verticalGrowingLeftKeyword()) direction = VerticalGrowingLeft; else if (value == verticalGrowingRightKeyword()) direction = VerticalGrowingRight; else ASSERT_NOT_REACHED(); if (direction == m_writingDirection) return; cueWillChange(); m_writingDirection = direction; cueDidChange(); }
void TextTrackCue::setLine(int position, ExceptionCode& ec) { // http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-texttrackcue-line // On setting, if the text track cue snap-to-lines flag is not set, and the new // value is negative or greater than 100, then throw an IndexSizeError exception. if (!m_snapToLines && (position < 0 || position > 100)) { ec = INDEX_SIZE_ERR; return; } // Otherwise, set the text track cue line position to the new value. if (m_linePosition == position) return; cueWillChange(); m_linePosition = position; m_computedLinePosition = calculateComputedLinePosition(); cueDidChange(); }
void VTTCue::setLine(const DoubleOrAutoKeyword& position) { // http://dev.w3.org/html5/webvtt/#dfn-vttcue-line // On setting, the WebVTT cue line must be set to the new value; if the new // value is the string "auto", then it must be interpreted as the special // value auto. ("auto" is translated to NaN.) float floatPosition; if (position.isAutoKeyword()) { if (lineIsAuto()) return; floatPosition = std::numeric_limits<float>::quiet_NaN(); } else { ASSERT(position.isDouble()); floatPosition = narrowPrecisionToFloat(position.getAsDouble()); if (m_linePosition == floatPosition) return; } cueWillChange(); m_linePosition = floatPosition; cueDidChange(); }
void VTTCue::setAlign(const String& value) { CueAlignment alignment = m_cueAlignment; if (value == startKeyword()) alignment = Start; else if (value == middleKeyword()) alignment = Middle; else if (value == endKeyword()) alignment = End; else if (value == leftKeyword()) alignment = Left; else if (value == rightKeyword()) alignment = Right; else ASSERT_NOT_REACHED(); if (alignment == m_cueAlignment) return; cueWillChange(); m_cueAlignment = alignment; cueDidChange(); }