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

Side by Side Diff: third_party/WebKit/Source/core/style/FillLayer.h

Issue 1787733003: Consolidate background fill layer opaqueness into one method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: A new way to refactor Created 4 years, 9 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 return m_next ? m_next->hasImage() : false; 168 return m_next ? m_next->hasImage() : false;
169 } 169 }
170 170
171 bool hasFixedImage() const 171 bool hasFixedImage() const
172 { 172 {
173 if (m_image && m_attachment == FixedBackgroundAttachment) 173 if (m_image && m_attachment == FixedBackgroundAttachment)
174 return true; 174 return true;
175 return m_next ? m_next->hasFixedImage() : false; 175 return m_next ? m_next->hasFixedImage() : false;
176 } 176 }
177 177
178 bool hasOpaqueImage(const LayoutObject*) const; 178 bool imageOccludesNextLayers(const LayoutObject&) const;
Stephen Chennney 2016/03/16 20:54:16 Renamed to match the clipOccludesNextLayers method
179 bool hasRepeatXY() const; 179 bool hasRepeatXY() const;
180 bool clipOccludesNextLayers() const; 180 bool clipOccludesNextLayers() const;
181 181
182 EFillLayerType type() const { return static_cast<EFillLayerType>(m_type); } 182 EFillLayerType type() const { return static_cast<EFillLayerType>(m_type); }
183 183
184 void fillUnsetProperties(); 184 void fillUnsetProperties();
185 void cullEmptyLayers(); 185 void cullEmptyLayers();
186 186
187 static bool imagesIdentical(const FillLayer*, const FillLayer*); 187 static bool imagesIdentical(const FillLayer*, const FillLayer*);
188 188
(...skipping 15 matching lines...) Expand all
204 static Length initialFillXPosition(EFillLayerType) { return Length(0.0, Perc ent); } 204 static Length initialFillXPosition(EFillLayerType) { return Length(0.0, Perc ent); }
205 static Length initialFillYPosition(EFillLayerType) { return Length(0.0, Perc ent); } 205 static Length initialFillYPosition(EFillLayerType) { return Length(0.0, Perc ent); }
206 static StyleImage* initialFillImage(EFillLayerType) { return 0; } 206 static StyleImage* initialFillImage(EFillLayerType) { return 0; }
207 static EMaskSourceType initialFillMaskSourceType(EFillLayerType) { return Ma skAlpha; } 207 static EMaskSourceType initialFillMaskSourceType(EFillLayerType) { return Ma skAlpha; }
208 208
209 private: 209 private:
210 friend class ComputedStyle; 210 friend class ComputedStyle;
211 211
212 FillLayer() { } 212 FillLayer() { }
213 213
214 bool imageIsOpaqueAndTilesLayer(const LayoutObject&) const;
215
214 FillLayer* m_next; 216 FillLayer* m_next;
215 217
216 RefPtrWillBePersistent<StyleImage> m_image; 218 RefPtrWillBePersistent<StyleImage> m_image;
217 219
218 Length m_xPosition; 220 Length m_xPosition;
219 Length m_yPosition; 221 Length m_yPosition;
220 222
221 LengthSize m_sizeLength; 223 LengthSize m_sizeLength;
222 224
223 unsigned m_attachment : 2; // EFillAttachment 225 unsigned m_attachment : 2; // EFillAttachment
(...skipping 26 matching lines...) Expand all
250 252
251 mutable unsigned m_thisOrNextLayersClipMax : 2; // EFillBox, maximum m_clip value from this to bottom layer 253 mutable unsigned m_thisOrNextLayersClipMax : 2; // EFillBox, maximum m_clip value from this to bottom layer
252 mutable unsigned m_thisOrNextLayersUseContentBox : 1; // True if any of this or subsequent layers has content-box clip or origin. 254 mutable unsigned m_thisOrNextLayersUseContentBox : 1; // True if any of this or subsequent layers has content-box clip or origin.
253 mutable unsigned m_thisOrNextLayersHaveLocalAttachment : 1; // True if any o f this or subsequent layers has local attachment. 255 mutable unsigned m_thisOrNextLayersHaveLocalAttachment : 1; // True if any o f this or subsequent layers has local attachment.
254 mutable unsigned m_cachedPropertiesComputed : 1; // Set once any of the abov e is accessed. The layers will be frozen thereafter. 256 mutable unsigned m_cachedPropertiesComputed : 1; // Set once any of the abov e is accessed. The layers will be frozen thereafter.
255 }; 257 };
256 258
257 } // namespace blink 259 } // namespace blink
258 260
259 #endif // FillLayer_h 261 #endif // FillLayer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698