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

Side by Side Diff: Source/build/scripts/templates/StyleBuilderFunctions.cpp.tmpl

Issue 1070143002: [Alignment] Single class for holding the alignment data. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased and got back previous setter names. Created 5 years, 8 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
« no previous file with comments | « no previous file | Source/core/core.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {% from 'macros.tmpl' import license %} 1 {% from 'macros.tmpl' import license %}
2 {# 2 {#
3 This file is for property handlers which use the templating engine to 3 This file is for property handlers which use the templating engine to
4 reduce (handwritten) code duplication. 4 reduce (handwritten) code duplication.
5 5
6 The `properties' dict can be used to access a property's parameters in 6 The `properties' dict can be used to access a property's parameters in
7 jinja2 templates (i.e. setter, getter, initial, type_name) 7 jinja2 templates (i.e. setter, getter, initial, type_name)
8 #} 8 #}
9 #include "config.h" 9 #include "config.h"
10 #include "StyleBuilderFunctions.h" 10 #include "StyleBuilderFunctions.h"
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 if (!namedGridAreas.isEmpty()) 490 if (!namedGridAreas.isEmpty())
491 StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGri dAreas, namedGridLines, For{{type}}s); 491 StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGri dAreas, namedGridLines, For{{type}}s);
492 state.style()->setGridTemplate{{type}}s(trackSizes); 492 state.style()->setGridTemplate{{type}}s(trackSizes);
493 state.style()->setNamedGrid{{type}}Lines(namedGridLines); 493 state.style()->setNamedGrid{{type}}Lines(namedGridLines);
494 state.style()->setOrderedNamedGrid{{type}}Lines(orderedNamedGridLines); 494 state.style()->setOrderedNamedGrid{{type}}Lines(orderedNamedGridLines);
495 } 495 }
496 {% endmacro %} 496 {% endmacro %}
497 {{apply_grid_template('CSSPropertyGridTemplateColumns', 'Column')}} 497 {{apply_grid_template('CSSPropertyGridTemplateColumns', 'Column')}}
498 {{apply_grid_template('CSSPropertyGridTemplateRows', 'Row')}} 498 {{apply_grid_template('CSSPropertyGridTemplateRows', 'Row')}}
499 499
500 {% macro apply_alignment(property_id, alignment_type) %}
501 {% set property = properties[property_id] %}
502 {{declare_initial_function(property_id)}}
503 {
504 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
505 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
506 }
507
508 {{declare_inherit_function(property_id)}}
509 {
510 state.style()->set{{alignment_type}}(state.parentStyle()->{{property.getter} }());
511 state.style()->set{{alignment_type}}OverflowAlignment(state.parentStyle()->{ {property.getter}}OverflowAlignment());
512 }
513
514 {{declare_value_function(property_id)}}
515 {
516 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
517 if (Pair* pairValue = primitiveValue->getPairValue()) {
518 state.style()->set{{alignment_type}}(*pairValue->first());
519 state.style()->set{{alignment_type}}OverflowAlignment(*pairValue->second ());
520 } else {
521 state.style()->set{{alignment_type}}(*primitiveValue);
522 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::ini tial{{alignment_type}}OverflowAlignment());
523 }
524 }
525 {% endmacro %}
526 {{apply_alignment('CSSPropertyJustifySelf', 'JustifySelf')}}
527 {{apply_alignment('CSSPropertyAlignItems', 'AlignItems')}}
528 {{apply_alignment('CSSPropertyAlignSelf', 'AlignSelf')}}
529
530 {% macro apply_content_alignment(property_id, alignment_type) %}
531 {% set property = properties[property_id] %}
532 {{declare_initial_function(property_id)}}
533 {
534 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
535 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
536 state.style()->set{{alignment_type}}Distribution(ComputedStyle::initial{{ali gnment_type}}Distribution());
537 }
538
539 {{declare_inherit_function(property_id)}}
540 {
541 state.style()->set{{alignment_type}}(state.parentStyle()->{{property.getter} }());
542 state.style()->set{{alignment_type}}OverflowAlignment(state.parentStyle()->{ {property.getter}}OverflowAlignment());
543 state.style()->set{{alignment_type}}Distribution(state.parentStyle()->{{prop erty.getter}}Distribution());
544 }
545
546 {{declare_value_function(property_id)}}
547 {
548 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
549 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
550 state.style()->set{{alignment_type}}Distribution(ComputedStyle::initial{{ali gnment_type}}Distribution());
551
552 CSSContentDistributionValue* contentValue = toCSSContentDistributionValue(va lue);
553 if (contentValue->distribution()->getValueID() != CSSValueInvalid)
554 state.style()->set{{alignment_type}}Distribution(*contentValue->distribu tion());
555 if (contentValue->position()->getValueID() != CSSValueInvalid)
556 state.style()->set{{alignment_type}}(*contentValue->position());
557 if (contentValue->overflow()->getValueID() != CSSValueInvalid)
558 state.style()->set{{alignment_type}}OverflowAlignment(*contentValue->ove rflow());
559 }
560 {% endmacro %}
561 {{apply_content_alignment('CSSPropertyJustifyContent', 'JustifyContent')}}
562 {{apply_content_alignment('CSSPropertyAlignContent', 'AlignContent')}}
563
564 {% macro apply_svg_paint(property_id, paint_type) %} 500 {% macro apply_svg_paint(property_id, paint_type) %}
565 {% set property = properties[property_id] %} 501 {% set property = properties[property_id] %}
566 {{declare_initial_function(property_id)}} 502 {{declare_initial_function(property_id)}}
567 { 503 {
568 {{set_value(property)}}( 504 {{set_value(property)}}(
569 SVGComputedStyle::initial{{paint_type}}Type(), 505 SVGComputedStyle::initial{{paint_type}}Type(),
570 SVGComputedStyle::initial{{paint_type}}Color(), 506 SVGComputedStyle::initial{{paint_type}}Color(),
571 SVGComputedStyle::initial{{paint_type}}Uri(), 507 SVGComputedStyle::initial{{paint_type}}Uri(),
572 state.applyPropertyToRegularStyle(), 508 state.applyPropertyToRegularStyle(),
573 state.applyPropertyToVisitedLinkStyle()); 509 state.applyPropertyToVisitedLinkStyle());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 } 557 }
622 {{set_value(property)}}(ptype, c, url, 558 {{set_value(property)}}(ptype, c, url,
623 state.applyPropertyToRegularStyle(), 559 state.applyPropertyToRegularStyle(),
624 state.applyPropertyToVisitedLinkStyle()); 560 state.applyPropertyToVisitedLinkStyle());
625 } 561 }
626 } 562 }
627 {% endmacro %} 563 {% endmacro %}
628 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}} 564 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}}
629 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}} 565 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}}
630 } // namespace blink 566 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/core/core.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698