| Index: Source/core/dom/Document.h
|
| diff --git a/Source/core/dom/Document.h b/Source/core/dom/Document.h
|
| index 51a3c60befaffd8c8722eedee272a4a7ce04c092..e0e2ed1474edf80d27f6c43a66112a40d882ec54 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;
|
| @@ -1080,6 +1082,7 @@ protected:
|
|
|
| private:
|
| friend class IgnoreDestructiveWriteCountIncrementer;
|
| + friend class NthIndexCacheScope;
|
|
|
| bool isDocumentFragment() const = delete; // This will catch anyone doing an unnecessary check.
|
| bool isDocumentNode() const = delete; // This will catch anyone doing an unnecessary check.
|
| @@ -1172,6 +1175,9 @@ private:
|
|
|
| void updateElementOpacity(const AtomicString& cssSelector, double opacity);
|
|
|
| + bool useNthIndexCache() const { return m_useNthIndexCache; }
|
| + void setUseNthIndexCache(bool);
|
| +
|
| DocumentLifecycle m_lifecycle;
|
|
|
| bool m_hasNodesWithPlaceholderStyle;
|
| @@ -1317,6 +1323,7 @@ private:
|
| WillBeHeapHashMap<String, RefPtrWillBeMember<HTMLCanvasElement>> m_cssCanvasElements;
|
|
|
| OwnPtr<SelectorQueryCache> m_selectorQueryCache;
|
| + OwnPtrWillBeMember<NthIndexCache> m_nthIndexCache;
|
|
|
| bool m_useSecureKeyboardEntryWhenActive;
|
|
|
| @@ -1397,6 +1404,8 @@ private:
|
| ParserSynchronizationPolicy m_parserSyncPolicy;
|
|
|
| OriginsUsingFeatures::Value m_originsUsingFeaturesValue;
|
| +
|
| + bool m_useNthIndexCache;
|
| };
|
|
|
| inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin)
|
|
|