| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All |
| 6 * rights reserved. | 6 * rights reserved. |
| 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 10 * (http://www.torchmobile.com/) | 10 * (http://www.torchmobile.com/) |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 #include "core/animation/css/CSSAnimationData.h" | 33 #include "core/animation/css/CSSAnimationData.h" |
| 34 #include "core/css/CSSBorderImageSliceValue.h" | 34 #include "core/css/CSSBorderImageSliceValue.h" |
| 35 #include "core/css/CSSCustomIdentValue.h" | 35 #include "core/css/CSSCustomIdentValue.h" |
| 36 #include "core/css/CSSPrimitiveValue.h" | 36 #include "core/css/CSSPrimitiveValue.h" |
| 37 #include "core/css/CSSPrimitiveValueMappings.h" | 37 #include "core/css/CSSPrimitiveValueMappings.h" |
| 38 #include "core/css/CSSQuadValue.h" | 38 #include "core/css/CSSQuadValue.h" |
| 39 #include "core/css/CSSTimingFunctionValue.h" | 39 #include "core/css/CSSTimingFunctionValue.h" |
| 40 #include "core/css/CSSValuePair.h" | 40 #include "core/css/CSSValuePair.h" |
| 41 #include "core/css/resolver/StyleBuilderConverter.h" | 41 #include "core/css/resolver/StyleBuilderConverter.h" |
| 42 #include "core/css/resolver/StyleResolverState.h" | 42 #include "core/css/resolver/StyleResolverState.h" |
| 43 #include "core/frame/Deprecation.h" |
| 43 #include "core/style/BorderImageLengthBox.h" | 44 #include "core/style/BorderImageLengthBox.h" |
| 44 #include "core/style/FillLayer.h" | 45 #include "core/style/FillLayer.h" |
| 45 | 46 |
| 46 namespace blink { | 47 namespace blink { |
| 47 | 48 |
| 48 void CSSToStyleMap::MapFillAttachment(StyleResolverState&, | 49 void CSSToStyleMap::MapFillAttachment(StyleResolverState&, |
| 49 FillLayer* layer, | 50 FillLayer* layer, |
| 50 const CSSValue& value) { | 51 const CSSValue& value) { |
| 51 if (value.IsInitialValue()) { | 52 if (value.IsInitialValue()) { |
| 52 layer->SetAttachment(FillLayer::InitialFillAttachment(layer->GetType())); | 53 layer->SetAttachment(FillLayer::InitialFillAttachment(layer->GetType())); |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 custom_ident_value.ValueAsPropertyID()); | 402 custom_ident_value.ValueAsPropertyID()); |
| 402 return CSSTransitionData::TransitionProperty(custom_ident_value.Value()); | 403 return CSSTransitionData::TransitionProperty(custom_ident_value.Value()); |
| 403 } | 404 } |
| 404 DCHECK_EQ(ToCSSIdentifierValue(value).GetValueID(), CSSValueNone); | 405 DCHECK_EQ(ToCSSIdentifierValue(value).GetValueID(), CSSValueNone); |
| 405 return CSSTransitionData::TransitionProperty( | 406 return CSSTransitionData::TransitionProperty( |
| 406 CSSTransitionData::kTransitionNone); | 407 CSSTransitionData::kTransitionNone); |
| 407 } | 408 } |
| 408 | 409 |
| 409 PassRefPtr<TimingFunction> CSSToStyleMap::MapAnimationTimingFunction( | 410 PassRefPtr<TimingFunction> CSSToStyleMap::MapAnimationTimingFunction( |
| 410 const CSSValue& value, | 411 const CSSValue& value, |
| 411 bool allow_step_middle) { | 412 bool allow_step_middle, |
| 413 Document* document) { |
| 412 // FIXME: We should probably only call into this function with a valid | 414 // FIXME: We should probably only call into this function with a valid |
| 413 // single timing function value which isn't initial or inherit. We can | 415 // single timing function value which isn't initial or inherit. We can |
| 414 // currently get into here with initial since the parser expands unset | 416 // currently get into here with initial since the parser expands unset |
| 415 // properties in shorthands to initial. | 417 // properties in shorthands to initial. |
| 416 | 418 |
| 417 if (value.IsIdentifierValue()) { | 419 if (value.IsIdentifierValue()) { |
| 418 const CSSIdentifierValue& identifier_value = ToCSSIdentifierValue(value); | 420 const CSSIdentifierValue& identifier_value = ToCSSIdentifierValue(value); |
| 419 switch (identifier_value.GetValueID()) { | 421 switch (identifier_value.GetValueID()) { |
| 420 case CSSValueLinear: | 422 case CSSValueLinear: |
| 421 return LinearTimingFunction::Shared(); | 423 return LinearTimingFunction::Shared(); |
| 422 case CSSValueEase: | 424 case CSSValueEase: |
| 423 return CubicBezierTimingFunction::Preset( | 425 return CubicBezierTimingFunction::Preset( |
| 424 CubicBezierTimingFunction::EaseType::EASE); | 426 CubicBezierTimingFunction::EaseType::EASE); |
| 425 case CSSValueEaseIn: | 427 case CSSValueEaseIn: |
| 426 return CubicBezierTimingFunction::Preset( | 428 return CubicBezierTimingFunction::Preset( |
| 427 CubicBezierTimingFunction::EaseType::EASE_IN); | 429 CubicBezierTimingFunction::EaseType::EASE_IN); |
| 428 case CSSValueEaseOut: | 430 case CSSValueEaseOut: |
| 429 return CubicBezierTimingFunction::Preset( | 431 return CubicBezierTimingFunction::Preset( |
| 430 CubicBezierTimingFunction::EaseType::EASE_OUT); | 432 CubicBezierTimingFunction::EaseType::EASE_OUT); |
| 431 case CSSValueEaseInOut: | 433 case CSSValueEaseInOut: |
| 432 return CubicBezierTimingFunction::Preset( | 434 return CubicBezierTimingFunction::Preset( |
| 433 CubicBezierTimingFunction::EaseType::EASE_IN_OUT); | 435 CubicBezierTimingFunction::EaseType::EASE_IN_OUT); |
| 434 case CSSValueStepStart: | 436 case CSSValueStepStart: |
| 435 return StepsTimingFunction::Preset( | 437 return StepsTimingFunction::Preset( |
| 436 StepsTimingFunction::StepPosition::START); | 438 StepsTimingFunction::StepPosition::START); |
| 437 case CSSValueStepMiddle: | 439 case CSSValueStepMiddle: |
| 438 if (allow_step_middle) | 440 if (allow_step_middle) { |
| 441 DCHECK(document); |
| 442 if (document) { |
| 443 Deprecation::CountDeprecation( |
| 444 *document, WebFeature::kDeprecatedTimingFunctionStepMiddle); |
| 445 } |
| 439 return StepsTimingFunction::Preset( | 446 return StepsTimingFunction::Preset( |
| 440 StepsTimingFunction::StepPosition::MIDDLE); | 447 StepsTimingFunction::StepPosition::MIDDLE); |
| 448 } |
| 441 return CSSTimingData::InitialTimingFunction(); | 449 return CSSTimingData::InitialTimingFunction(); |
| 442 case CSSValueStepEnd: | 450 case CSSValueStepEnd: |
| 443 return StepsTimingFunction::Preset( | 451 return StepsTimingFunction::Preset( |
| 444 StepsTimingFunction::StepPosition::END); | 452 StepsTimingFunction::StepPosition::END); |
| 445 default: | 453 default: |
| 446 NOTREACHED(); | 454 NOTREACHED(); |
| 447 return CSSTimingData::InitialTimingFunction(); | 455 return CSSTimingData::InitialTimingFunction(); |
| 448 } | 456 } |
| 449 } | 457 } |
| 450 | 458 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 462 if (value.IsFramesTimingFunctionValue()) { | 470 if (value.IsFramesTimingFunctionValue()) { |
| 463 const CSSFramesTimingFunctionValue& frames_timing_function = | 471 const CSSFramesTimingFunctionValue& frames_timing_function = |
| 464 ToCSSFramesTimingFunctionValue(value); | 472 ToCSSFramesTimingFunctionValue(value); |
| 465 return FramesTimingFunction::Create( | 473 return FramesTimingFunction::Create( |
| 466 frames_timing_function.NumberOfFrames()); | 474 frames_timing_function.NumberOfFrames()); |
| 467 } | 475 } |
| 468 | 476 |
| 469 const CSSStepsTimingFunctionValue& steps_timing_function = | 477 const CSSStepsTimingFunctionValue& steps_timing_function = |
| 470 ToCSSStepsTimingFunctionValue(value); | 478 ToCSSStepsTimingFunctionValue(value); |
| 471 if (steps_timing_function.GetStepPosition() == | 479 if (steps_timing_function.GetStepPosition() == |
| 472 StepsTimingFunction::StepPosition::MIDDLE && | 480 StepsTimingFunction::StepPosition::MIDDLE) { |
| 473 !allow_step_middle) | 481 if (!allow_step_middle) { |
| 474 return CSSTimingData::InitialTimingFunction(); | 482 return CSSTimingData::InitialTimingFunction(); |
| 483 } |
| 484 DCHECK(document); |
| 485 if (document) { |
| 486 Deprecation::CountDeprecation( |
| 487 *document, WebFeature::kDeprecatedTimingFunctionStepMiddle); |
| 488 } |
| 489 } |
| 475 return StepsTimingFunction::Create(steps_timing_function.NumberOfSteps(), | 490 return StepsTimingFunction::Create(steps_timing_function.NumberOfSteps(), |
| 476 steps_timing_function.GetStepPosition()); | 491 steps_timing_function.GetStepPosition()); |
| 477 } | 492 } |
| 478 | 493 |
| 479 void CSSToStyleMap::MapNinePieceImage(StyleResolverState& state, | 494 void CSSToStyleMap::MapNinePieceImage(StyleResolverState& state, |
| 480 CSSPropertyID property, | 495 CSSPropertyID property, |
| 481 const CSSValue& value, | 496 const CSSValue& value, |
| 482 NinePieceImage& image) { | 497 NinePieceImage& image) { |
| 483 // If we're not a value list, then we are "none" and don't need to alter the | 498 // If we're not a value list, then we are "none" and don't need to alter the |
| 484 // empty image at all. | 499 // empty image at all. |
| (...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 vertical_rule = kSpaceImageRule; | 665 vertical_rule = kSpaceImageRule; |
| 651 break; | 666 break; |
| 652 default: // CSSValueRepeat | 667 default: // CSSValueRepeat |
| 653 vertical_rule = kRepeatImageRule; | 668 vertical_rule = kRepeatImageRule; |
| 654 break; | 669 break; |
| 655 } | 670 } |
| 656 image.SetVerticalRule(vertical_rule); | 671 image.SetVerticalRule(vertical_rule); |
| 657 } | 672 } |
| 658 | 673 |
| 659 } // namespace blink | 674 } // namespace blink |
| OLD | NEW |