OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 13 matching lines...) Expand all Loading... |
24 * | 24 * |
25 */ | 25 */ |
26 | 26 |
27 #ifndef ContextLifecycleObserver_h | 27 #ifndef ContextLifecycleObserver_h |
28 #define ContextLifecycleObserver_h | 28 #define ContextLifecycleObserver_h |
29 | 29 |
30 #include "core/dom/ExecutionContext.h" | 30 #include "core/dom/ExecutionContext.h" |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
34 template<> void observeContext(ExecutionContext*, LifecycleObserver<ExecutionCon
text>*); | 34 class ContextLifecycleNotifier; |
35 template<> void unobserveContext(ExecutionContext*, LifecycleObserver<ExecutionC
ontext>*); | |
36 | 35 |
37 class ContextLifecycleObserver : public LifecycleObserver<ExecutionContext> { | 36 class ContextLifecycleObserver : public LifecycleObserver<ExecutionContext, Cont
extLifecycleObserver, ContextLifecycleNotifier> { |
38 public: | 37 public: |
| 38 ExecutionContext* executionContext() const { return lifecycleContext(); } |
| 39 |
| 40 enum Type { |
| 41 GenericType, |
| 42 ActiveDOMObjectType, |
| 43 }; |
| 44 |
| 45 Type observerType() const { return m_observerType; } |
| 46 |
| 47 protected: |
39 explicit ContextLifecycleObserver(ExecutionContext*, Type = GenericType); | 48 explicit ContextLifecycleObserver(ExecutionContext*, Type = GenericType); |
40 ExecutionContext* executionContext() const { return lifecycleContext(); } | 49 |
41 protected: | |
42 virtual ~ContextLifecycleObserver(); | 50 virtual ~ContextLifecycleObserver(); |
| 51 |
| 52 private: |
| 53 Type m_observerType; |
43 }; | 54 }; |
44 | 55 |
45 } // namespace blink | 56 } // namespace blink |
46 | 57 |
47 #endif // ContextLifecycleObserver_h | 58 #endif // ContextLifecycleObserver_h |
OLD | NEW |