My favorites | Sign in
Project Home Downloads Wiki Issues
New issue   Search
for
  Advanced search   Search tips
Issue 30905: [10.5] Implement support for the IME portion of the Cocoa NPAPI event spec
23 people starred this issue and may be notified of changes. Back to list
 
Reported by project member thakis@chromium.org, Dec 20, 2009
Chrome Version       : 4.0.249.30

What steps will reproduce the problem?
1. Go to http://www.givechrome.com
2. Click through to the "To" page
3. Try to enter the name of someone how has an Umlaut in their name (hit 
opt-u o to get "ö" for example)

What is the expected result?

"ö" should be inserted into the text field.

What happens instead?

Some other random character is inserted.

Stuart, I have a pretty good idea how IME works for normal web content, 
but I have no idea how it works for plugins. If you can fill me in on that, 
maybe I can fix this myself.
Comment 1 by thakis@chromium.org, Dec 20, 2009
cc'ing some more keyboard folks
Cc: js...@chromium.org su...@chromium.org jer...@chromium.org a...@chromium.org hb...@chromium.org
Comment 2 by su...@chromium.org, Dec 20, 2009
See also issue 19926. Not sure if they are the same story.
Comment 3 by viettrun...@chromium.org, Dec 20, 2009
(No comment was entered for this change.)
Cc: viettrun...@chromium.org
Comment 4 by darin@chromium.org, Dec 24, 2009
(No comment was entered for this change.)
Status: Available
Labels: Mstone-5 ReleaseBlock-Stable
Comment 5 by stuartmorgan@chromium.org, Dec 30, 2009
I don't know much about how in works under the Carbon event model (Flash 10.0); 
https://bugzilla.mozilla.org/show_bug.cgi?id=357670 has a bunch of discussion that may or may not be 
useful.

In the Cocoa event model (Flash 10.1), it's supposed to work as described at the end of 
<https://wiki.mozilla.org/Mac:NPAPI_Event_Models>; we just haven't wired that up yet.

My suggestion would be to start with the Cocoa event model version, since that's the future, and we can see 
how important the Carbon version is based on when Flash 10.1 comes out and how many other legacy plugins 
really need IME support.
Comment 6 by stuartmorgan@chromium.org, Dec 30, 2009
(No comment was entered for this change.)
Summary: IME text input doesn't work in plugins
Comment 7 by stuartmorgan@chromium.org, Jan 5, 2010
I've heard WebKit has a BSD-licenced IME input window for the Cocoa event plugin case; we should strongly 
consider using that, both to avoid pointless duplication of work and to give users a consistent interface between 
browsers.
Comment 8 by stuartmorgan@chromium.org, Mar 5, 2010
 Issue 37558  has been merged into this issue.
Comment 9 by stuartmorgan@chromium.org, Mar 5, 2010
Gecko is close to having something that we can hopefully leverage that supports both 
10.5 and 10.6, building on the code mentioned in comment 7.
Comment 10 by jam@chromium.org, Mar 9, 2010
Stuart: is it possible to do this for M5?
Owner: stuartmo...@chromium.org
Comment 11 by stuartmorgan@chromium.org, Mar 9, 2010
It depends a lot on when the Mozilla code that we want to share is finished and working; I gather that getting 
something that works on both 10.5 and 10.6 and doesn't use SPI (as Mac WebKit apparently does) has been pretty 
difficult, and we don't want to duplicate that effort.
Comment 12 by mikesm...@chromium.org, Mar 16, 2010
(No comment was entered for this change.)
Labels: -ReleaseBlock-Stable ReleaseBlock-NextBeta
Comment 13 by mikesm...@chromium.org, Mar 16, 2010
(No comment was entered for this change.)
Labels: -Mstone-5 -ReleaseBlock-NextBeta Mstone-X
Comment 14 by stuartmorgan@chromium.org, Mar 31, 2010
(No comment was entered for this change.)
Labels: -Mstone-X Mstone-6
Comment 15 by stuartmorgan@chromium.org, Apr 15, 2010
 Issue 41614  has been merged into this issue.
Comment 16 by stuartmorgan@chromium.org, Apr 16, 2010
(No comment was entered for this change.)
Status: Assigned
Comment 17 by stuartmorgan@chromium.org, Jun 12, 2010
 Issue 46425  has been merged into this issue.
Comment 18 by stuartmorgan@chromium.org, Jun 15, 2010
Unfortunately, it looks like using the Mozilla code[1] won't be particularly straightforward:
- On 10.6, there's a method overridden in the NSView corresponding to the plugin; we don't have a plugin NSView, and the view is in the browser process, whereas the key handling is in the plugin process. Also, we need work with NSEvents, which the plugin process doesn't have (although we could probably construct fake ones from the structures we do have).
- On 10.5, it involves the existing Gecko TSM code, so it's more extensive than what shows up in the patch. We need EventRefs, although again we might be able to fake them (by creating fake NSEvents, and asking for their eventRef).

1: https://bug512886.bugzilla.mozilla.org/attachment.cgi?id=450261
Comment 19 by mikesm...@chromium.org, Jun 18, 2010
Does this work in Safari? As this is difficult, suggest pushing to Mstone:7
Labels: -Mstone-6 Mstone-7
Comment 20 by stuartmorgan@chromium.org, Jun 18, 2010
Safari has an implementation of this spec, yes, and Firefox does now as well.
Comment 21 by su...@chromium.org, Jun 18, 2010
Things like "opt-u o" work in Safari, but inputting CJK characters with input methods does not work. I just tested it on Snow Leopard with Safari 5.0 (6533.16) and Flash 10.0 r45. So I think it also depends on the Flash version.
Comment 22 by stuartmorgan@chromium.org, Jun 21, 2010
See comment 5; Flash 10.0 and 10.1 use different event models with completely different IME handling. It's unlikely we'll ever support IME for the deprecated Carbon event model.
Comment 23 by mikesm...@chromium.org, Aug 18, 2010
(No comment was entered for this change.)
Labels: -Mstone-7 Mstone-8
Comment 24 by stuartmorgan@chromium.org, Oct 7, 2010
I'm afraid I have to punt this one more time :( It should definitely happen for M9.
Labels: -Mstone-8 Mstone-9
Comment 25 by stuartmorgan@chromium.org, Oct 14, 2010
Pulling back to M8 since I have a patch for 10.6 under review.
Labels: -Mstone-9 Mstone-8
Comment 26 by bugdroid1@gmail.com, Oct 15, 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=62820

------------------------------------------------------------------------
r62820 | stuartmorgan@chromium.org | Fri Oct 15 16:31:55 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/test/test_render_view_host.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/plugin_messages_internal.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/test/test_render_view_host.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/third_party/mozilla/README.chromium?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_view.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/render_view.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/plugin/webplugin_delegate_stub.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_mac.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/plugin/webplugin_delegate_stub.h?r1=62820&r2=62819&pathrev=62820
 A http://src.chromium.org/viewvc/chrome/trunk/src/third_party/mozilla/ComplexTextInputPanel.mm?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/plugins/webplugin.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/plugin/webplugin_proxy.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/render_messages_internal.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/plugin/webplugin_proxy.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/webplugin_delegate_proxy.cc?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/plugins/webplugin_delegate_impl.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/webplugin_delegate_proxy.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/plugins/webplugin_delegate_impl_mac.mm?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view.h?r1=62820&r2=62819&pathrev=62820
 A http://src.chromium.org/viewvc/chrome/trunk/src/third_party/mozilla/ComplexTextInputPanel.h?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/chrome_browser.gypi?r1=62820&r2=62819&pathrev=62820
 M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/renderer_host/render_widget_host_view_mac.mm?r1=62820&r2=62819&pathrev=62820

Implement IME for Mac plugins using the Cocoa event model on 10.6

Based on the implementation of Gecko's Cocoa event model IME handling on 64-bit, but modified to fit Chrome's cross-process event handling.

Because NSTextInputContext is 10.6+, 10.5 will need a cempletely different implementation.

BUG=30905
TEST=Plugins implementing the updated NPAPI Cocoa IME spec should handle IME on 10.6.

Review URL: http://codereview.chromium.org/3808001
------------------------------------------------------------------------
Comment 27 by bugdroid1@gmail.com, Oct 16, 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=62864

------------------------------------------------------------------------
r62864 | stuartmorgan@chromium.org | Sat Oct 16 10:59:25 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/test/test_render_view_host.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/common/plugin_messages_internal.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/test/test_render_view_host.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/third_party/mozilla/README.chromium?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/renderer/render_view.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/renderer/render_view.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/plugin/webplugin_delegate_stub.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host_view_mac.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/plugin/webplugin_delegate_stub.h?r1=62864&r2=62863&pathrev=62864
 A http://src.chromium.org/viewvc/chrome/branches/552/src/third_party/mozilla/ComplexTextInputPanel.mm?r1=62864&r2=62863&pathrev=62864 (from /trunk/src/third_party/mozilla/ComplexTextInputPanel.mm revision 62820)
 M http://src.chromium.org/viewvc/chrome/branches/552/src/webkit/glue/plugins/webplugin.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/plugin/webplugin_proxy.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/common/render_messages_internal.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/plugin/webplugin_proxy.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/renderer/webplugin_delegate_proxy.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/webkit/glue/plugins/webplugin_delegate_impl.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/renderer/webplugin_delegate_proxy.h?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/webkit/glue/plugins/webplugin_delegate_impl_mac.mm?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host_view.h?r1=62864&r2=62863&pathrev=62864
 A http://src.chromium.org/viewvc/chrome/branches/552/src/third_party/mozilla/ComplexTextInputPanel.h?r1=62864&r2=62863&pathrev=62864 (from /trunk/src/third_party/mozilla/ComplexTextInputPanel.h revision 62820)
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/chrome_browser.gypi?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host_view_mac.mm?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host.cc?r1=62864&r2=62863&pathrev=62864
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host.h?r1=62864&r2=62863&pathrev=62864

Merge 62820 - Implement IME for Mac plugins using the Cocoa event model on 10.6

Based on the implementation of Gecko's Cocoa event model IME handling on 64-bit, but modified to fit Chrome's cross-process event handling.

Because NSTextInputContext is 10.6+, 10.5 will need a cempletely different implementation.

BUG=30905
TEST=Plugins implementing the updated NPAPI Cocoa IME spec should handle IME on 10.6.

Review URL: http://codereview.chromium.org/3808001

TBR=stuartmorgan@chromium.org
Review URL: http://codereview.chromium.org/3782012
------------------------------------------------------------------------
Comment 28 by stuartmorgan@chromium.org, Oct 18, 2010
10.6 support merged to M8; pushing the remaining work (10.5) out.

Note that no plugin that I know of currently implements the updated Cocoa IME spec, so plugins still won't support IME until they are updated. Since both Chrome and Firefox are shortly going to support it, hopefully that will start to happen soon.
Summary: IME text input doesn't work in plugins [10.5]
Labels: -Mstone-8 Mstone-10
Comment 29 by bugdroid1@gmail.com, Oct 18, 2010
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=62931

------------------------------------------------------------------------
r62931 | stuartmorgan@chromium.org | Mon Oct 18 09:21:48 PDT 2010

Changed paths:
 M http://src.chromium.org/viewvc/chrome/branches/552/src/chrome/browser/renderer_host/render_widget_host_view_mac.mm?r1=62931&r2=62930&pathrev=62931

Merge 62930 - Fix one-time version check for Mac plugin IME

One-time checks work better when you remember that you've done them.

BUG=30905
TEST=None

Review URL: http://codereview.chromium.org/3779011

TBR=stuartmorgan@chromium.org
Review URL: http://codereview.chromium.org/3770016
------------------------------------------------------------------------
Comment 30 by stuartmorgan@chromium.org, Nov 29, 2010
 Issue 62284  has been merged into this issue.
Comment 31 by kerz@chromium.org, Dec 9, 2010
P2 bugs with an owner that are not marked as started are being automatically moved to mstone:11.
Labels: -Mstone-10 MovedFrom-10 Mstone-11
Comment 32 by stuartmorgan@chromium.org, Dec 15, 2010
(No comment was entered for this change.)
Labels: -Internals-Plugins Feature-Plugins
Comment 33 by stuartmorgan@chromium.org, Feb 2, 2011
Gecko did some swizzling to support 10.5 without using TSM directly, in order to implement the updated spec (which requires information TSM doesn't provide); we have have to go that route as well.
Comment 34 by stuartmorgan@chromium.org, Feb 14, 2011
Pushing 10.5 support to M12. Since no plugin currently implements the updated IME spec, there's not much time pressure on getting the 10.5 part of this implemented.
Labels: -MovedFrom-10 -Mstone-11 Mstone-12
Comment 35 by stuartmorgan@chromium.org, Apr 1, 2011
I'm not actively working on this; if someone wants to pick it up, I can provide pointers for comment 33.
Status: Available
Owner: ---
Comment 36 by jshin@chromium.org, Apr 7, 2011
Stuart, I was about to dupe  bug 72810  to this one before realizing that it's only for 10.5
However, as I wrote in  bug 53643  comment 3 and it's reported in  bug 72810 , IME does not work on Mac 10.6, either. 

Is it due to a recent change to sandbox flash plugin? 
Cc: jam@chromium.org cpu%chromium.org@gtempaccount.com
Labels: Feature-Flash Feature-I18N
Comment 37 by jshin@chromium.org, Apr 7, 2011
(No comment was entered for this change.)
Blocking: 53643
Comment 38 by stuartmorgan@chromium.org, Apr 7, 2011
> However, as [...] reported in  bug 72810 , IME does not work on Mac 10.6, either.

No, as reported in  bug 72810 , IME doesn't work *in Flash* on Mac 10.6. Comment 2 in that bug clearly explains why, and continues to be true. If you want to discuss that in more detail, please use that bug.

This bug is tracking Chome-side support for the Cocoa IME spec on 10.5, and has nothing to do with Flash specifically.
Cc: -jam@chromium.org -cpu%chromium.org@gtempaccount.com
Labels: -Feature-Flash
Comment 39 by jshin@chromium.org, Apr 7, 2011
(No comment was entered for this change.)
Blocking: -53643
Comment 40 by jshin@chromium.org, Apr 7, 2011
Sorry that I missed your comment 28, which should have made everything clear if I had read it. 

Comment 41 by kaic...@chromium.org, Apr 25, 2011
It looks like Adobe has pushed a change to 10.3 which is now enabled for Chrome Canary on Mac that will enable IME on flash based pages. However, the location of the input options are not immediately below the text (see screenshot, the IME input options show up on the bottom left of the page).

Additionally, if you navigate away from a flash based page and then go back to the original page, typing is disabled. You can try these steps:
1. go to weathernews.jp
2. type a city
3. open a new tab (command+t)
4. command+1 back to the original tab
5. try to type in or delete the city, IME will not register.
weathernewsime.png
337 KB   View   Download
Labels: Hotlist-ConOps Hotlist-ConOps-TopPriority
Comment 42 by stuartmorgan@chromium.org, Apr 25, 2011
Please file two new bugs; this bug was (and is still on 10.5) about implementing support for the Cocoa IME spec, not a catch-all for all possible bugs in the implementation.
Comment 43 by kerz@google.com, Apr 25, 2011
Moving out of M12.
Labels: Mstone13 MovedFrom12
Comment 44 by kerz@google.com, Apr 25, 2011
Moving out of M12.
Labels: -Mstone-12 Mstone-13
Comment 45 by kaic...@chromium.org, May 13, 2011
This is working on weathernews.jp now. Should we mark this fixed?
Comment 46 by stuartmorgan@chromium.org, May 13, 2011
It works on 10.5 even though we haven't implemented any of the Cocoa NPAPI IME support on 10.5? That seems pretty unlikely.
Comment 47 by kaic...@chromium.org, May 13, 2011
I may have misinterpreted the bug--I'm on 10.6.4 and IME just started working today for flash based pages with the push of flash 10.3. We can keep this open for Mac 10.5
Comment 48 by stuartmorgan@chromium.org, May 13, 2011
That's the only reason this bug has been open for quite some time. See comments 28, 34, 36, 38, and 42 (and the bug summary).
Comment 49 by stuartmorgan@chromium.org, May 13, 2011
(No comment was entered for this change.)
Summary: [10.5] Implement support for the IME portion of the Cocoa NPAPI event spec
Comment 50 by kaic...@chromium.org, May 27, 2011
(No comment was entered for this change.)
Labels: -Hotlist-ConOps-TopPriority
Comment 51 by lafo...@chromium.org, Jun 2, 2011
Moving !type=meta|regression and !releaseblocker to next mstone
Labels: -Mstone-13 Mstone-14 MovedFrom13
Comment 52 by lafo...@chromium.org, Jun 2, 2011
(No comment was entered for this change.)
Labels: -MovedFrom12 MovedFrom-12
Comment 53 by kerz@google.com, Jul 27, 2011
Punting out non-critical bugs.  Please move back to 14 if you believe this was done in error.
Labels: -Mstone-14 Mstone-15 MovedFrom-14
Comment 54 by kar...@google.com, Sep 8, 2011
moving non-essential bugs from 15 to 16. Please feel free to move back if this is an error and your bug is a blocker for 15.
Labels: Mstone-16 MovedFrom15 bulkmove
Comment 55 by lafo...@google.com, Oct 24, 2011
(No comment was entered for this change.)
Labels: -Mstone-16 MovedFrom-16 Mstone-17
Comment 56 by kerz@google.com, Dec 19, 2011
Removing milestone on all bugs marked available and targeted at m17.  Please re-triage to a new milestone if desired.
Labels: -Mstone-17 MovedFrom-17
Sign in to add a comment

Powered by Google Project Hosting