| 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 } | 144 } |
| 145 | 145 |
| 146 template <CSSPropertyID property> | 146 template <CSSPropertyID property> |
| 147 void setOnFillLayers(FillLayer& fillLayers, const AnimatableValue* value, StyleR
esolverState& state) | 147 void setOnFillLayers(FillLayer& fillLayers, const AnimatableValue* value, StyleR
esolverState& state) |
| 148 { | 148 { |
| 149 const WillBeHeapVector<RefPtrWillBeMember<AnimatableValue> >& values = toAni
matableRepeatable(value)->values(); | 149 const WillBeHeapVector<RefPtrWillBeMember<AnimatableValue> >& values = toAni
matableRepeatable(value)->values(); |
| 150 ASSERT(!values.isEmpty()); | 150 ASSERT(!values.isEmpty()); |
| 151 FillLayer* fillLayer = &fillLayers; | 151 FillLayer* fillLayer = &fillLayers; |
| 152 FillLayer* prev = 0; | 152 FillLayer* prev = 0; |
| 153 for (size_t i = 0; i < values.size(); ++i) { | 153 for (size_t i = 0; i < values.size(); ++i) { |
| 154 if (!fillLayer) { | 154 if (!fillLayer) |
| 155 switch (property) { | 155 fillLayer = prev->ensureNext(); |
| 156 case CSSPropertyBackgroundImage: | |
| 157 case CSSPropertyBackgroundPositionX: | |
| 158 case CSSPropertyBackgroundPositionY: | |
| 159 case CSSPropertyBackgroundSize: | |
| 160 case CSSPropertyWebkitBackgroundSize: | |
| 161 fillLayer = new FillLayer(BackgroundFillLayer); | |
| 162 break; | |
| 163 case CSSPropertyWebkitMaskImage: | |
| 164 case CSSPropertyWebkitMaskPositionX: | |
| 165 case CSSPropertyWebkitMaskPositionY: | |
| 166 case CSSPropertyWebkitMaskSize: | |
| 167 fillLayer = new FillLayer(MaskFillLayer); | |
| 168 break; | |
| 169 default: | |
| 170 ASSERT_NOT_REACHED(); | |
| 171 } | |
| 172 prev->setNext(fillLayer); | |
| 173 } | |
| 174 const AnimatableValue* layerValue = values[i].get(); | 156 const AnimatableValue* layerValue = values[i].get(); |
| 175 switch (property) { | 157 switch (property) { |
| 176 case CSSPropertyBackgroundImage: | 158 case CSSPropertyBackgroundImage: |
| 177 case CSSPropertyWebkitMaskImage: | 159 case CSSPropertyWebkitMaskImage: |
| 178 if (layerValue->isImage()) { | 160 if (layerValue->isImage()) { |
| 179 fillLayer->setImage(state.styleImage(property, toAnimatableImage
(layerValue)->toCSSValue())); | 161 fillLayer->setImage(state.styleImage(property, toAnimatableImage
(layerValue)->toCSSValue())); |
| 180 } else { | 162 } else { |
| 181 ASSERT(toAnimatableUnknown(layerValue)->toCSSValueID() == CSSVal
ueNone); | 163 ASSERT(toAnimatableUnknown(layerValue)->toCSSValueID() == CSSVal
ueNone); |
| 182 fillLayer->setImage(nullptr); | 164 fillLayer->setImage(nullptr); |
| 183 } | 165 } |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 631 return; | 613 return; |
| 632 case CSSPropertyZoom: | 614 case CSSPropertyZoom: |
| 633 style->setZoom(clampTo<float>(toAnimatableDouble(value)->toDouble(), std
::numeric_limits<float>::denorm_min())); | 615 style->setZoom(clampTo<float>(toAnimatableDouble(value)->toDouble(), std
::numeric_limits<float>::denorm_min())); |
| 634 return; | 616 return; |
| 635 default: | 617 default: |
| 636 ASSERT_NOT_REACHED(); | 618 ASSERT_NOT_REACHED(); |
| 637 } | 619 } |
| 638 } | 620 } |
| 639 | 621 |
| 640 } // namespace blink | 622 } // namespace blink |
| OLD | NEW |