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

Side by Side Diff: third_party/WebKit/Source/core/style/ComputedStyle.cpp

Issue 2786883002: Generate subgroup StyleSurroundData in ComputedStyle. (Closed)
Patch Set: Rebase Created 3 years, 7 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 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 110
111 PassRefPtr<ComputedStyle> ComputedStyle::Clone(const ComputedStyle& other) { 111 PassRefPtr<ComputedStyle> ComputedStyle::Clone(const ComputedStyle& other) {
112 return AdoptRef(new ComputedStyle(other)); 112 return AdoptRef(new ComputedStyle(other));
113 } 113 }
114 114
115 ALWAYS_INLINE ComputedStyle::ComputedStyle() 115 ALWAYS_INLINE ComputedStyle::ComputedStyle()
116 : ComputedStyleBase(), RefCounted<ComputedStyle>() { 116 : ComputedStyleBase(), RefCounted<ComputedStyle>() {
117 box_data_.Init(); 117 box_data_.Init();
118 visual_data_.Init(); 118 visual_data_.Init();
119 background_data_.Init(); 119 background_data_.Init();
120 surround_data_.Init();
121 rare_non_inherited_data_.Init(); 120 rare_non_inherited_data_.Init();
122 rare_non_inherited_data_.Access()->deprecated_flexible_box_.Init(); 121 rare_non_inherited_data_.Access()->deprecated_flexible_box_.Init();
123 rare_non_inherited_data_.Access()->flexible_box_.Init(); 122 rare_non_inherited_data_.Access()->flexible_box_.Init();
124 rare_non_inherited_data_.Access()->multi_col_.Init(); 123 rare_non_inherited_data_.Access()->multi_col_.Init();
125 rare_non_inherited_data_.Access()->transform_.Init(); 124 rare_non_inherited_data_.Access()->transform_.Init();
126 rare_non_inherited_data_.Access()->will_change_.Init(); 125 rare_non_inherited_data_.Access()->will_change_.Init();
127 rare_non_inherited_data_.Access()->filter_.Init(); 126 rare_non_inherited_data_.Access()->filter_.Init();
128 rare_non_inherited_data_.Access()->backdrop_filter_.Init(); 127 rare_non_inherited_data_.Access()->backdrop_filter_.Init();
129 rare_non_inherited_data_.Access()->grid_.Init(); 128 rare_non_inherited_data_.Access()->grid_.Init();
130 rare_non_inherited_data_.Access()->grid_item_.Init(); 129 rare_non_inherited_data_.Access()->grid_item_.Init();
131 rare_non_inherited_data_.Access()->scroll_snap_.Init(); 130 rare_non_inherited_data_.Access()->scroll_snap_.Init();
132 rare_inherited_data_.Init(); 131 rare_inherited_data_.Init();
133 style_inherited_data_.Init(); 132 style_inherited_data_.Init();
134 svg_style_.Init(); 133 svg_style_.Init();
135 } 134 }
136 135
137 ALWAYS_INLINE ComputedStyle::ComputedStyle(const ComputedStyle& o) 136 ALWAYS_INLINE ComputedStyle::ComputedStyle(const ComputedStyle& o)
138 : ComputedStyleBase(o), 137 : ComputedStyleBase(o),
139 RefCounted<ComputedStyle>(), 138 RefCounted<ComputedStyle>(),
140 box_data_(o.box_data_), 139 box_data_(o.box_data_),
141 visual_data_(o.visual_data_), 140 visual_data_(o.visual_data_),
142 background_data_(o.background_data_), 141 background_data_(o.background_data_),
143 surround_data_(o.surround_data_),
144 rare_non_inherited_data_(o.rare_non_inherited_data_), 142 rare_non_inherited_data_(o.rare_non_inherited_data_),
145 rare_inherited_data_(o.rare_inherited_data_), 143 rare_inherited_data_(o.rare_inherited_data_),
146 style_inherited_data_(o.style_inherited_data_), 144 style_inherited_data_(o.style_inherited_data_),
147 svg_style_(o.svg_style_) {} 145 svg_style_(o.svg_style_) {}
148 146
149 static StyleRecalcChange DiffPseudoStyles(const ComputedStyle& old_style, 147 static StyleRecalcChange DiffPseudoStyles(const ComputedStyle& old_style,
150 const ComputedStyle& new_style) { 148 const ComputedStyle& new_style) {
151 // If the pseudoStyles have changed, ensure layoutObject triggers setStyle. 149 // If the pseudoStyles have changed, ensure layoutObject triggers setStyle.
152 if (!old_style.HasAnyPublicPseudoStyles() && 150 if (!old_style.HasAnyPublicPseudoStyles() &&
153 !new_style.HasAnyPublicPseudoStyles()) 151 !new_style.HasAnyPublicPseudoStyles())
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 style_inherited_data_ = inherit_parent.style_inherited_data_; 327 style_inherited_data_ = inherit_parent.style_inherited_data_;
330 if (svg_style_ != inherit_parent.svg_style_) 328 if (svg_style_ != inherit_parent.svg_style_)
331 svg_style_.Access()->InheritFrom(inherit_parent.svg_style_.Get()); 329 svg_style_.Access()->InheritFrom(inherit_parent.svg_style_.Get());
332 } 330 }
333 331
334 void ComputedStyle::CopyNonInheritedFromCached(const ComputedStyle& other) { 332 void ComputedStyle::CopyNonInheritedFromCached(const ComputedStyle& other) {
335 ComputedStyleBase::CopyNonInheritedFromCached(other); 333 ComputedStyleBase::CopyNonInheritedFromCached(other);
336 box_data_ = other.box_data_; 334 box_data_ = other.box_data_;
337 visual_data_ = other.visual_data_; 335 visual_data_ = other.visual_data_;
338 background_data_ = other.background_data_; 336 background_data_ = other.background_data_;
339 surround_data_ = other.surround_data_;
340 rare_non_inherited_data_ = other.rare_non_inherited_data_; 337 rare_non_inherited_data_ = other.rare_non_inherited_data_;
341 338
342 // The flags are copied one-by-one because they contain 339 // The flags are copied one-by-one because they contain
343 // bunch of stuff other than real style data. 340 // bunch of stuff other than real style data.
344 // See comments for each skipped flag below. 341 // See comments for each skipped flag below.
345 342
346 // These are not generated in ComputedStyleBase 343 // These are not generated in ComputedStyleBase
347 SetOriginalDisplay(other.OriginalDisplay()); 344 SetOriginalDisplay(other.OriginalDisplay());
348 SetVerticalAlign(other.VerticalAlign()); 345 SetVerticalAlign(other.VerticalAlign());
349 SetHasViewportUnits(other.HasViewportUnits()); 346 SetHasViewportUnits(other.HasViewportUnits());
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 bool ComputedStyle::NonInheritedEqual(const ComputedStyle& other) const { 475 bool ComputedStyle::NonInheritedEqual(const ComputedStyle& other) const {
479 // compare everything except the pseudoStyle pointer 476 // compare everything except the pseudoStyle pointer
480 return ComputedStyleBase::NonInheritedEqual(other) && 477 return ComputedStyleBase::NonInheritedEqual(other) &&
481 OriginalDisplay() == 478 OriginalDisplay() ==
482 other.OriginalDisplay() && // Not generated in ComputedStyleBase 479 other.OriginalDisplay() && // Not generated in ComputedStyleBase
483 VerticalAlign() == other.VerticalAlign() && // Not generated in 480 VerticalAlign() == other.VerticalAlign() && // Not generated in
484 // ComputedStyleBase 481 // ComputedStyleBase
485 box_data_ == other.box_data_ && 482 box_data_ == other.box_data_ &&
486 visual_data_ == other.visual_data_ && 483 visual_data_ == other.visual_data_ &&
487 background_data_ == other.background_data_ && 484 background_data_ == other.background_data_ &&
488 surround_data_ == other.surround_data_ &&
489 rare_non_inherited_data_ == other.rare_non_inherited_data_ && 485 rare_non_inherited_data_ == other.rare_non_inherited_data_ &&
490 svg_style_->NonInheritedEqual(*other.svg_style_); 486 svg_style_->NonInheritedEqual(*other.svg_style_);
491 } 487 }
492 488
493 bool ComputedStyle::InheritedDataShared(const ComputedStyle& other) const { 489 bool ComputedStyle::InheritedDataShared(const ComputedStyle& other) const {
494 // This is a fast check that only looks if the data structures are shared. 490 // This is a fast check that only looks if the data structures are shared.
495 // TODO(sashab): Should ComputedStyleBase have an inheritedDataShared method? 491 // TODO(sashab): Should ComputedStyleBase have an inheritedDataShared method?
496 return ComputedStyleBase::InheritedEqual(other) && 492 return ComputedStyleBase::InheritedEqual(other) &&
497 style_inherited_data_.Get() == other.style_inherited_data_.Get() && 493 style_inherited_data_.Get() == other.style_inherited_data_.Get() &&
498 svg_style_.Get() == other.svg_style_.Get() && 494 svg_style_.Get() == other.svg_style_.Get() &&
(...skipping 2005 matching lines...) Expand 10 before | Expand all | Expand 10 after
2504 if (value < 0) 2500 if (value < 0)
2505 fvalue -= 0.5f; 2501 fvalue -= 0.5f;
2506 else 2502 else
2507 fvalue += 0.5f; 2503 fvalue += 0.5f;
2508 } 2504 }
2509 2505
2510 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); 2506 return RoundForImpreciseConversion<int>(fvalue / zoom_factor);
2511 } 2507 }
2512 2508
2513 } // namespace blink 2509 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/style/ComputedStyle.h ('k') | third_party/WebKit/Source/core/style/StyleSurroundData.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698