| Index: Source/core/dom/ProcessingInstruction.h
|
| diff --git a/Source/core/dom/ProcessingInstruction.h b/Source/core/dom/ProcessingInstruction.h
|
| index 72bf1b32e57f0fe962074f248398a4d7e19fa7c0..419100f5440b22c947aaac7440d9a993881e7bb5 100644
|
| --- a/Source/core/dom/ProcessingInstruction.h
|
| +++ b/Source/core/dom/ProcessingInstruction.h
|
| @@ -54,24 +54,26 @@ public:
|
| bool isLoading() const;
|
|
|
| // For XSLT
|
| - class DetachableEventListener {
|
| + class DetachableEventListener : public WillBeGarbageCollectedMixin {
|
| public:
|
| virtual ~DetachableEventListener() { }
|
| -
|
| - void ref() { refDetachableEventListener(); }
|
| - void deref() { derefDetachableEventListener(); }
|
| -
|
| virtual EventListener* toEventListener() = 0;
|
| -
|
| // Detach event listener from its processing instruction.
|
| virtual void detach() = 0;
|
|
|
| + DEFINE_INLINE_VIRTUAL_TRACE() { }
|
| +
|
| +#if !ENABLE(OILPAN)
|
| + void ref() { refDetachableEventListener(); }
|
| + void deref() { derefDetachableEventListener(); }
|
| +
|
| private:
|
| virtual void refDetachableEventListener() = 0;
|
| virtual void derefDetachableEventListener() = 0;
|
| +#endif
|
| };
|
|
|
| - void setEventListenerForXSLT(PassRefPtr<DetachableEventListener> listener) { m_listenerForXSLT = listener; }
|
| + void setEventListenerForXSLT(PassRefPtrWillBeRawPtr<DetachableEventListener> listener) { m_listenerForXSLT = listener; }
|
| EventListener* eventListenerForXSLT();
|
| void clearEventListenerForXSLT();
|
|
|
| @@ -107,7 +109,7 @@ private:
|
| bool m_isCSS;
|
| bool m_isXSL;
|
|
|
| - RefPtr<DetachableEventListener> m_listenerForXSLT;
|
| + RefPtrWillBeMember<DetachableEventListener> m_listenerForXSLT;
|
| };
|
|
|
| DEFINE_NODE_TYPE_CASTS(ProcessingInstruction, nodeType() == Node::PROCESSING_INSTRUCTION_NODE);
|
|
|