| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 | 61 |
| 62 // The region doesn't have scrolling text, by default. | 62 // The region doesn't have scrolling text, by default. |
| 63 static const bool defaultScroll = false; | 63 static const bool defaultScroll = false; |
| 64 | 64 |
| 65 // Default region line-height (vh units) | 65 // Default region line-height (vh units) |
| 66 static const float lineHeight = 5.33; | 66 static const float lineHeight = 5.33; |
| 67 | 67 |
| 68 // Default scrolling animation time period (s). | 68 // Default scrolling animation time period (s). |
| 69 static const float scrollTime = 0.433; | 69 static const float scrollTime = 0.433; |
| 70 | 70 |
| 71 static bool isInfiniteOrNonNumberOrNonPercentage(double value, const char* metho
d, ExceptionState& exceptionState) | 71 static bool isNonPercentage(double value, const char* method, ExceptionState& ex
ceptionState) |
| 72 { | 72 { |
| 73 if (!std::isfinite(value)) { | |
| 74 exceptionState.throwTypeError(ExceptionMessages::notAFiniteNumber(value)
); | |
| 75 return true; | |
| 76 } | |
| 77 if (value < 0 || value > 100) { | 73 if (value < 0 || value > 100) { |
| 78 exceptionState.throwDOMException(IndexSizeError, ExceptionMessages::inde
xOutsideRange("value", value, 0.0, ExceptionMessages::InclusiveBound, 100.0, Exc
eptionMessages::InclusiveBound)); | 74 exceptionState.throwDOMException(IndexSizeError, ExceptionMessages::inde
xOutsideRange("value", value, 0.0, ExceptionMessages::InclusiveBound, 100.0, Exc
eptionMessages::InclusiveBound)); |
| 79 return true; | 75 return true; |
| 80 } | 76 } |
| 81 return false; | 77 return false; |
| 82 } | 78 } |
| 83 | 79 |
| 84 VTTRegion::VTTRegion() | 80 VTTRegion::VTTRegion() |
| 85 : m_id(emptyString()) | 81 : m_id(emptyString()) |
| 86 , m_width(defaultWidth) | 82 , m_width(defaultWidth) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 103 m_track = track; | 99 m_track = track; |
| 104 } | 100 } |
| 105 | 101 |
| 106 void VTTRegion::setId(const String& id) | 102 void VTTRegion::setId(const String& id) |
| 107 { | 103 { |
| 108 m_id = id; | 104 m_id = id; |
| 109 } | 105 } |
| 110 | 106 |
| 111 void VTTRegion::setWidth(double value, ExceptionState& exceptionState) | 107 void VTTRegion::setWidth(double value, ExceptionState& exceptionState) |
| 112 { | 108 { |
| 113 if (isInfiniteOrNonNumberOrNonPercentage(value, "width", exceptionState)) | 109 if (isNonPercentage(value, "width", exceptionState)) |
| 114 return; | 110 return; |
| 115 | 111 |
| 116 m_width = value; | 112 m_width = value; |
| 117 } | 113 } |
| 118 | 114 |
| 119 void VTTRegion::setHeight(long value, ExceptionState& exceptionState) | 115 void VTTRegion::setHeight(long value, ExceptionState& exceptionState) |
| 120 { | 116 { |
| 121 if (value < 0) { | 117 if (value < 0) { |
| 122 exceptionState.throwDOMException(IndexSizeError, "The height provided ("
+ String::number(value) + ") is negative."); | 118 exceptionState.throwDOMException(IndexSizeError, "The height provided ("
+ String::number(value) + ") is negative."); |
| 123 return; | 119 return; |
| 124 } | 120 } |
| 125 | 121 |
| 126 m_heightInLines = value; | 122 m_heightInLines = value; |
| 127 } | 123 } |
| 128 | 124 |
| 129 void VTTRegion::setRegionAnchorX(double value, ExceptionState& exceptionState) | 125 void VTTRegion::setRegionAnchorX(double value, ExceptionState& exceptionState) |
| 130 { | 126 { |
| 131 if (isInfiniteOrNonNumberOrNonPercentage(value, "regionAnchorX", exceptionSt
ate)) | 127 if (isNonPercentage(value, "regionAnchorX", exceptionState)) |
| 132 return; | 128 return; |
| 133 | 129 |
| 134 m_regionAnchor.setX(value); | 130 m_regionAnchor.setX(value); |
| 135 } | 131 } |
| 136 | 132 |
| 137 void VTTRegion::setRegionAnchorY(double value, ExceptionState& exceptionState) | 133 void VTTRegion::setRegionAnchorY(double value, ExceptionState& exceptionState) |
| 138 { | 134 { |
| 139 if (isInfiniteOrNonNumberOrNonPercentage(value, "regionAnchorY", exceptionSt
ate)) | 135 if (isNonPercentage(value, "regionAnchorY", exceptionState)) |
| 140 return; | 136 return; |
| 141 | 137 |
| 142 m_regionAnchor.setY(value); | 138 m_regionAnchor.setY(value); |
| 143 } | 139 } |
| 144 | 140 |
| 145 void VTTRegion::setViewportAnchorX(double value, ExceptionState& exceptionState) | 141 void VTTRegion::setViewportAnchorX(double value, ExceptionState& exceptionState) |
| 146 { | 142 { |
| 147 if (isInfiniteOrNonNumberOrNonPercentage(value, "viewportAnchorX", exception
State)) | 143 if (isNonPercentage(value, "viewportAnchorX", exceptionState)) |
| 148 return; | 144 return; |
| 149 | 145 |
| 150 m_viewportAnchor.setX(value); | 146 m_viewportAnchor.setX(value); |
| 151 } | 147 } |
| 152 | 148 |
| 153 void VTTRegion::setViewportAnchorY(double value, ExceptionState& exceptionState) | 149 void VTTRegion::setViewportAnchorY(double value, ExceptionState& exceptionState) |
| 154 { | 150 { |
| 155 if (isInfiniteOrNonNumberOrNonPercentage(value, "viewportAnchorY", exception
State)) | 151 if (isNonPercentage(value, "viewportAnchorY", exceptionState)) |
| 156 return; | 152 return; |
| 157 | 153 |
| 158 m_viewportAnchor.setY(value); | 154 m_viewportAnchor.setY(value); |
| 159 } | 155 } |
| 160 | 156 |
| 161 const AtomicString VTTRegion::scroll() const | 157 const AtomicString VTTRegion::scroll() const |
| 162 { | 158 { |
| 163 DEFINE_STATIC_LOCAL(const AtomicString, upScrollValueKeyword, ("up", AtomicS
tring::ConstructFromLiteral)); | 159 DEFINE_STATIC_LOCAL(const AtomicString, upScrollValueKeyword, ("up", AtomicS
tring::ConstructFromLiteral)); |
| 164 | 160 |
| 165 if (m_scroll) | 161 if (m_scroll) |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 stopTimer(); | 466 stopTimer(); |
| 471 displayLastVTTCueBox(); | 467 displayLastVTTCueBox(); |
| 472 } | 468 } |
| 473 | 469 |
| 474 void VTTRegion::trace(Visitor* visitor) | 470 void VTTRegion::trace(Visitor* visitor) |
| 475 { | 471 { |
| 476 visitor->trace(m_track); | 472 visitor->trace(m_track); |
| 477 } | 473 } |
| 478 | 474 |
| 479 } // namespace WebCore | 475 } // namespace WebCore |
| OLD | NEW |