| Index: ppapi/cpp/input_event.cc
|
| diff --git a/ppapi/cpp/input_event.cc b/ppapi/cpp/input_event.cc
|
| index 632b1eccd93652f9f15e227e28bb9fdbf342756c..aada8d0601a469e47bd6e4fec648cb3c880db2d9 100644
|
| --- a/ppapi/cpp/input_event.cc
|
| +++ b/ppapi/cpp/input_event.cc
|
| @@ -30,6 +30,10 @@ template <> const char* interface_name<PPB_WheelInputEvent>() {
|
| return PPB_WHEEL_INPUT_EVENT_INTERFACE;
|
| }
|
|
|
| +template <> const char* interface_name<PPB_CompositionInputEvent>() {
|
| + return PPB_COMPOSITION_INPUT_EVENT_INTERFACE;
|
| +}
|
| +
|
| } // namespace
|
|
|
| // InputEvent ------------------------------------------------------------------
|
| @@ -218,4 +222,66 @@ Var KeyboardInputEvent::GetCharacterText() const {
|
| pp_resource()));
|
| }
|
|
|
| +// CompositionInputEvent -------------------------------------------------------
|
| +
|
| +CompositionInputEvent::CompositionInputEvent() : InputEvent() {
|
| +}
|
| +
|
| +CompositionInputEvent::CompositionInputEvent(const InputEvent& event)
|
| + : InputEvent() {
|
| + // Type check the input event before setting it.
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return;
|
| + if (get_interface<PPB_CompositionInputEvent>()->IsCompositionInputEvent(
|
| + event.pp_resource())) {
|
| + Module::Get()->core()->AddRefResource(event.pp_resource());
|
| + PassRefFromConstructor(event.pp_resource());
|
| + }
|
| +}
|
| +
|
| +Var CompositionInputEvent::GetText() const {
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return Var();
|
| + return Var(Var::PassRef(),
|
| + get_interface<PPB_CompositionInputEvent>()->GetText(
|
| + pp_resource()));
|
| +}
|
| +
|
| +uint32_t CompositionInputEvent::GetSegmentNumber() const {
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return 0;
|
| + return get_interface<PPB_CompositionInputEvent>()->GetSegmentNumber(
|
| + pp_resource());
|
| +}
|
| +
|
| +std::pair<uint32_t, uint32_t>
|
| +CompositionInputEvent::GetSegmentAt(uint32_t index) const {
|
| + std::pair<uint32_t, uint32_t> range(0, 0);
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return range;
|
| + get_interface<PPB_CompositionInputEvent>()->GetSegmentAt(pp_resource(),
|
| + index,
|
| + &range.first,
|
| + &range.second);
|
| + return range;
|
| +}
|
| +
|
| +int32_t CompositionInputEvent::GetTargetSegment() const {
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return 0;
|
| + return get_interface<PPB_CompositionInputEvent>()->GetTargetSegment(
|
| + pp_resource());
|
| +}
|
| +
|
| +std::pair<uint32_t, uint32_t> CompositionInputEvent::GetSelection() const {
|
| + std::pair<uint32_t, uint32_t> range(0, 0);
|
| + if (!has_interface<PPB_CompositionInputEvent>())
|
| + return range;
|
| + get_interface<PPB_CompositionInputEvent>()->GetSelection(pp_resource(),
|
| + &range.first,
|
| + &range.second);
|
| + return range;
|
| +}
|
| +
|
| +
|
| } // namespace pp
|
|
|