Files
palemoon27/dom/events/DataContainerEvent.h
T
roytam1 c171030101 import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1182979 - Part 1: Use nsTHashtable::Iterator in PluginInstanceChild. r=jimm (a3105fe02)
- Bug 1182979 - Part 2: Use nsTHashtable::Iterator in PluginScriptableObjectChild. r=jimm (301bd8d3c)
- Bug 1182979 - Part 3: Use nsTHashtable::Iterator in GMPTimerParent. r=cpearce (e35ef2491)
- Bug 1182979 - Part 4: Use nsTHashtable::Iterator in MediaShutdownManager. r=cpearce (22dcbe9cd)
- Bug 1186780: Replace EnumerateRead with new iterators in cycle collection code. r=mccr8 (263c26445)
- Bug 1182980 - Part 1: Use nsTHashtable::Iterator in FragmentOrElement. r=khuey (ca3c5dfb5)
- Bug 1182980 - Part 2: Use nsTHashtable::Iterator in nsRange. r=khuey (5b43675ac)
- Bug 1182980 - Part 3: Use nsTHashtable::Iterator in nsWindowRoot. r=khuey (f4d8b2a4b)
- Bug 1182980 - Part 4: Use nsTHashtable::Iterator in nsWindowMemoryReporter::UnlinkGhostWindows. r=khuey (b01946afe)
- Bug 1182980 - Part 5: Use nsTHashtable::Iterator in nsWindowMemoryReporter::CollectReports. r=khuey (336538295)
- Bug 1182980 - Part 6: Use nsTHashtable::Iterator in ShadowRoot. r=khuey (d59bf3da0)
- Bug 1182980 - Part 7: Use nsTHashtable::Iterator in nsIdentifierMapEntry::FireChangeCallbacks. r=khuey (53f3868d3)
- Bug 1182980 - Part 8: Use nsTHashtable::Iterator in nsIDocument::EnumerateActivityObservers. r=khuey (868eef2c2)
- Bug 1182980 - Part 9: Use nsTHashtable::Iterator in rest of nsDocument. r=khuey (797b75fb8)
- Bug 1182980 - Part 10: Use nsTHashtable::Iterator in DisconnectEventTargetObjects. r=khuey (37aee02c8)
- Bug 1182980 - Part 11: Use nsTHashtable::Iterator in nsGlobalWindow::AddSizeOfIncludingThis. r=khuey (a75ffd411)
2021-08-08 20:35:54 +08:00

61 lines
1.6 KiB
C++

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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_DataContainerEvent_h_
#define mozilla_dom_DataContainerEvent_h_
#include "mozilla/dom/DataContainerEventBinding.h"
#include "mozilla/dom/Event.h"
#include "nsIDOMDataContainerEvent.h"
#include "nsInterfaceHashtable.h"
namespace mozilla {
namespace dom {
class DataContainerEvent : public Event,
public nsIDOMDataContainerEvent
{
public:
DataContainerEvent(EventTarget* aOwner,
nsPresContext* aPresContext,
WidgetEvent* aEvent);
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DataContainerEvent, Event)
NS_FORWARD_TO_EVENT
NS_DECL_NSIDOMDATACONTAINEREVENT
virtual JSObject*
WrapObjectInternal(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override
{
return DataContainerEventBinding::Wrap(aCx, this, aGivenProto);
}
already_AddRefed<nsIVariant> GetData(const nsAString& aKey)
{
nsCOMPtr<nsIVariant> val;
GetData(aKey, getter_AddRefs(val));
return val.forget();
}
void SetData(JSContext* aCx, const nsAString& aKey,
JS::Handle<JS::Value> aVal, ErrorResult& aRv);
protected:
~DataContainerEvent() {}
private:
nsInterfaceHashtable<nsStringHashKey, nsIVariant> mData;
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_DataContainerEvent_h_