mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
0e4353d48a
All other browsers support a constructor here. Per current spec, the constructor does not support .locale, although initCompositionEvent does. If we ever decide to standardize .locale, the constructor can be updated at that point. (Edge also supports .locale in initCompositionEvent but not the constructor. Chrome doesn't support .locale at all.)
68 lines
2.2 KiB
C++
68 lines
2.2 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_CompositionEvent_h_
|
|
#define mozilla_dom_CompositionEvent_h_
|
|
|
|
#include "mozilla/dom/CompositionEventBinding.h"
|
|
#include "mozilla/dom/TextClause.h"
|
|
#include "mozilla/dom/TypedArray.h"
|
|
#include "mozilla/dom/UIEvent.h"
|
|
#include "mozilla/EventForwards.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
typedef nsTArray<RefPtr<TextClause>> TextClauseArray;
|
|
|
|
class CompositionEvent : public UIEvent
|
|
{
|
|
public:
|
|
CompositionEvent(EventTarget* aOwner,
|
|
nsPresContext* aPresContext,
|
|
WidgetCompositionEvent* aEvent);
|
|
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
NS_FORWARD_TO_UIEVENT
|
|
|
|
static already_AddRefed<CompositionEvent> Constructor(const GlobalObject& aGlobal,
|
|
const nsAString& aType,
|
|
const CompositionEventInit& aParam,
|
|
ErrorResult& aRv);
|
|
|
|
virtual JSObject* WrapObjectInternal(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override
|
|
{
|
|
return CompositionEventBinding::Wrap(aCx, this, aGivenProto);
|
|
}
|
|
|
|
void InitCompositionEvent(const nsAString& aType,
|
|
bool aCanBubble,
|
|
bool aCancelable,
|
|
nsGlobalWindow* aView,
|
|
const nsAString& aData,
|
|
const nsAString& aLocale);
|
|
void GetData(nsAString&) const;
|
|
void GetLocale(nsAString&) const;
|
|
void GetRanges(TextClauseArray& aRanges);
|
|
|
|
protected:
|
|
~CompositionEvent() {}
|
|
|
|
nsString mData;
|
|
nsString mLocale;
|
|
TextClauseArray mRanges;
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|
|
|
|
already_AddRefed<mozilla::dom::CompositionEvent>
|
|
NS_NewDOMCompositionEvent(mozilla::dom::EventTarget* aOwner,
|
|
nsPresContext* aPresContext,
|
|
mozilla::WidgetCompositionEvent* aEvent);
|
|
|
|
#endif // mozilla_dom_CompositionEvent_h_
|