|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/include/xulrunner-17.0.10/mozilla/dom/workers/bindings/ |
Upload File : |
/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_dom_workers_eventtarget_h__
#define mozilla_dom_workers_eventtarget_h__
#include "mozilla/dom/workers/bindings/DOMBindingBase.h"
// I hate having to export this...
#include "mozilla/dom/workers/bindings/EventListenerManager.h"
#include "mozilla/dom/Nullable.h"
#include "mozilla/ErrorResult.h"
using namespace mozilla::dom;
BEGIN_WORKERS_NAMESPACE
class EventTarget : public DOMBindingBase
{
EventListenerManager mListenerManager;
protected:
EventTarget(JSContext* aCx)
: DOMBindingBase(aCx)
{ }
virtual ~EventTarget()
{ }
public:
virtual void
_trace(JSTracer* aTrc) MOZ_OVERRIDE;
virtual void
_finalize(JSFreeOp* aFop) MOZ_OVERRIDE;
void
AddEventListener(const nsAString& aType, JSObject* aListener,
bool aCapture, Nullable<bool> aWantsUntrusted,
ErrorResult& aRv);
void
RemoveEventListener(const nsAString& aType, JSObject* aListener,
bool aCapture, ErrorResult& aRv);
bool
DispatchEvent(JSObject* aEvent, ErrorResult& aRv) const
{
return mListenerManager.DispatchEvent(GetJSContext(), *this, aEvent, aRv);
}
JSObject*
GetEventListener(const nsAString& aType, ErrorResult& aRv) const;
void
SetEventListener(const nsAString& aType, JSObject* aListener,
ErrorResult& aRv);
bool
HasListeners() const
{
return mListenerManager.HasListeners();
}
};
END_WORKERS_NAMESPACE
#endif // mozilla_dom_workers_eventtarget_h__