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

Side by Side Diff: Source/core/rendering/RenderListItem.h

Issue 368733002: Split list marker updating into two steps (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: My inner bikeshed Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserv ed.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 24 matching lines...) Expand all
35 explicit RenderListItem(Element*); 35 explicit RenderListItem(Element*);
36 36
37 int value() const { if (!m_isValueUpToDate) updateValueNow(); return m_value ; } 37 int value() const { if (!m_isValueUpToDate) updateValueNow(); return m_value ; }
38 void updateValue(); 38 void updateValue();
39 39
40 bool hasExplicitValue() const { return m_hasExplicitValue; } 40 bool hasExplicitValue() const { return m_hasExplicitValue; }
41 int explicitValue() const { return m_explicitValue; } 41 int explicitValue() const { return m_explicitValue; }
42 void setExplicitValue(int value); 42 void setExplicitValue(int value);
43 void clearExplicitValue(); 43 void clearExplicitValue();
44 44
45 void setNotInList(bool notInList) { m_notInList = notInList; } 45 void setNotInList(bool);
46 bool notInList() const { return m_notInList; } 46 bool notInList() const { return m_notInList; }
47 47
48 const String& markerText() const; 48 const String& markerText() const;
49 49
50 void updateListMarkerNumbers(); 50 void updateListMarkerNumbers();
51 void updateMarkerLocation();
52 51
53 static void updateItemValuesForOrderedList(const HTMLOListElement*); 52 static void updateItemValuesForOrderedList(const HTMLOListElement*);
54 static unsigned itemCountForOrderedList(const HTMLOListElement*); 53 static unsigned itemCountForOrderedList(const HTMLOListElement*);
55 54
56 bool isEmpty() const; 55 bool isEmpty() const;
57 56
58 private: 57 private:
59 virtual const char* renderName() const OVERRIDE { return "RenderListItem"; } 58 virtual const char* renderName() const OVERRIDE { return "RenderListItem"; }
60 59
61 virtual bool isListItem() const OVERRIDE { return true; } 60 virtual bool isListItem() const OVERRIDE { return true; }
62 61
63 virtual void willBeDestroyed() OVERRIDE; 62 virtual void willBeDestroyed() OVERRIDE;
64 63
65 virtual void insertedIntoTree() OVERRIDE; 64 virtual void insertedIntoTree() OVERRIDE;
66 virtual void willBeRemovedFromTree() OVERRIDE; 65 virtual void willBeRemovedFromTree() OVERRIDE;
67 66
68 virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE; 67 virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
69 68
70 virtual void layout() OVERRIDE; 69 virtual void layout() OVERRIDE;
71 70
71 void updateMarkerAndInvalidateWidth();
72 bool updateMarker();
skobes 2014/07/02 05:59:42 Suggest a comment explaining the meaning of the re
leviw_travelin_and_unemployed 2014/07/02 18:07:14 I may call this updateMarkerLocation still, since
pdr. 2014/07/02 18:39:30 Done.
pdr. 2014/07/02 18:39:30 Done.
73
72 void positionListMarker(); 74 void positionListMarker();
73 75
74 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV ERRIDE; 76 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV ERRIDE;
75 77
76 virtual void addOverflowFromChildren() OVERRIDE; 78 virtual void addOverflowFromChildren() OVERRIDE;
77 79
78 inline int calcValue() const; 80 inline int calcValue() const;
79 void updateValueNow() const; 81 void updateValueNow() const;
80 void explicitValueChanged(); 82 void explicitValueChanged();
81 83
82 int m_explicitValue; 84 int m_explicitValue;
83 RenderListMarker* m_marker; 85 RenderListMarker* m_marker;
84 mutable int m_value; 86 mutable int m_value;
85 87
86 bool m_hasExplicitValue : 1; 88 bool m_hasExplicitValue : 1;
87 mutable bool m_isValueUpToDate : 1; 89 mutable bool m_isValueUpToDate : 1;
88 bool m_notInList : 1; 90 bool m_notInList : 1;
89 }; 91 };
90 92
91 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderListItem, isListItem()); 93 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderListItem, isListItem());
92 94
93 } // namespace WebCore 95 } // namespace WebCore
94 96
95 #endif // RenderListItem_h 97 #endif // RenderListItem_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698