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

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

Issue 2886293004: Remove references to inherited_data_ 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
« no previous file with comments | « third_party/WebKit/Source/core/style/ComputedStyle.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1390 matching lines...) Expand 10 before | Expand all | Expand 10 after
1401 1401
1402 StyleImage* ComputedStyle::ListStyleImage() const { 1402 StyleImage* ComputedStyle::ListStyleImage() const {
1403 return rare_inherited_data_->list_style_image_.Get(); 1403 return rare_inherited_data_->list_style_image_.Get();
1404 } 1404 }
1405 void ComputedStyle::SetListStyleImage(StyleImage* v) { 1405 void ComputedStyle::SetListStyleImage(StyleImage* v) {
1406 if (rare_inherited_data_->list_style_image_ != v) 1406 if (rare_inherited_data_->list_style_image_ != v)
1407 rare_inherited_data_.Access()->list_style_image_ = v; 1407 rare_inherited_data_.Access()->list_style_image_ = v;
1408 } 1408 }
1409 1409
1410 Color ComputedStyle::GetColor() const { 1410 Color ComputedStyle::GetColor() const {
1411 return inherited_data_->color_; 1411 return ColorInternal();
1412 } 1412 }
1413 void ComputedStyle::SetColor(const Color& v) { 1413 void ComputedStyle::SetColor(const Color& v) {
1414 SET_VAR(inherited_data_, color_, v); 1414 SetColorInternal(v);
1415 } 1415 }
1416 1416
1417 FloatRoundedRect ComputedStyle::GetRoundedBorderFor( 1417 FloatRoundedRect ComputedStyle::GetRoundedBorderFor(
1418 const LayoutRect& border_rect, 1418 const LayoutRect& border_rect,
1419 bool include_logical_left_edge, 1419 bool include_logical_left_edge,
1420 bool include_logical_right_edge) const { 1420 bool include_logical_right_edge) const {
1421 FloatRoundedRect rounded_rect(PixelSnappedIntRect(border_rect)); 1421 FloatRoundedRect rounded_rect(PixelSnappedIntRect(border_rect));
1422 if (HasBorderRadius()) { 1422 if (HasBorderRadius()) {
1423 FloatRoundedRect::Radii radii = 1423 FloatRoundedRect::Radii radii =
1424 CalcRadiiFor(Border(), BorderTopLeftRadius(), BorderTopRightRadius(), 1424 CalcRadiiFor(Border(), BorderTopLeftRadius(), BorderTopRightRadius(),
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
1652 } 1652 }
1653 1653
1654 CSSTransitionData& ComputedStyle::AccessTransitions() { 1654 CSSTransitionData& ComputedStyle::AccessTransitions() {
1655 if (!rare_non_inherited_data_.Access()->transitions_) 1655 if (!rare_non_inherited_data_.Access()->transitions_)
1656 rare_non_inherited_data_.Access()->transitions_ = 1656 rare_non_inherited_data_.Access()->transitions_ =
1657 CSSTransitionData::Create(); 1657 CSSTransitionData::Create();
1658 return *rare_non_inherited_data_->transitions_; 1658 return *rare_non_inherited_data_->transitions_;
1659 } 1659 }
1660 1660
1661 const Font& ComputedStyle::GetFont() const { 1661 const Font& ComputedStyle::GetFont() const {
1662 return inherited_data_->font_; 1662 return FontInternal();
1663 } 1663 }
1664 const FontDescription& ComputedStyle::GetFontDescription() const { 1664 const FontDescription& ComputedStyle::GetFontDescription() const {
1665 return inherited_data_->font_.GetFontDescription(); 1665 return FontInternal().GetFontDescription();
1666 } 1666 }
1667 float ComputedStyle::SpecifiedFontSize() const { 1667 float ComputedStyle::SpecifiedFontSize() const {
1668 return GetFontDescription().SpecifiedSize(); 1668 return GetFontDescription().SpecifiedSize();
1669 } 1669 }
1670 float ComputedStyle::ComputedFontSize() const { 1670 float ComputedStyle::ComputedFontSize() const {
1671 return GetFontDescription().ComputedSize(); 1671 return GetFontDescription().ComputedSize();
1672 } 1672 }
1673 LayoutUnit ComputedStyle::ComputedFontSizeAsFixed() const { 1673 LayoutUnit ComputedStyle::ComputedFontSizeAsFixed() const {
1674 return LayoutUnit::FromFloatRound(GetFontDescription().ComputedSize()); 1674 return LayoutUnit::FromFloatRound(GetFontDescription().ComputedSize());
1675 } 1675 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1848 } 1848 }
1849 1849
1850 float ComputedStyle::WordSpacing() const { 1850 float ComputedStyle::WordSpacing() const {
1851 return GetFontDescription().WordSpacing(); 1851 return GetFontDescription().WordSpacing();
1852 } 1852 }
1853 float ComputedStyle::LetterSpacing() const { 1853 float ComputedStyle::LetterSpacing() const {
1854 return GetFontDescription().LetterSpacing(); 1854 return GetFontDescription().LetterSpacing();
1855 } 1855 }
1856 1856
1857 bool ComputedStyle::SetFontDescription(const FontDescription& v) { 1857 bool ComputedStyle::SetFontDescription(const FontDescription& v) {
1858 if (inherited_data_->font_.GetFontDescription() != v) { 1858 if (FontInternal().GetFontDescription() != v) {
1859 inherited_data_.Access()->font_ = Font(v); 1859 SetFontInternal(Font(v));
1860 return true; 1860 return true;
1861 } 1861 }
1862 return false; 1862 return false;
1863 } 1863 }
1864 1864
1865 void ComputedStyle::SetFont(const Font& font) { 1865 void ComputedStyle::SetFont(const Font& font) {
1866 inherited_data_.Access()->font_ = font; 1866 SetFontInternal(font);
1867 } 1867 }
1868 1868
1869 bool ComputedStyle::HasIdenticalAscentDescentAndLineGap( 1869 bool ComputedStyle::HasIdenticalAscentDescentAndLineGap(
1870 const ComputedStyle& other) const { 1870 const ComputedStyle& other) const {
1871 const SimpleFontData* font_data = GetFont().PrimaryFont(); 1871 const SimpleFontData* font_data = GetFont().PrimaryFont();
1872 const SimpleFontData* other_font_data = other.GetFont().PrimaryFont(); 1872 const SimpleFontData* other_font_data = other.GetFont().PrimaryFont();
1873 return font_data && other_font_data && 1873 return font_data && other_font_data &&
1874 font_data->GetFontMetrics().HasIdenticalAscentDescentAndLineGap( 1874 font_data->GetFontMetrics().HasIdenticalAscentDescentAndLineGap(
1875 other_font_data->GetFontMetrics()); 1875 other_font_data->GetFontMetrics());
1876 } 1876 }
1877 1877
1878 const Length& ComputedStyle::SpecifiedLineHeight() const { 1878 const Length& ComputedStyle::SpecifiedLineHeight() const {
1879 return inherited_data_->line_height_; 1879 return LineHeightInternal();
1880 } 1880 }
1881 Length ComputedStyle::LineHeight() const { 1881 Length ComputedStyle::LineHeight() const {
1882 const Length& lh = inherited_data_->line_height_; 1882 const Length& lh = LineHeightInternal();
1883 // Unlike getFontDescription().computedSize() and hence fontSize(), this is 1883 // Unlike getFontDescription().computedSize() and hence fontSize(), this is
1884 // recalculated on demand as we only store the specified line height. 1884 // recalculated on demand as we only store the specified line height.
1885 // FIXME: Should consider scaling the fixed part of any calc expressions 1885 // FIXME: Should consider scaling the fixed part of any calc expressions
1886 // too, though this involves messily poking into CalcExpressionLength. 1886 // too, though this involves messily poking into CalcExpressionLength.
1887 if (lh.IsFixed()) { 1887 if (lh.IsFixed()) {
1888 float multiplier = TextAutosizingMultiplier(); 1888 float multiplier = TextAutosizingMultiplier();
1889 return Length( 1889 return Length(
1890 TextAutosizer::ComputeAutosizedFontSize(lh.Value(), multiplier), 1890 TextAutosizer::ComputeAutosizedFontSize(lh.Value(), multiplier),
1891 kFixed); 1891 kFixed);
1892 } 1892 }
1893 1893
1894 return lh; 1894 return lh;
1895 } 1895 }
1896 1896
1897 void ComputedStyle::SetLineHeight(const Length& specified_line_height) { 1897 void ComputedStyle::SetLineHeight(const Length& specified_line_height) {
1898 SET_VAR(inherited_data_, line_height_, specified_line_height); 1898 SetLineHeightInternal(specified_line_height);
1899 } 1899 }
1900 1900
1901 int ComputedStyle::ComputedLineHeight() const { 1901 int ComputedStyle::ComputedLineHeight() const {
1902 const Length& lh = LineHeight(); 1902 const Length& lh = LineHeight();
1903 1903
1904 // Negative value means the line height is not set. Use the font's built-in 1904 // Negative value means the line height is not set. Use the font's built-in
1905 // spacing, if avalible. 1905 // spacing, if avalible.
1906 if (lh.IsNegative() && GetFont().PrimaryFont()) 1906 if (lh.IsNegative() && GetFont().PrimaryFont())
1907 return GetFont().PrimaryFont()->GetFontMetrics().LineSpacing(); 1907 return GetFont().PrimaryFont()->GetFontMetrics().LineSpacing();
1908 1908
(...skipping 27 matching lines...) Expand all
1936 1936
1937 void ComputedStyle::SetLetterSpacing(float letter_spacing) { 1937 void ComputedStyle::SetLetterSpacing(float letter_spacing) {
1938 FontSelector* current_font_selector = GetFont().GetFontSelector(); 1938 FontSelector* current_font_selector = GetFont().GetFontSelector();
1939 FontDescription desc(GetFontDescription()); 1939 FontDescription desc(GetFontDescription());
1940 desc.SetLetterSpacing(letter_spacing); 1940 desc.SetLetterSpacing(letter_spacing);
1941 SetFontDescription(desc); 1941 SetFontDescription(desc);
1942 GetFont().Update(current_font_selector); 1942 GetFont().Update(current_font_selector);
1943 } 1943 }
1944 1944
1945 void ComputedStyle::SetTextAutosizingMultiplier(float multiplier) { 1945 void ComputedStyle::SetTextAutosizingMultiplier(float multiplier) {
1946 SET_VAR(inherited_data_, text_autosizing_multiplier_, multiplier); 1946 SetTextAutosizingMultiplierInternal(multiplier);
1947 1947
1948 float size = SpecifiedFontSize(); 1948 float size = SpecifiedFontSize();
1949 1949
1950 DCHECK(std::isfinite(size)); 1950 DCHECK(std::isfinite(size));
1951 if (!std::isfinite(size) || size < 0) 1951 if (!std::isfinite(size) || size < 0)
1952 size = 0; 1952 size = 0;
1953 else 1953 else
1954 size = std::min(kMaximumAllowedFontSize, size); 1954 size = std::min(kMaximumAllowedFontSize, size);
1955 1955
1956 FontSelector* current_font_selector = GetFont().GetFontSelector(); 1956 FontSelector* current_font_selector = GetFont().GetFontSelector();
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
2482 if (value < 0) 2482 if (value < 0)
2483 fvalue -= 0.5f; 2483 fvalue -= 0.5f;
2484 else 2484 else
2485 fvalue += 0.5f; 2485 fvalue += 0.5f;
2486 } 2486 }
2487 2487
2488 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); 2488 return RoundForImpreciseConversion<int>(fvalue / zoom_factor);
2489 } 2489 }
2490 2490
2491 } // namespace blink 2491 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/style/ComputedStyle.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698