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 21 matching lines...) Expand all Loading... |
32 | 32 |
33 namespace WebCore { | 33 namespace WebCore { |
34 | 34 |
35 class ActiveDOMObject : public ContextLifecycleObserver { | 35 class ActiveDOMObject : public ContextLifecycleObserver { |
36 public: | 36 public: |
37 ActiveDOMObject(ExecutionContext*); | 37 ActiveDOMObject(ExecutionContext*); |
38 | 38 |
39 // suspendIfNeeded() should be called exactly once after object construction
to synchronize | 39 // suspendIfNeeded() should be called exactly once after object construction
to synchronize |
40 // the suspend state with that in ExecutionContext. | 40 // the suspend state with that in ExecutionContext. |
41 void suspendIfNeeded(); | 41 void suspendIfNeeded(); |
42 #if !ASSERT_DISABLED | 42 #if ASSERT_ENABLED |
43 bool suspendIfNeededCalled() const { return m_suspendIfNeededCalled; } | 43 bool suspendIfNeededCalled() const { return m_suspendIfNeededCalled; } |
44 #endif | 44 #endif |
45 | 45 |
46 // Should return true if there's any pending asynchronous activity, and so | 46 // Should return true if there's any pending asynchronous activity, and so |
47 // this object must not be garbage collected. | 47 // this object must not be garbage collected. |
48 // | 48 // |
49 // Default implementation is that it returns true iff | 49 // Default implementation is that it returns true iff |
50 // m_pendingActivityCount is non-zero. | 50 // m_pendingActivityCount is non-zero. |
51 virtual bool hasPendingActivity() const; | 51 virtual bool hasPendingActivity() const; |
52 | 52 |
(...skipping 17 matching lines...) Expand all Loading... |
70 | 70 |
71 template<class T> void unsetPendingActivity(T* thisObject) | 71 template<class T> void unsetPendingActivity(T* thisObject) |
72 { | 72 { |
73 ASSERT(m_pendingActivityCount > 0); | 73 ASSERT(m_pendingActivityCount > 0); |
74 --m_pendingActivityCount; | 74 --m_pendingActivityCount; |
75 thisObject->deref(); | 75 thisObject->deref(); |
76 } | 76 } |
77 | 77 |
78 private: | 78 private: |
79 unsigned m_pendingActivityCount; | 79 unsigned m_pendingActivityCount; |
80 #if !ASSERT_DISABLED | 80 #if ASSERT_ENABLED |
81 bool m_suspendIfNeededCalled; | 81 bool m_suspendIfNeededCalled; |
82 #endif | 82 #endif |
83 }; | 83 }; |
84 | 84 |
85 } // namespace WebCore | 85 } // namespace WebCore |
86 | 86 |
87 #endif // ActiveDOMObject_h | 87 #endif // ActiveDOMObject_h |
OLD | NEW |