summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/bindings/js/JSNodeFilterCondition.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/bindings/js/JSNodeFilterCondition.h')
-rw-r--r--Source/WebCore/bindings/js/JSNodeFilterCondition.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/WebCore/bindings/js/JSNodeFilterCondition.h b/Source/WebCore/bindings/js/JSNodeFilterCondition.h
index 14b0c1d..80148f1 100644
--- a/Source/WebCore/bindings/js/JSNodeFilterCondition.h
+++ b/Source/WebCore/bindings/js/JSNodeFilterCondition.h
@@ -21,27 +21,32 @@
#define JSNodeFilterCondition_h
#include "NodeFilterCondition.h"
+#include <heap/Weak.h>
#include <runtime/JSValue.h>
#include <wtf/PassRefPtr.h>
namespace WebCore {
class Node;
+ class NodeFilter;
class JSNodeFilterCondition : public NodeFilterCondition {
public:
- static PassRefPtr<JSNodeFilterCondition> create(JSC::JSValue filter)
+ static PassRefPtr<JSNodeFilterCondition> create(JSC::JSGlobalData& globalData, NodeFilter* owner, JSC::JSValue filter)
{
- return adoptRef(new JSNodeFilterCondition(filter));
+ return adoptRef(new JSNodeFilterCondition(globalData, owner, filter));
}
private:
- JSNodeFilterCondition(JSC::JSValue filter);
+ JSNodeFilterCondition(JSC::JSGlobalData&, NodeFilter* owner, JSC::JSValue filter);
virtual short acceptNode(ScriptState*, Node*) const;
- virtual void markAggregate(JSC::MarkStack&);
- mutable JSC::DeprecatedPtr<JSC::Unknown> m_filter;
+ class WeakOwner : public JSC::WeakHandleOwner {
+ virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::MarkStack&);
+ };
+ WeakOwner m_weakOwner;
+ mutable JSC::Weak<JSC::Unknown> m_filter;
};
} // namespace WebCore