Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.cpp

Issue 2927123005: Deprecate step timing with position 'middle' (Closed)
Patch Set: Rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/resolver/CSSToStyleMap.h ('k') | third_party/WebKit/Source/core/frame/Deprecation.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698