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

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

Issue 1851743002: Simplify Supplementables post Oilpan. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix component build Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Neither the name of Google Inc. nor the names of its 10 * * Neither the name of Google Inc. nor the names of its
(...skipping 11 matching lines...) Expand all
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 #ifndef ContextFeatures_h 27 #ifndef ContextFeatures_h
28 #define ContextFeatures_h 28 #define ContextFeatures_h
29 29
30 #include "core/CoreExport.h" 30 #include "core/CoreExport.h"
31 #include "core/page/Page.h" 31 #include "core/page/Page.h"
32 #include "platform/RefCountedSupplement.h"
33 32
34 namespace blink { 33 namespace blink {
35 34
36 class ContextFeaturesClient; 35 class ContextFeaturesClient;
37 class Document; 36 class Document;
38 class Page; 37 class Page;
39 38
40 #if ENABLE(OILPAN) 39 class ContextFeatures final : public GarbageCollectedFinalized<ContextFeatures>, public Supplement<Page> {
41 class ContextFeatures final : public GarbageCollectedFinalized<ContextFeatures>, public HeapSupplement<Page> {
42 USING_GARBAGE_COLLECTED_MIXIN(ContextFeatures); 40 USING_GARBAGE_COLLECTED_MIXIN(ContextFeatures);
43 public: 41 public:
44 typedef HeapSupplement<Page> SupplementType;
45 #else
46 class ContextFeatures : public RefCountedSupplement<Page, ContextFeatures> {
47 public:
48 typedef RefCountedSupplement<Page, ContextFeatures> SupplementType;
49 #endif
50 enum FeatureType { 42 enum FeatureType {
51 PagePopup = 0, 43 PagePopup = 0,
52 MutationEvents, 44 MutationEvents,
53 FeatureTypeSize // Should be the last entry. 45 FeatureTypeSize // Should be the last entry.
54 }; 46 };
55 47
56 static const char* supplementName(); 48 static const char* supplementName();
57 static ContextFeatures* defaultSwitch(); 49 static ContextFeatures* defaultSwitch();
58 static RawPtr<ContextFeatures> create(PassOwnPtr<ContextFeaturesClient>); 50 static RawPtr<ContextFeatures> create(PassOwnPtr<ContextFeaturesClient>);
59 51
60 static bool pagePopupEnabled(Document*); 52 static bool pagePopupEnabled(Document*);
61 static bool mutationEventsEnabled(Document*); 53 static bool mutationEventsEnabled(Document*);
62 54
63 bool isEnabled(Document*, FeatureType, bool) const; 55 bool isEnabled(Document*, FeatureType, bool) const;
64 void urlDidChange(Document*); 56 void urlDidChange(Document*);
65 57
66 #if ENABLE(OILPAN)
67 DEFINE_INLINE_VIRTUAL_TRACE() { HeapSupplement<Page>::trace(visitor); }
68 #endif
69
70 private: 58 private:
71 explicit ContextFeatures(PassOwnPtr<ContextFeaturesClient> client) 59 explicit ContextFeatures(PassOwnPtr<ContextFeaturesClient> client)
72 : m_client(std::move(client)) 60 : m_client(std::move(client))
73 { } 61 { }
74 62
75 OwnPtr<ContextFeaturesClient> m_client; 63 OwnPtr<ContextFeaturesClient> m_client;
76 }; 64 };
77 65
78 class ContextFeaturesClient { 66 class ContextFeaturesClient {
79 USING_FAST_MALLOC(ContextFeaturesClient); 67 USING_FAST_MALLOC(ContextFeaturesClient);
(...skipping 28 matching lines...) Expand all
108 // See issue 294180 96 // See issue 294180
109 // 97 //
110 // if (m_client) 98 // if (m_client)
111 // return; 99 // return;
112 // m_client->urlDidChange(document); 100 // m_client->urlDidChange(document);
113 } 101 }
114 102
115 } // namespace blink 103 } // namespace blink
116 104
117 #endif // ContextFeatures_h 105 #endif // ContextFeatures_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/FontFaceSet.cpp ('k') | third_party/WebKit/Source/core/dom/ContextFeatures.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698