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

Side by Side Diff: third_party/WebKit/Source/core/dom/Document.h

Issue 1743623002: [Experimental Framework] Make the OriginTrialContext a member of ExecutionContext (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use WeakPersistent for Oilpan Created 4 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) 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 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 class ConsoleMessage; 83 class ConsoleMessage;
84 class ContextFeatures; 84 class ContextFeatures;
85 class CustomElementMicrotaskRunQueue; 85 class CustomElementMicrotaskRunQueue;
86 class CustomElementRegistrationContext; 86 class CustomElementRegistrationContext;
87 class DOMImplementation; 87 class DOMImplementation;
88 class DOMWindow; 88 class DOMWindow;
89 class DocumentFragment; 89 class DocumentFragment;
90 class DocumentLoader; 90 class DocumentLoader;
91 class DocumentMarkerController; 91 class DocumentMarkerController;
92 class DocumentNameCollection; 92 class DocumentNameCollection;
93 class DocumentOriginTrialContext;
93 class DocumentParser; 94 class DocumentParser;
94 class DocumentState; 95 class DocumentState;
95 class DocumentType; 96 class DocumentType;
96 class DocumentVisibilityObserver; 97 class DocumentVisibilityObserver;
97 class Element; 98 class Element;
98 class ElementDataCache; 99 class ElementDataCache;
99 class ElementRegistrationOptions; 100 class ElementRegistrationOptions;
100 class Event; 101 class Event;
101 class EventFactoryBase; 102 class EventFactoryBase;
102 class EventListener; 103 class EventListener;
(...skipping 30 matching lines...) Expand all
133 class LocalFrame; 134 class LocalFrame;
134 class Location; 135 class Location;
135 class MainThreadTaskRunner; 136 class MainThreadTaskRunner;
136 class MediaQueryListListener; 137 class MediaQueryListListener;
137 class MediaQueryMatcher; 138 class MediaQueryMatcher;
138 class NodeFilter; 139 class NodeFilter;
139 class NodeIntersectionObserverData; 140 class NodeIntersectionObserverData;
140 class NodeIterator; 141 class NodeIterator;
141 class NthIndexCache; 142 class NthIndexCache;
142 class OriginAccessEntry; 143 class OriginAccessEntry;
144 class OriginTrialContext;
143 class Page; 145 class Page;
144 class PlatformMouseEvent; 146 class PlatformMouseEvent;
145 class ProcessingInstruction; 147 class ProcessingInstruction;
146 class QualifiedName; 148 class QualifiedName;
147 class Range; 149 class Range;
148 class LayoutView; 150 class LayoutView;
149 class ResourceFetcher; 151 class ResourceFetcher;
150 class SVGDocumentExtensions; 152 class SVGDocumentExtensions;
151 class SVGUseElement; 153 class SVGUseElement;
152 class ScriptRunner; 154 class ScriptRunner;
(...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 void dispose() override; 1075 void dispose() override;
1074 #endif 1076 #endif
1075 1077
1076 virtual PassRefPtrWillBeRawPtr<Document> cloneDocumentWithoutChildren(); 1078 virtual PassRefPtrWillBeRawPtr<Document> cloneDocumentWithoutChildren();
1077 1079
1078 bool importContainerNodeChildren(ContainerNode* oldContainerNode, PassRefPtr WillBeRawPtr<ContainerNode> newContainerNode, ExceptionState&); 1080 bool importContainerNodeChildren(ContainerNode* oldContainerNode, PassRefPtr WillBeRawPtr<ContainerNode> newContainerNode, ExceptionState&);
1079 void lockCompatibilityMode() { m_compatibilityModeLocked = true; } 1081 void lockCompatibilityMode() { m_compatibilityModeLocked = true; }
1080 ParserSynchronizationPolicy getParserSynchronizationPolicy() const { return m_parserSyncPolicy; } 1082 ParserSynchronizationPolicy getParserSynchronizationPolicy() const { return m_parserSyncPolicy; }
1081 1083
1082 private: 1084 private:
1085 friend class DocumentOriginTrialContextTest;
1083 friend class IgnoreDestructiveWriteCountIncrementer; 1086 friend class IgnoreDestructiveWriteCountIncrementer;
1084 friend class NthIndexCache; 1087 friend class NthIndexCache;
1085 1088
1086 bool isDocumentFragment() const = delete; // This will catch anyone doing an unnecessary check. 1089 bool isDocumentFragment() const = delete; // This will catch anyone doing an unnecessary check.
1087 bool isDocumentNode() const = delete; // This will catch anyone doing an unn ecessary check. 1090 bool isDocumentNode() const = delete; // This will catch anyone doing an unn ecessary check.
1088 bool isElementNode() const = delete; // This will catch anyone doing an unne cessary check. 1091 bool isElementNode() const = delete; // This will catch anyone doing an unne cessary check.
1089 1092
1090 ScriptedAnimationController& ensureScriptedAnimationController(); 1093 ScriptedAnimationController& ensureScriptedAnimationController();
1091 ScriptedIdleTaskController& ensureScriptedIdleTaskController(); 1094 ScriptedIdleTaskController& ensureScriptedIdleTaskController();
1092 SecurityContext& securityContext() final { return *this; } 1095 SecurityContext& securityContext() final { return *this; }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 1158
1156 void setHoverNode(PassRefPtrWillBeRawPtr<Node>); 1159 void setHoverNode(PassRefPtrWillBeRawPtr<Node>);
1157 1160
1158 using EventFactorySet = HashSet<OwnPtr<EventFactoryBase>>; 1161 using EventFactorySet = HashSet<OwnPtr<EventFactoryBase>>;
1159 static EventFactorySet& eventFactories(); 1162 static EventFactorySet& eventFactories();
1160 1163
1161 void setNthIndexCache(NthIndexCache* nthIndexCache) { ASSERT(!m_nthIndexCach e || !nthIndexCache); m_nthIndexCache = nthIndexCache; } 1164 void setNthIndexCache(NthIndexCache* nthIndexCache) { ASSERT(!m_nthIndexCach e || !nthIndexCache); m_nthIndexCache = nthIndexCache; }
1162 1165
1163 const OriginAccessEntry& accessEntryFromURL(); 1166 const OriginAccessEntry& accessEntryFromURL();
1164 1167
1168 OriginTrialContext* originTrialContext() override;
1169
1165 DocumentLifecycle m_lifecycle; 1170 DocumentLifecycle m_lifecycle;
1166 1171
1167 bool m_hasNodesWithPlaceholderStyle; 1172 bool m_hasNodesWithPlaceholderStyle;
1168 bool m_evaluateMediaQueriesOnStyleRecalc; 1173 bool m_evaluateMediaQueriesOnStyleRecalc;
1169 1174
1170 // If we do ignore the pending stylesheet count, then we need to add a boole an 1175 // If we do ignore the pending stylesheet count, then we need to add a boole an
1171 // to track that this happened so that we can do a full repaint when the sty lesheets 1176 // to track that this happened so that we can do a full repaint when the sty lesheets
1172 // do eventually load. 1177 // do eventually load.
1173 PendingSheetLayout m_pendingSheetLayout; 1178 PendingSheetLayout m_pendingSheetLayout;
1174 1179
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1395 1400
1396 OriginsUsingFeatures::Value m_originsUsingFeaturesValue; 1401 OriginsUsingFeatures::Value m_originsUsingFeaturesValue;
1397 1402
1398 ClientHintsPreferences m_clientHintsPreferences; 1403 ClientHintsPreferences m_clientHintsPreferences;
1399 1404
1400 PersistentWillBeMember<CanvasFontCache> m_canvasFontCache; 1405 PersistentWillBeMember<CanvasFontCache> m_canvasFontCache;
1401 1406
1402 PersistentWillBeMember<IntersectionObserverController> m_intersectionObserve rController; 1407 PersistentWillBeMember<IntersectionObserverController> m_intersectionObserve rController;
1403 PersistentWillBeMember<NodeIntersectionObserverData> m_intersectionObserverD ata; 1408 PersistentWillBeMember<NodeIntersectionObserverData> m_intersectionObserverD ata;
1404 1409
1410 OwnPtr<DocumentOriginTrialContext> m_originTrialContext;
jbroman 2016/03/01 23:29:21 Why do we need a separate member here, when we onl
iclelland 2016/03/03 21:47:00 Done.
1405 int m_nodeCount; 1411 int m_nodeCount;
1406 }; 1412 };
1407 1413
1408 extern template class CORE_EXTERN_TEMPLATE_EXPORT WillBeHeapSupplement<Document> ; 1414 extern template class CORE_EXTERN_TEMPLATE_EXPORT WillBeHeapSupplement<Document> ;
1409 1415
1410 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin) 1416 inline bool Document::shouldOverrideLegacyDescription(ViewportDescription::Type origin)
1411 { 1417 {
1412 // The different (legacy) meta tags have different priorities based on the t ype 1418 // The different (legacy) meta tags have different priorities based on the t ype
1413 // regardless of which order they appear in the DOM. The priority is given b y the 1419 // regardless of which order they appear in the DOM. The priority is given b y the
1414 // ViewportDescription::Type enum. 1420 // ViewportDescription::Type enum.
(...skipping 30 matching lines...) Expand all
1445 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1451 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1446 1452
1447 } // namespace blink 1453 } // namespace blink
1448 1454
1449 #ifndef NDEBUG 1455 #ifndef NDEBUG
1450 // Outside the WebCore namespace for ease of invocation from gdb. 1456 // Outside the WebCore namespace for ease of invocation from gdb.
1451 CORE_EXPORT void showLiveDocumentInstances(); 1457 CORE_EXPORT void showLiveDocumentInstances();
1452 #endif 1458 #endif
1453 1459
1454 #endif // Document_h 1460 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698