OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2012 Adobe Systems Incorporated. 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
10 * disclaimer. | 10 * disclaimer. |
(...skipping 12 matching lines...) Expand all Loading... |
23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR |
25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF |
26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
27 * SUCH DAMAGE. | 27 * SUCH DAMAGE. |
28 */ | 28 */ |
29 | 29 |
30 #ifndef NamedFlowCollection_h | 30 #ifndef NamedFlowCollection_h |
31 #define NamedFlowCollection_h | 31 #define NamedFlowCollection_h |
32 | 32 |
33 #include "core/dom/ContextDestructionObserver.h" | 33 #include "core/dom/ContextLifecycleObserver.h" |
34 #include "core/dom/NamedFlow.h" | 34 #include "core/dom/NamedFlow.h" |
35 #include <wtf/Forward.h> | 35 #include <wtf/Forward.h> |
36 #include <wtf/ListHashSet.h> | 36 #include <wtf/ListHashSet.h> |
37 #include <wtf/PassRefPtr.h> | 37 #include <wtf/PassRefPtr.h> |
38 #include <wtf/RefCounted.h> | 38 #include <wtf/RefCounted.h> |
39 #include <wtf/Vector.h> | 39 #include <wtf/Vector.h> |
40 | 40 |
41 namespace WebCore { | 41 namespace WebCore { |
42 | 42 |
43 class Document; | 43 class Document; |
44 class DOMNamedFlowCollection; | 44 class DOMNamedFlowCollection; |
45 | 45 |
46 class NamedFlowCollection : public RefCounted<NamedFlowCollection>, public Conte
xtDestructionObserver { | 46 class NamedFlowCollection : public RefCounted<NamedFlowCollection>, public Conte
xtLifecycleObserver { |
47 public: | 47 public: |
48 static PassRefPtr<NamedFlowCollection> create(Document* doc) { return adoptR
ef(new NamedFlowCollection(doc)); } | 48 static PassRefPtr<NamedFlowCollection> create(Document* doc) { return adoptR
ef(new NamedFlowCollection(doc)); } |
49 | 49 |
50 Vector<RefPtr<NamedFlow> > namedFlows(); | 50 Vector<RefPtr<NamedFlow> > namedFlows(); |
51 NamedFlow* flowByName(const String&); | 51 NamedFlow* flowByName(const String&); |
52 PassRefPtr<NamedFlow> ensureFlowWithName(const String&); | 52 PassRefPtr<NamedFlow> ensureFlowWithName(const String&); |
53 | 53 |
54 void discardNamedFlow(NamedFlow*); | 54 void discardNamedFlow(NamedFlow*); |
55 | 55 |
56 Document* document() const; | 56 Document* document() const; |
57 | 57 |
58 virtual ~NamedFlowCollection() { } | 58 virtual ~NamedFlowCollection() { } |
59 | 59 |
60 PassRefPtr<DOMNamedFlowCollection> createCSSOMSnapshot(); | 60 PassRefPtr<DOMNamedFlowCollection> createCSSOMSnapshot(); |
61 | 61 |
62 private: | 62 private: |
63 struct NamedFlowHashFunctions; | 63 struct NamedFlowHashFunctions; |
64 struct NamedFlowHashTranslator; | 64 struct NamedFlowHashTranslator; |
65 | 65 |
66 typedef ListHashSet<NamedFlow*, 1, NamedFlowHashFunctions> NamedFlowSet; | 66 typedef ListHashSet<NamedFlow*, 1, NamedFlowHashFunctions> NamedFlowSet; |
67 | 67 |
68 explicit NamedFlowCollection(Document*); | 68 explicit NamedFlowCollection(Document*); |
69 | 69 |
70 NamedFlowSet m_namedFlows; | 70 NamedFlowSet m_namedFlows; |
71 }; | 71 }; |
72 | 72 |
73 } // namespace WebCore | 73 } // namespace WebCore |
74 | 74 |
75 #endif // NamedFlowCollection_h | 75 #endif // NamedFlowCollection_h |
OLD | NEW |