| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) | 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
| 4 * reserved. | 4 * reserved. |
| 5 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 5 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 // do that yet. We need to make sure SimplifiedLayout can operate | 643 // do that yet. We need to make sure SimplifiedLayout can operate |
| 644 // correctly on LayoutInlines (we will need to add a | 644 // correctly on LayoutInlines (we will need to add a |
| 645 // selfNeedsSimplifiedLayout bit in order to not get confused and taint | 645 // selfNeedsSimplifiedLayout bit in order to not get confused and taint |
| 646 // every line). In addition we need to solve the floating object issue | 646 // every line). In addition we need to solve the floating object issue |
| 647 // when layers come and go. Right now a full layout is necessary to keep | 647 // when layers come and go. Right now a full layout is necessary to keep |
| 648 // floating object lists sane. | 648 // floating object lists sane. |
| 649 return true; | 649 return true; |
| 650 } | 650 } |
| 651 } | 651 } |
| 652 | 652 |
| 653 if (rare_inherited_data_.Get() != other.rare_inherited_data_.Get()) { | |
| 654 if (rare_inherited_data_->highlight_ != | |
| 655 other.rare_inherited_data_->highlight_ || | |
| 656 rare_inherited_data_->text_indent_ != | |
| 657 other.rare_inherited_data_->text_indent_ || | |
| 658 rare_inherited_data_->text_align_last_ != | |
| 659 other.rare_inherited_data_->text_align_last_ || | |
| 660 rare_inherited_data_->text_indent_line_ != | |
| 661 other.rare_inherited_data_->text_indent_line_ || | |
| 662 rare_inherited_data_->effective_zoom_ != | |
| 663 other.rare_inherited_data_->effective_zoom_ || | |
| 664 rare_inherited_data_->word_break_ != | |
| 665 other.rare_inherited_data_->word_break_ || | |
| 666 rare_inherited_data_->overflow_wrap_ != | |
| 667 other.rare_inherited_data_->overflow_wrap_ || | |
| 668 rare_inherited_data_->line_break_ != | |
| 669 other.rare_inherited_data_->line_break_ || | |
| 670 rare_inherited_data_->text_security_ != | |
| 671 other.rare_inherited_data_->text_security_ || | |
| 672 rare_inherited_data_->hyphens_ != | |
| 673 other.rare_inherited_data_->hyphens_ || | |
| 674 rare_inherited_data_->hyphenation_limit_before_ != | |
| 675 other.rare_inherited_data_->hyphenation_limit_before_ || | |
| 676 rare_inherited_data_->hyphenation_limit_after_ != | |
| 677 other.rare_inherited_data_->hyphenation_limit_after_ || | |
| 678 rare_inherited_data_->hyphenation_string_ != | |
| 679 other.rare_inherited_data_->hyphenation_string_ || | |
| 680 rare_inherited_data_->respect_image_orientation_ != | |
| 681 other.rare_inherited_data_->respect_image_orientation_ || | |
| 682 rare_inherited_data_->ruby_position_ != | |
| 683 other.rare_inherited_data_->ruby_position_ || | |
| 684 rare_inherited_data_->text_emphasis_mark_ != | |
| 685 other.rare_inherited_data_->text_emphasis_mark_ || | |
| 686 rare_inherited_data_->text_emphasis_position_ != | |
| 687 other.rare_inherited_data_->text_emphasis_position_ || | |
| 688 rare_inherited_data_->text_emphasis_custom_mark_ != | |
| 689 other.rare_inherited_data_->text_emphasis_custom_mark_ || | |
| 690 rare_inherited_data_->text_justify_ != | |
| 691 other.rare_inherited_data_->text_justify_ || | |
| 692 rare_inherited_data_->text_orientation_ != | |
| 693 other.rare_inherited_data_->text_orientation_ || | |
| 694 rare_inherited_data_->text_combine_ != | |
| 695 other.rare_inherited_data_->text_combine_ || | |
| 696 rare_inherited_data_->tab_size_ != | |
| 697 other.rare_inherited_data_->tab_size_ || | |
| 698 rare_inherited_data_->text_size_adjust_ != | |
| 699 other.rare_inherited_data_->text_size_adjust_ || | |
| 700 rare_inherited_data_->list_style_image_ != | |
| 701 other.rare_inherited_data_->list_style_image_ || | |
| 702 rare_inherited_data_->line_height_step_ != | |
| 703 other.rare_inherited_data_->line_height_step_ || | |
| 704 rare_inherited_data_->text_stroke_width_ != | |
| 705 other.rare_inherited_data_->text_stroke_width_) | |
| 706 return true; | |
| 707 } | |
| 708 | |
| 709 if (IsDisplayTableType(Display())) { | 653 if (IsDisplayTableType(Display())) { |
| 710 if (BorderCollapse() != other.BorderCollapse() || | 654 if (ComputedStyleBase:: |
| 711 EmptyCells() != other.EmptyCells() || | 655 DiffNeedsFullLayoutAndPaintInvalidationDisplayTableType(other)) |
| 712 CaptionSide() != other.CaptionSide() || | |
| 713 TableLayout() != other.TableLayout()) | |
| 714 return true; | 656 return true; |
| 715 | 657 |
| 716 // In the collapsing border model, 'hidden' suppresses other borders, while | 658 // In the collapsing border model, 'hidden' suppresses other borders, while |
| 717 // 'none' does not, so these style differences can be width differences. | 659 // 'none' does not, so these style differences can be width differences. |
| 718 if ((BorderCollapse() == EBorderCollapse::kCollapse) && | 660 if ((BorderCollapse() == EBorderCollapse::kCollapse) && |
| 719 ((BorderTopStyle() == EBorderStyle::kHidden && | 661 ((BorderTopStyle() == EBorderStyle::kHidden && |
| 720 other.BorderTopStyle() == EBorderStyle::kNone) || | 662 other.BorderTopStyle() == EBorderStyle::kNone) || |
| 721 (BorderTopStyle() == EBorderStyle::kNone && | 663 (BorderTopStyle() == EBorderStyle::kNone && |
| 722 other.BorderTopStyle() == EBorderStyle::kHidden) || | 664 other.BorderTopStyle() == EBorderStyle::kHidden) || |
| 723 (BorderBottomStyle() == EBorderStyle::kHidden && | 665 (BorderBottomStyle() == EBorderStyle::kHidden && |
| 724 other.BorderBottomStyle() == EBorderStyle::kNone) || | 666 other.BorderBottomStyle() == EBorderStyle::kNone) || |
| 725 (BorderBottomStyle() == EBorderStyle::kNone && | 667 (BorderBottomStyle() == EBorderStyle::kNone && |
| 726 other.BorderBottomStyle() == EBorderStyle::kHidden) || | 668 other.BorderBottomStyle() == EBorderStyle::kHidden) || |
| 727 (BorderLeftStyle() == EBorderStyle::kHidden && | 669 (BorderLeftStyle() == EBorderStyle::kHidden && |
| 728 other.BorderLeftStyle() == EBorderStyle::kNone) || | 670 other.BorderLeftStyle() == EBorderStyle::kNone) || |
| 729 (BorderLeftStyle() == EBorderStyle::kNone && | 671 (BorderLeftStyle() == EBorderStyle::kNone && |
| 730 other.BorderLeftStyle() == EBorderStyle::kHidden) || | 672 other.BorderLeftStyle() == EBorderStyle::kHidden) || |
| 731 (BorderRightStyle() == EBorderStyle::kHidden && | 673 (BorderRightStyle() == EBorderStyle::kHidden && |
| 732 other.BorderRightStyle() == EBorderStyle::kNone) || | 674 other.BorderRightStyle() == EBorderStyle::kNone) || |
| 733 (BorderRightStyle() == EBorderStyle::kNone && | 675 (BorderRightStyle() == EBorderStyle::kNone && |
| 734 other.BorderRightStyle() == EBorderStyle::kHidden))) | 676 other.BorderRightStyle() == EBorderStyle::kHidden))) |
| 735 return true; | 677 return true; |
| 736 } else if (Display() == EDisplay::kListItem) { | 678 } else if (Display() == EDisplay::kListItem) { |
| 737 if (ListStyleType() != other.ListStyleType() || | 679 if (ComputedStyleBase:: |
| 738 ListStylePosition() != other.ListStylePosition()) | 680 DiffNeedsFullLayoutAndPaintInvalidationDisplayListItem(other)) |
| 739 return true; | 681 return true; |
| 740 } | 682 } |
| 741 | 683 |
| 742 if ((Visibility() == EVisibility::kCollapse) != | 684 if ((Visibility() == EVisibility::kCollapse) != |
| 743 (other.Visibility() == EVisibility::kCollapse)) | 685 (other.Visibility() == EVisibility::kCollapse)) |
| 744 return true; | 686 return true; |
| 745 | 687 |
| 746 // Movement of non-static-positioned object is special cased in | 688 // Movement of non-static-positioned object is special cased in |
| 747 // ComputedStyle::VisualInvalidationDiff(). | 689 // ComputedStyle::VisualInvalidationDiff(). |
| 748 | 690 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 | 747 |
| 806 bool ComputedStyle::DiffNeedsPaintInvalidationObject( | 748 bool ComputedStyle::DiffNeedsPaintInvalidationObject( |
| 807 const ComputedStyle& other) const { | 749 const ComputedStyle& other) const { |
| 808 if (ComputedStyleBase::DiffNeedsPaintInvalidationObject(other)) | 750 if (ComputedStyleBase::DiffNeedsPaintInvalidationObject(other)) |
| 809 return true; | 751 return true; |
| 810 | 752 |
| 811 if (!BorderVisuallyEqual(other) || !RadiiEqual(other) || | 753 if (!BorderVisuallyEqual(other) || !RadiiEqual(other) || |
| 812 *background_data_ != *other.background_data_) | 754 *background_data_ != *other.background_data_) |
| 813 return true; | 755 return true; |
| 814 | 756 |
| 815 if (rare_inherited_data_.Get() != other.rare_inherited_data_.Get()) { | |
| 816 if (rare_inherited_data_->user_modify_ != | |
| 817 other.rare_inherited_data_->user_modify_ || | |
| 818 rare_inherited_data_->user_select_ != | |
| 819 other.rare_inherited_data_->user_select_ || | |
| 820 rare_inherited_data_->image_rendering_ != | |
| 821 other.rare_inherited_data_->image_rendering_) | |
| 822 return true; | |
| 823 } | |
| 824 | |
| 825 if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) { | 757 if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) { |
| 826 if (rare_non_inherited_data_->user_drag != | 758 if (rare_non_inherited_data_->user_drag != |
| 827 other.rare_non_inherited_data_->user_drag || | 759 other.rare_non_inherited_data_->user_drag || |
| 828 rare_non_inherited_data_->object_fit_ != | 760 rare_non_inherited_data_->object_fit_ != |
| 829 other.rare_non_inherited_data_->object_fit_ || | 761 other.rare_non_inherited_data_->object_fit_ || |
| 830 rare_non_inherited_data_->object_position_ != | 762 rare_non_inherited_data_->object_position_ != |
| 831 other.rare_non_inherited_data_->object_position_ || | 763 other.rare_non_inherited_data_->object_position_ || |
| 832 !rare_non_inherited_data_->ShadowDataEquivalent( | 764 !rare_non_inherited_data_->ShadowDataEquivalent( |
| 833 *other.rare_non_inherited_data_.Get()) || | 765 *other.rare_non_inherited_data_.Get()) || |
| 834 !rare_non_inherited_data_->ShapeOutsideDataEquivalent( | 766 !rare_non_inherited_data_->ShapeOutsideDataEquivalent( |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 990 other.VisitedLinkTextEmphasisColor() || | 922 other.VisitedLinkTextEmphasisColor() || |
| 991 rare_inherited_data_->text_emphasis_fill_ != | 923 rare_inherited_data_->text_emphasis_fill_ != |
| 992 other.rare_inherited_data_->text_emphasis_fill_ || | 924 other.rare_inherited_data_->text_emphasis_fill_ || |
| 993 rare_inherited_data_->text_underline_position_ != | 925 rare_inherited_data_->text_underline_position_ != |
| 994 other.rare_inherited_data_->text_underline_position_ || | 926 other.rare_inherited_data_->text_underline_position_ || |
| 995 rare_inherited_data_->text_decoration_skip_ != | 927 rare_inherited_data_->text_decoration_skip_ != |
| 996 other.rare_inherited_data_->text_decoration_skip_ || | 928 other.rare_inherited_data_->text_decoration_skip_ || |
| 997 rare_inherited_data_->applied_text_decorations_ != | 929 rare_inherited_data_->applied_text_decorations_ != |
| 998 other.rare_inherited_data_->applied_text_decorations_ || | 930 other.rare_inherited_data_->applied_text_decorations_ || |
| 999 CaretColor() != CaretColor() || | 931 CaretColor() != CaretColor() || |
| 1000 VisitedLinkCaretColor() != other.VisitedLinkCaretColor()))) { | 932 VisitedLinkCaretColor() != other.VisitedLinkCaretColor())) || |
| 933 ComputedStyleBase:: |
| 934 UpdatePropertySpecificDifferencesTextDecorationOrColor(other)) { |
| 1001 diff.SetTextDecorationOrColorChanged(); | 935 diff.SetTextDecorationOrColorChanged(); |
| 1002 } | 936 } |
| 1003 } | 937 } |
| 1004 | 938 |
| 1005 bool has_clip = HasOutOfFlowPosition() && !visual_data_->has_auto_clip_; | 939 bool has_clip = HasOutOfFlowPosition() && !visual_data_->has_auto_clip_; |
| 1006 bool other_has_clip = | 940 bool other_has_clip = |
| 1007 other.HasOutOfFlowPosition() && !other.visual_data_->has_auto_clip_; | 941 other.HasOutOfFlowPosition() && !other.visual_data_->has_auto_clip_; |
| 1008 if (has_clip != other_has_clip || | 942 if (has_clip != other_has_clip || |
| 1009 (has_clip && visual_data_->clip_ != other.visual_data_->clip_)) | 943 (has_clip && visual_data_->clip_ != other.visual_data_->clip_)) |
| 1010 diff.SetCSSClipChanged(); | 944 diff.SetCSSClipChanged(); |
| (...skipping 1419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2430 if (value < 0) | 2364 if (value < 0) |
| 2431 fvalue -= 0.5f; | 2365 fvalue -= 0.5f; |
| 2432 else | 2366 else |
| 2433 fvalue += 0.5f; | 2367 fvalue += 0.5f; |
| 2434 } | 2368 } |
| 2435 | 2369 |
| 2436 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); | 2370 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); |
| 2437 } | 2371 } |
| 2438 | 2372 |
| 2439 } // namespace blink | 2373 } // namespace blink |
| OLD | NEW |