| 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 * * Redistributions of source code must retain the above copyright | 4 * * Redistributions of source code must retain the above copyright |
| 5 * notice, this list of conditions and the following disclaimer. | 5 * notice, this list of conditions and the following disclaimer. |
| 6 * * Redistributions in binary form must reproduce the above | 6 * * Redistributions in binary form must reproduce the above |
| 7 * copyright notice, this list of conditions and the following disclaimer | 7 * copyright notice, this list of conditions and the following disclaimer |
| 8 * in the documentation and/or other materials provided with the | 8 * in the documentation and/or other materials provided with the |
| 9 * distribution. | 9 * distribution. |
| 10 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
| 11 * contributors may be used to endorse or promote products derived from | 11 * contributors may be used to endorse or promote products derived from |
| 12 * this software without specific prior written permission. | 12 * this software without specific prior written permission. |
| 13 * | 13 * |
| 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| 15 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 15 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| 16 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 16 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| 17 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 17 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| 18 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 18 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| 19 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 19 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 20 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 20 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 #include "config.h" | 27 #include "config.h" |
| 28 #include "core/css/resolver/StyleBuilderConverter.h" | 28 #include "core/css/resolver/StyleBuilderConverter.h" |
| 29 | 29 |
| 30 #include "core/css/CSSFontFeatureValue.h" |
| 30 #include "core/css/CSSFunctionValue.h" | 31 #include "core/css/CSSFunctionValue.h" |
| 31 #include "core/css/CSSGridLineNamesValue.h" | 32 #include "core/css/CSSGridLineNamesValue.h" |
| 32 #include "core/css/CSSPrimitiveValueMappings.h" | 33 #include "core/css/CSSPrimitiveValueMappings.h" |
| 33 #include "core/css/CSSReflectValue.h" | 34 #include "core/css/CSSReflectValue.h" |
| 34 #include "core/css/CSSShadowValue.h" | 35 #include "core/css/CSSShadowValue.h" |
| 35 #include "core/css/Pair.h" | 36 #include "core/css/Pair.h" |
| 36 #include "core/svg/SVGURIReference.h" | 37 #include "core/svg/SVGURIReference.h" |
| 37 | 38 |
| 38 namespace blink { | 39 namespace blink { |
| 39 | 40 |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 } | 84 } |
| 84 | 85 |
| 85 AtomicString StyleBuilderConverter::convertFragmentIdentifier(StyleResolverState
& state, CSSValue* value) | 86 AtomicString StyleBuilderConverter::convertFragmentIdentifier(StyleResolverState
& state, CSSValue* value) |
| 86 { | 87 { |
| 87 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); | 88 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
| 88 if (primitiveValue->isURI()) | 89 if (primitiveValue->isURI()) |
| 89 return SVGURIReference::fragmentIdentifierFromIRIString(primitiveValue->
getStringValue(), state.element()->treeScope()); | 90 return SVGURIReference::fragmentIdentifierFromIRIString(primitiveValue->
getStringValue(), state.element()->treeScope()); |
| 90 return nullAtom; | 91 return nullAtom; |
| 91 } | 92 } |
| 92 | 93 |
| 94 PassRefPtr<FontFeatureSettings> StyleBuilderConverter::convertFontFeatureSetting
s(StyleResolverState& state, CSSValue* value) |
| 95 { |
| 96 if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValueID() ==
CSSValueNormal) |
| 97 return FontBuilder::initialFeatureSettings(); |
| 98 |
| 99 CSSValueList* list = toCSSValueList(value); |
| 100 RefPtr<FontFeatureSettings> settings = FontFeatureSettings::create(); |
| 101 int len = list->length(); |
| 102 for (int i = 0; i < len; ++i) { |
| 103 CSSFontFeatureValue* feature = toCSSFontFeatureValue(list->item(i)); |
| 104 settings->append(FontFeature(feature->tag(), feature->value())); |
| 105 } |
| 106 return settings; |
| 107 } |
| 108 |
| 93 FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, C
SSValue* value) | 109 FontWeight StyleBuilderConverter::convertFontWeight(StyleResolverState& state, C
SSValue* value) |
| 94 { | 110 { |
| 95 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); | 111 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
| 96 switch (primitiveValue->getValueID()) { | 112 switch (primitiveValue->getValueID()) { |
| 97 case CSSValueBolder: | 113 case CSSValueBolder: |
| 98 return FontDescription::bolderWeight(state.parentStyle()->fontDescriptio
n().weight()); | 114 return FontDescription::bolderWeight(state.parentStyle()->fontDescriptio
n().weight()); |
| 99 case CSSValueLighter: | 115 case CSSValueLighter: |
| 100 return FontDescription::lighterWeight(state.parentStyle()->fontDescripti
on().weight()); | 116 return FontDescription::lighterWeight(state.parentStyle()->fontDescripti
on().weight()); |
| 101 default: | 117 default: |
| 102 return *primitiveValue; | 118 return *primitiveValue; |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 { | 525 { |
| 510 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); | 526 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); |
| 511 if (primitiveValue->getValueID()) { | 527 if (primitiveValue->getValueID()) { |
| 512 float multiplier = convertLineWidth<float>(state, value); | 528 float multiplier = convertLineWidth<float>(state, value); |
| 513 return CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS
_EMS)->computeLength<float>(state.cssToLengthConversionData()); | 529 return CSSPrimitiveValue::create(multiplier / 48, CSSPrimitiveValue::CSS
_EMS)->computeLength<float>(state.cssToLengthConversionData()); |
| 514 } | 530 } |
| 515 return primitiveValue->computeLength<float>(state.cssToLengthConversionData(
)); | 531 return primitiveValue->computeLength<float>(state.cssToLengthConversionData(
)); |
| 516 } | 532 } |
| 517 | 533 |
| 518 } // namespace blink | 534 } // namespace blink |
| OLD | NEW |