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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 2768053003: Get rid of ownStyle in LayoutObject::getUncachedPseudoStyle. (Closed)
Patch Set: Created 3 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 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc.
7 * All rights reserved. 7 * All rights reserved.
8 * Copyright (C) 2009 Google Inc. All rights reserved. 8 * Copyright (C) 2009 Google Inc. All rights reserved.
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 inline bool preservesNewline() const; 853 inline bool preservesNewline() const;
854 854
855 // The pseudo element style can be cached or uncached. Use the cached method 855 // The pseudo element style can be cached or uncached. Use the cached method
856 // if the pseudo element doesn't respect any pseudo classes (and therefore 856 // if the pseudo element doesn't respect any pseudo classes (and therefore
857 // has no concept of changing state). 857 // has no concept of changing state).
858 ComputedStyle* getCachedPseudoStyle( 858 ComputedStyle* getCachedPseudoStyle(
859 PseudoId, 859 PseudoId,
860 const ComputedStyle* parentStyle = nullptr) const; 860 const ComputedStyle* parentStyle = nullptr) const;
861 PassRefPtr<ComputedStyle> getUncachedPseudoStyle( 861 PassRefPtr<ComputedStyle> getUncachedPseudoStyle(
862 const PseudoStyleRequest&, 862 const PseudoStyleRequest&,
863 const ComputedStyle* parentStyle = nullptr, 863 const ComputedStyle* parentStyle = nullptr) const;
864 const ComputedStyle* ownStyle = nullptr) const;
865 864
866 LayoutView* view() const { return document().layoutView(); } 865 LayoutView* view() const { return document().layoutView(); }
867 FrameView* frameView() const { return document().view(); } 866 FrameView* frameView() const { return document().view(); }
868 867
869 bool isRooted() const; 868 bool isRooted() const;
870 869
871 Node* node() const { return isAnonymous() ? nullptr : m_node; } 870 Node* node() const { return isAnonymous() ? nullptr : m_node; }
872 871
873 Node* nonPseudoNode() const { return isPseudoElement() ? nullptr : node(); } 872 Node* nonPseudoNode() const { return isPseudoElement() ? nullptr : node(); }
874 873
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
1337 1336
1338 static inline Color resolveColor(const ComputedStyle& styleToUse, 1337 static inline Color resolveColor(const ComputedStyle& styleToUse,
1339 int colorProperty) { 1338 int colorProperty) {
1340 return styleToUse.visitedDependentColor(colorProperty); 1339 return styleToUse.visitedDependentColor(colorProperty);
1341 } 1340 }
1342 1341
1343 inline Color resolveColor(int colorProperty) const { 1342 inline Color resolveColor(int colorProperty) const {
1344 return style()->visitedDependentColor(colorProperty); 1343 return style()->visitedDependentColor(colorProperty);
1345 } 1344 }
1346 1345
1347 // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style
1348 // based off of a given new style, without accessing the cache.
1349 PassRefPtr<ComputedStyle> uncachedFirstLineStyle(ComputedStyle*) const;
1350
1351 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const; 1346 virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
1352 1347
1353 // Return the LayoutBoxModelObject in the container chain which is responsible 1348 // Return the LayoutBoxModelObject in the container chain which is responsible
1354 // for painting this object. The function crosses frames boundaries so the 1349 // for painting this object. The function crosses frames boundaries so the
1355 // returned value can be in a different document. 1350 // returned value can be in a different document.
1356 // 1351 //
1357 // This is the container that should be passed to the '*forPaintInvalidation' 1352 // This is the container that should be passed to the '*forPaintInvalidation'
1358 // methods. 1353 // methods.
1359 const LayoutBoxModelObject& containerForPaintInvalidation() const; 1354 const LayoutBoxModelObject& containerForPaintInvalidation() const;
1360 1355
(...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after
2065 } 2060 }
2066 2061
2067 void setOutlineMayBeAffectedByDescendants(bool b) { 2062 void setOutlineMayBeAffectedByDescendants(bool b) {
2068 m_bitfields.setOutlineMayBeAffectedByDescendants(b); 2063 m_bitfields.setOutlineMayBeAffectedByDescendants(b);
2069 } 2064 }
2070 void setPreviousOutlineMayBeAffectedByDescendants(bool b) { 2065 void setPreviousOutlineMayBeAffectedByDescendants(bool b) {
2071 m_bitfields.setPreviousOutlineMayBeAffectedByDescendants(b); 2066 m_bitfields.setPreviousOutlineMayBeAffectedByDescendants(b);
2072 } 2067 }
2073 2068
2074 private: 2069 private:
2070 // Used only by applyFirstLineChanges to get a first line style based off of a
2071 // given new style, without accessing the cache.
2072 PassRefPtr<ComputedStyle> uncachedFirstLineStyle() const;
2073
2075 // Adjusts a visual rect in the space of |m_visualRect| to be in the 2074 // Adjusts a visual rect in the space of |m_visualRect| to be in the
2076 // space of the |paintInvalidationContainer|, if needed. They can be different 2075 // space of the |paintInvalidationContainer|, if needed. They can be different
2077 // only if |paintInvalidationContainer| is a composited scroller. 2076 // only if |paintInvalidationContainer| is a composited scroller.
2078 void adjustVisualRectForCompositedScrolling( 2077 void adjustVisualRectForCompositedScrolling(
2079 LayoutRect&, 2078 LayoutRect&,
2080 const LayoutBoxModelObject& paintInvalidationContainer) const; 2079 const LayoutBoxModelObject& paintInvalidationContainer) const;
2081 2080
2082 FloatQuad localToAncestorQuadInternal(const FloatQuad&, 2081 FloatQuad localToAncestorQuadInternal(const FloatQuad&,
2083 const LayoutBoxModelObject* ancestor, 2082 const LayoutBoxModelObject* ancestor,
2084 MapCoordinatesFlags = 0) const; 2083 MapCoordinatesFlags = 0) const;
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after
2784 CORE_EXPORT void showLineTree(const blink::LayoutObject*); 2783 CORE_EXPORT void showLineTree(const blink::LayoutObject*);
2785 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1); 2784 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1);
2786 // We don't make object2 an optional parameter so that showLayoutTree 2785 // We don't make object2 an optional parameter so that showLayoutTree
2787 // can be called from gdb easily. 2786 // can be called from gdb easily.
2788 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1, 2787 CORE_EXPORT void showLayoutTree(const blink::LayoutObject* object1,
2789 const blink::LayoutObject* object2); 2788 const blink::LayoutObject* object2);
2790 2789
2791 #endif 2790 #endif
2792 2791
2793 #endif // LayoutObject_h 2792 #endif // LayoutObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698