WebKit:
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 May 2008 17:41:37 +0000 (17:41 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 May 2008 17:41:37 +0000 (17:41 +0000)
commitb14425c0a4d07b533c70b8c73352208ca1ba07ad
treee9291eccc3760716b057e42214caf7a91c16b288
parentfc65d79c46bc1c0c39a35f90c24a9cf91cfa4fce
WebKit:

2008-05-09  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins

        Add nptextinput.h as a public header.

        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-05-12  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView start]):
        Get the plug-in text input vtable pointer.

        (-[WebBaseNetscapePluginView stop]):
        Set the plug-in text input vtable pointer to 0.

        (-[WebBaseNetscapePluginView inputContext]):
        Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.

        (-[WebBaseNetscapePluginView hasMarkedText]):
        (-[WebBaseNetscapePluginView insertText:]):
        (-[WebBaseNetscapePluginView markedRange]):
        (-[WebBaseNetscapePluginView selectedRange]):
        (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
        (-[WebBaseNetscapePluginView unmarkText]):
        (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
        (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
        (-[WebBaseNetscapePluginView characterIndexForPoint:]):
        (-[WebBaseNetscapePluginView doCommandBySelector:]):
        (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
        (-[WebBaseNetscapePluginView conversationIdentifier]):
        Implement NSTextInput and call into the plug-in text input vtable.

        (browserTextInputFuncs):
        New method which returns the browser input vtable.

        (-[WebBaseNetscapePluginView getVariable:value:]):
        Support getting the browser input vtable pointer.

        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
        (WebNetscapePluginEventHandlerCocoa::keyDown):
        (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
        If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
        it means that the event should be passed on to the input manager.

        * Plugins/npapi.mm:
        (NPN_MarkedTextAbandoned):
        (NPN_MarkedTextSelectionChanged):
        Add implementations of browser input method methods.

        * Plugins/nptextinput.h: Added.
        Add file with new text input API.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@33049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/ChangeLog
WebKit/WebKit.xcodeproj/project.pbxproj
WebKit/mac/ChangeLog
WebKit/mac/Plugins/WebBaseNetscapePluginView.h
WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h
WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm
WebKit/mac/Plugins/npapi.mm
WebKit/mac/Plugins/nptextinput.h [new file with mode: 0644]