Mac OSX
 The nsIMacTextInputEventSink is implemented internally by Gecko as the conduit
 through which Macintosh Text Service Manager events travel into Gecko. Gecko stores the
 nsIMacTextEventSink as the Refcon of the text input event
 
 TO DO:
 1. We need to figure out how to pass in optional parameter
 2. We currently only defined the required in parameters and needed optional in parameters in
    the interface, once we decide to do 1, we should add them. see the comment for each method
    for details
 3. We need to figure out how to return optional return value
 4. We currently only defined the required return value in the interface, once we decide to do 3,
    we should add them. see the comment for each method
 5. We need to define method to pass in kEventTextInputShowhideBottomWindow and
                                        kEventTextInputGetSelectedText

 @status UNDER_REVIEW
[uuid(26f8f0a1-48b3-11d6-a15d-005004832142)]
interface nsIMacTextInputEventSink : nsISupports

Methods

 Entry point for kEventTextInputGetSelectedText events into Gecko for Unicode Document
OSStatus HandleGetSelectedText(out AString selectedText)
 Entry point for kEventTextInputOffsetToPos events into Gecko for Unicode Document
 (need more work later to return optional out parameter point, font, fmfont, pointSize, lineHeight, lineAscent)
OSStatus HandleOffsetToPos(in long offset, out short pointX, out short pointY)
 Entry point for kEventTextInputPosToOffset events into Gecko for Unicode Document
 (need more work later to pass in optional parameter dragging,
                   and to return optional out parameter leadingEdge)
OSStatus HandlePosToOffset(in short currentPointX, in short currentPointY, out long offset, out short regionClass)
 Entry point for kEventTextInputUnicodeForKeyEvent events into Gecko for Unicode Document

OSStatus HandleUnicodeForKeyEvent(in AString text, in short script, in short language, in voidPtr keyboardEvent)
 Entry point for kEventTextInputUpdateActiveInputArea events into Gecko for Unicode Document
 (need more work later to pass in optional in parameter updateRng, clauseRng, pinRng)
OSStatus HandleUpdateActiveInputArea(in AString text, in short script, in short language, in long fixLen, in voidPtr hiliteRng)
 Entry point for kEventTextInputUpdateActiveInputArea events into Gecko for Unicode Document
 (need more work later to pass in optional in parameter updateRng, clauseRng, pinRng)
OSStatus HandleUpdateActiveInputAreaForNonUnicode(in ACString text, in short script, in short language, in long fixLen, in voidPtr hiliteRng)