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

Side by Side Diff: third_party/WebKit/Source/core/css/RuleSet.h

Issue 2797953002: Revert increased limit for m_selectorIndex. (Closed)
Patch Set: Created 3 years, 8 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 | « no previous file | third_party/WebKit/Source/core/css/RuleSet.cpp » ('j') | 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 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
4 * All rights reserved. 4 * All rights reserved.
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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 108 }
109 109
110 DECLARE_TRACE(); 110 DECLARE_TRACE();
111 111
112 private: 112 private:
113 Member<StyleRule> m_rule; 113 Member<StyleRule> m_rule;
114 // This number is picked fairly arbitrary. If lowered, be aware that there 114 // This number is picked fairly arbitrary. If lowered, be aware that there
115 // might be sites and extensions using style rules with selector lists 115 // might be sites and extensions using style rules with selector lists
116 // exceeding the number of simple selectors to fit in this bitfield. 116 // exceeding the number of simple selectors to fit in this bitfield.
117 // See https://crbug.com/312913 and https://crbug.com/704562 117 // See https://crbug.com/312913 and https://crbug.com/704562
118 unsigned m_selectorIndex : 14; 118 unsigned m_selectorIndex : 13;
119 // We store an array of RuleData objects in a primitive array.
120 unsigned m_isLastInArray : 1;
119 // This number was picked fairly arbitrarily. We can probably lower it if we 121 // This number was picked fairly arbitrarily. We can probably lower it if we
120 // need to. Some simple testing showed <100,000 RuleData's on large sites. 122 // need to. Some simple testing showed <100,000 RuleData's on large sites.
121 unsigned m_position : 18; 123 unsigned m_position : 18;
122 // 32 bits above 124 // 32 bits above
123 unsigned m_specificity : 24; 125 unsigned m_specificity : 24;
124 unsigned m_containsUncommonAttributeSelector : 1; 126 unsigned m_containsUncommonAttributeSelector : 1;
125 unsigned m_linkMatchType : 2; // CSSSelector::LinkMatchMask 127 unsigned m_linkMatchType : 2; // CSSSelector::LinkMatchMask
126 unsigned m_hasDocumentSecurityOrigin : 1; 128 unsigned m_hasDocumentSecurityOrigin : 1;
127 unsigned m_propertyWhitelist : 2; 129 unsigned m_propertyWhitelist : 2;
128 // We store an array of RuleData objects in a primitive array. 130 // 30 bits above
129 unsigned m_isLastInArray : 1;
130 // 31 bits above
131 // Use plain array instead of a Vector to minimize memory overhead. 131 // Use plain array instead of a Vector to minimize memory overhead.
132 unsigned m_descendantSelectorIdentifierHashes[maximumIdentifierCount]; 132 unsigned m_descendantSelectorIdentifierHashes[maximumIdentifierCount];
133 }; 133 };
134 134
135 } // namespace blink 135 } // namespace blink
136 136
137 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData); 137 WTF_ALLOW_MOVE_AND_INIT_WITH_MEM_FUNCTIONS(blink::RuleData);
138 138
139 namespace blink { 139 namespace blink {
140 140
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 Member<PendingRuleMaps> m_pendingRules; 318 Member<PendingRuleMaps> m_pendingRules;
319 319
320 #ifndef NDEBUG 320 #ifndef NDEBUG
321 HeapVector<RuleData> m_allRules; 321 HeapVector<RuleData> m_allRules;
322 #endif 322 #endif
323 }; 323 };
324 324
325 } // namespace blink 325 } // namespace blink
326 326
327 #endif // RuleSet_h 327 #endif // RuleSet_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/RuleSet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698