Chromium Code Reviews| Index: Source/core/dom/Document.h |
| diff --git a/Source/core/dom/Document.h b/Source/core/dom/Document.h |
| index 51a3c60befaffd8c8722eedee272a4a7ce04c092..967a7400af57c4e5a3f0e59a2975990fc3e3be19 100644 |
| --- a/Source/core/dom/Document.h |
| +++ b/Source/core/dom/Document.h |
| @@ -128,6 +128,7 @@ class MediaQueryListListener; |
| class MediaQueryMatcher; |
| class NodeFilter; |
| class NodeIterator; |
| +class NthIndexCache; |
| class Page; |
| class PlatformMouseEvent; |
| class ProcessingInstruction; |
| @@ -247,6 +248,7 @@ public: |
| virtual bool canContainRangeEndPoint() const override { return true; } |
| SelectorQueryCache& selectorQueryCache(); |
| + NthIndexCache* nthIndexCache(); |
| // Focus Management. |
| Element* activeElement() const; |
| @@ -1061,6 +1063,23 @@ public: |
| OriginsUsingFeatures::Value& originsUsingFeaturesValue() { return m_originsUsingFeaturesValue; } |
| + class UseNthIndexCacheScope { |
| + public: |
|
sof
2015/03/28 08:33:59
If you add STACK_ALLOCATED(); here and turn the Do
rune
2015/03/30 09:00:03
Done.
sof
2015/03/30 13:27:53
...
|
| + UseNthIndexCacheScope(Document& document) |
| + : m_document(document) |
| + { |
| + ASSERT(!m_document.useNthIndexCache()); |
| + m_document.setUseNthIndexCache(true); |
| + } |
| + ~UseNthIndexCacheScope() |
| + { |
| + ASSERT(m_document.useNthIndexCache()); |
| + m_document.setUseNthIndexCache(false); |
| + } |
| + private: |
| + Document& m_document; |
| + }; |
| + |
| protected: |
| Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass); |
| @@ -1317,6 +1336,7 @@ private: |
| WillBeHeapHashMap<String, RefPtrWillBeMember<HTMLCanvasElement>> m_cssCanvasElements; |
| OwnPtr<SelectorQueryCache> m_selectorQueryCache; |
| + OwnPtrWillBeMember<NthIndexCache> m_nthIndexCache; |
|
sof
2015/03/28 08:33:59
Add a trace() call for this to Document's trace()
rune
2015/03/30 09:00:03
Done.
|
| bool m_useSecureKeyboardEntryWhenActive; |
| @@ -1397,6 +1417,11 @@ private: |
| ParserSynchronizationPolicy m_parserSyncPolicy; |
| OriginsUsingFeatures::Value m_originsUsingFeaturesValue; |
| + |
| + bool useNthIndexCache() const { return m_useNthIndexCache; } |
| + void setUseNthIndexCache(bool); |
| + |
| + bool m_useNthIndexCache; |
| }; |
| inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin) |