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

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: Using the StyleConverter. 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') | Source/core/css/resolver/StyleBuilderConverter.h » ('J')
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 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 if (!namedGridAreas.isEmpty()) 491 if (!namedGridAreas.isEmpty())
492 StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGri dAreas, namedGridLines, For{{type}}s); 492 StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGri dAreas, namedGridLines, For{{type}}s);
493 state.style()->setGridTemplate{{type}}s(trackSizes); 493 state.style()->setGridTemplate{{type}}s(trackSizes);
494 state.style()->setNamedGrid{{type}}Lines(namedGridLines); 494 state.style()->setNamedGrid{{type}}Lines(namedGridLines);
495 state.style()->setOrderedNamedGrid{{type}}Lines(orderedNamedGridLines); 495 state.style()->setOrderedNamedGrid{{type}}Lines(orderedNamedGridLines);
496 } 496 }
497 {% endmacro %} 497 {% endmacro %}
498 {{apply_grid_template('CSSPropertyGridTemplateColumns', 'Column')}} 498 {{apply_grid_template('CSSPropertyGridTemplateColumns', 'Column')}}
499 {{apply_grid_template('CSSPropertyGridTemplateRows', 'Row')}} 499 {{apply_grid_template('CSSPropertyGridTemplateRows', 'Row')}}
500 500
501 {% macro apply_alignment(property_id, alignment_type) %}
502 {% set property = properties[property_id] %}
503 {{declare_initial_function(property_id)}}
504 {
505 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
506 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
507 }
508
509 {{declare_inherit_function(property_id)}}
510 {
511 state.style()->set{{alignment_type}}(state.parentStyle()->{{property.getter} }());
512 state.style()->set{{alignment_type}}OverflowAlignment(state.parentStyle()->{ {property.getter}}OverflowAlignment());
513 }
514
515 {{declare_value_function(property_id)}}
516 {
517 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
518 if (Pair* pairValue = primitiveValue->getPairValue()) {
519 state.style()->set{{alignment_type}}(*pairValue->first());
520 state.style()->set{{alignment_type}}OverflowAlignment(*pairValue->second ());
521 } else {
522 state.style()->set{{alignment_type}}(*primitiveValue);
523 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::ini tial{{alignment_type}}OverflowAlignment());
524 }
525 }
526 {% endmacro %}
527 {{apply_alignment('CSSPropertyJustifySelf', 'JustifySelf')}}
528 {{apply_alignment('CSSPropertyAlignItems', 'AlignItems')}}
529 {{apply_alignment('CSSPropertyAlignSelf', 'AlignSelf')}}
530
531 {% macro apply_content_alignment(property_id, alignment_type) %}
532 {% set property = properties[property_id] %}
533 {{declare_initial_function(property_id)}}
534 {
535 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
536 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
537 state.style()->set{{alignment_type}}Distribution(ComputedStyle::initial{{ali gnment_type}}Distribution());
538 }
539
540 {{declare_inherit_function(property_id)}}
541 {
542 state.style()->set{{alignment_type}}(state.parentStyle()->{{property.getter} }());
543 state.style()->set{{alignment_type}}OverflowAlignment(state.parentStyle()->{ {property.getter}}OverflowAlignment());
544 state.style()->set{{alignment_type}}Distribution(state.parentStyle()->{{prop erty.getter}}Distribution());
545 }
546
547 {{declare_value_function(property_id)}}
548 {
549 state.style()->set{{alignment_type}}(ComputedStyle::initial{{alignment_type} }());
550 state.style()->set{{alignment_type}}OverflowAlignment(ComputedStyle::initial {{alignment_type}}OverflowAlignment());
551 state.style()->set{{alignment_type}}Distribution(ComputedStyle::initial{{ali gnment_type}}Distribution());
552
553 CSSContentDistributionValue* contentValue = toCSSContentDistributionValue(va lue);
554 if (contentValue->distribution()->getValueID() != CSSValueInvalid)
555 state.style()->set{{alignment_type}}Distribution(*contentValue->distribu tion());
556 if (contentValue->position()->getValueID() != CSSValueInvalid)
557 state.style()->set{{alignment_type}}(*contentValue->position());
558 if (contentValue->overflow()->getValueID() != CSSValueInvalid)
559 state.style()->set{{alignment_type}}OverflowAlignment(*contentValue->ove rflow());
560 }
561 {% endmacro %}
562 {{apply_content_alignment('CSSPropertyJustifyContent', 'JustifyContent')}}
563 {{apply_content_alignment('CSSPropertyAlignContent', 'AlignContent')}}
564
565 {% macro apply_svg_paint(property_id, paint_type) %} 501 {% macro apply_svg_paint(property_id, paint_type) %}
566 {% set property = properties[property_id] %} 502 {% set property = properties[property_id] %}
567 {{declare_initial_function(property_id)}} 503 {{declare_initial_function(property_id)}}
568 { 504 {
569 {{set_value(property)}}( 505 {{set_value(property)}}(
570 SVGComputedStyle::initial{{paint_type}}Type(), 506 SVGComputedStyle::initial{{paint_type}}Type(),
571 SVGComputedStyle::initial{{paint_type}}Color(), 507 SVGComputedStyle::initial{{paint_type}}Color(),
572 SVGComputedStyle::initial{{paint_type}}Uri(), 508 SVGComputedStyle::initial{{paint_type}}Uri(),
573 state.applyPropertyToRegularStyle(), 509 state.applyPropertyToRegularStyle(),
574 state.applyPropertyToVisitedLinkStyle()); 510 state.applyPropertyToVisitedLinkStyle());
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 } 558 }
623 {{set_value(property)}}(ptype, c, url, 559 {{set_value(property)}}(ptype, c, url,
624 state.applyPropertyToRegularStyle(), 560 state.applyPropertyToRegularStyle(),
625 state.applyPropertyToVisitedLinkStyle()); 561 state.applyPropertyToVisitedLinkStyle());
626 } 562 }
627 } 563 }
628 {% endmacro %} 564 {% endmacro %}
629 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}} 565 {{apply_svg_paint('CSSPropertyFill', 'FillPaint')}}
630 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}} 566 {{apply_svg_paint('CSSPropertyStroke', 'StrokePaint')}}
631 } // namespace blink 567 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/core/core.gypi » ('j') | Source/core/css/resolver/StyleBuilderConverter.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698