OLD | NEW |
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 15 matching lines...) Expand all Loading... |
26 | 26 |
27 #include "config.h" | 27 #include "config.h" |
28 #include "core/dom/ContextFeatures.h" | 28 #include "core/dom/ContextFeatures.h" |
29 | 29 |
30 #include "RuntimeEnabledFeatures.h" | 30 #include "RuntimeEnabledFeatures.h" |
31 #include "core/dom/Document.h" | 31 #include "core/dom/Document.h" |
32 #include "core/page/Page.h" | 32 #include "core/page/Page.h" |
33 | 33 |
34 namespace WebCore { | 34 namespace WebCore { |
35 | 35 |
36 ContextFeaturesClient* ContextFeaturesClient::empty() | 36 PassOwnPtr<ContextFeaturesClient> ContextFeaturesClient::empty() |
37 { | 37 { |
38 DEFINE_STATIC_LOCAL(ContextFeaturesClient, empty, ()); | 38 return adoptPtr(new ContextFeaturesClient()); |
39 return ∅ | |
40 } | 39 } |
41 | 40 |
42 const char* ContextFeatures::supplementName() | 41 const char* ContextFeatures::supplementName() |
43 { | 42 { |
44 return "ContextFeatures"; | 43 return "ContextFeatures"; |
45 } | 44 } |
46 | 45 |
47 ContextFeatures* ContextFeatures::defaultSwitch() | 46 ContextFeatures* ContextFeatures::defaultSwitch() |
48 { | 47 { |
49 DEFINE_STATIC_REF(ContextFeatures, instance, (ContextFeatures::create(Contex
tFeaturesClient::empty()))); | 48 DEFINE_STATIC_REF(ContextFeatures, instance, (ContextFeatures::create(Contex
tFeaturesClient::empty()))); |
(...skipping 27 matching lines...) Expand all Loading... |
77 if (!document) | 76 if (!document) |
78 return true; | 77 return true; |
79 return document->contextFeatures().isEnabled(document, MutationEvents, true)
; | 78 return document->contextFeatures().isEnabled(document, MutationEvents, true)
; |
80 } | 79 } |
81 | 80 |
82 bool ContextFeatures::pushStateEnabled(Document* document) | 81 bool ContextFeatures::pushStateEnabled(Document* document) |
83 { | 82 { |
84 return document->contextFeatures().isEnabled(document, PushState, true); | 83 return document->contextFeatures().isEnabled(document, PushState, true); |
85 } | 84 } |
86 | 85 |
87 void provideContextFeaturesTo(Page& page, ContextFeaturesClient* client) | 86 void provideContextFeaturesTo(Page& page, PassOwnPtr<ContextFeaturesClient> clie
nt) |
88 { | 87 { |
89 RefCountedSupplement<Page, ContextFeatures>::provideTo(page, ContextFeatures
::supplementName(), ContextFeatures::create(client)); | 88 RefCountedSupplement<Page, ContextFeatures>::provideTo(page, ContextFeatures
::supplementName(), ContextFeatures::create(client)); |
90 } | 89 } |
91 | 90 |
92 void provideContextFeaturesToDocumentFrom(Document& document, Page& page) | 91 void provideContextFeaturesToDocumentFrom(Document& document, Page& page) |
93 { | 92 { |
94 ContextFeatures* provided = static_cast<ContextFeatures*>(RefCountedSuppleme
nt<Page, ContextFeatures>::from(page, ContextFeatures::supplementName())); | 93 ContextFeatures* provided = static_cast<ContextFeatures*>(RefCountedSuppleme
nt<Page, ContextFeatures>::from(page, ContextFeatures::supplementName())); |
95 if (!provided) | 94 if (!provided) |
96 return; | 95 return; |
97 document.setContextFeatures(*provided); | 96 document.setContextFeatures(*provided); |
98 } | 97 } |
99 | 98 |
100 } | 99 } |
OLD | NEW |