Closed
Bug 159016
Opened 22 years ago
Closed 22 years ago
[OSX] Inline IME does not work in composer and text area when the Flash 6 plugin is running
Categories
(Core :: Internationalization, defect, P3)
Tracking
()
VERIFIED
FIXED
mozilla1.0.2
People
(Reporter: teruko, Assigned: peterl-bugs)
References
Details
(4 keywords, Whiteboard: [adt2 RTM] [ETA 09/18] [PL2:NA])
Attachments
(4 files, 7 obsolete files)
9.13 KB,
application/x-shockwave-flash
|
Details | |
384 bytes,
text/html
|
Details | |
4.00 KB,
patch
|
ftang
:
review+
sfraser_bugs
:
superreview+
jesup
:
approval+
|
Details | Diff | Splinter Review |
1.66 KB,
patch
|
bnesse
:
review+
sfraser_bugs
:
superreview+
jesup
:
approval+
|
Details | Diff | Splinter Review |
Inline IME does not work in composer and text area on Mac OS X 10.1.5 Japanese.
Steps of reproduce
1. Launch Netscape
2. Open the composer
3. Change the Japanese Kotoeri and change to Hiragana mode
4. Start typing Japanese
Actual result
Whatever you type Japanese Hiragana, it will display in the different dialog.
Expected result
When you type Hiragana in Composer, the hiragana will be displayed whenver you type.
The similar thing happens in browser.
1. Go to http://www.yahoo.co.jp
2. Type Japanese characters in Text submit area
Hiragana characters will be displayed in the different dialog.
Tested 7-23 Mac OS X branch build. We could reproduce this on Mac OSX 10.1.5.
I cannot reproduce this on Mac OSX 10.1.3 and 10.1.4.
Reporter | ||
Comment 1•22 years ago
|
||
This is very bad. I nominate this to nsbeta1.
Keywords: nsbeta1
QA Contact: ruixu → teruko
Summary: Inline IME does not work in composer and text area → Inline IME does not work in composer and text area
Reporter | ||
Comment 2•22 years ago
|
||
I tested this with 70PR1. This is not a regression from 70PR1.
However, this is a regression from Netscape 6.23.
Keywords: regression
Here is a related bug http://bugscape.mcom.com/show_bug.cgi?id=15298 with more
test results. They might be caused by the same reason.
Keywords: intl
Updated•22 years ago
|
Comment 5•22 years ago
|
||
this is my higest priority today.
Whiteboard: [adt2 RTM] [ETA Needed] → [adt1 RTM] [ETA Needed]
Updated•22 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 6•22 years ago
|
||
Frank and I found out this is not a regression from 6.23. This is related to
Shockwave Flash veriosn.
Comment 7•22 years ago
|
||
ok. I got more info.
I am sure it is realted to flash.
1. if there are no html page which contains flash display on the screen
(regardless it is in the same page or not), then we don't have this problem on
html nor composer
2. if there are a flash display in some window, composer or that page will have
problem . once you close that window which have flash, then the composer won't
have the problem. I guess flash suck some IME or keyboard event from us once it
display on the screen. The problem happen on teruko and my machine which the
about plugins say the Flash version is 6.0r29. In the same machine we can
reproduce this on n6.2.3. We cannot reproduce this on roy's machine and his
flash is 6.0r58
I need some help for who know Mac plugin to help me
Comment 8•22 years ago
|
||
does the netscape build include the flash or it come from some where else?
Is flash include with MacOS X 10.1.5 ?
Comment 9•22 years ago
|
||
Comment 10•22 years ago
|
||
Comment 11•22 years ago
|
||
if the last page is not display on the screen and no other page have flash
display on the screen, you won's see the problem in this page.
Updated•22 years ago
|
Attachment #92619 -
Attachment mime type: text/plain → text/html
Comment 12•22 years ago
|
||
CC'ing Peter L. and Brian Nesse
Comment 13•22 years ago
|
||
How do I see the failure using that last testcase on OSX? Regular typing works
in my branch build. How do I test Japanese? I'm using 10.1.5 w/ Flash 6.0r40
Since 6.2.3 seems to show the same problem and you can't reproduce in 10.1.3 or
10.1.4, this sounds like a new problem in 10.1.5 rather than a regression.
Where did you get Flash 6.0 r58 ??? I thought the LATEST version JUST released
is 6.0r40 which ALSO has upgrades to support scriptability. Does the latest
version of Flash solve this problem? If it does, maybe we should ship that
version which fixes scripting on OSX?
Comment 14•22 years ago
|
||
sorry typo in my previous comment:
>We cannot reproduce this on roy's machine and his flash is 6.0r58
shuld be
>We cannot reproduce this on roy's machine and his flash is 5.0r58 (it is 5r58
not 6r58)
arun said on MacOS X , netscape does not ship with flash plugin. The flash
plugin is installed in a system global place by macromedia and probably also
apple. Probably Apple's MacOS X 10.1.5 update install the Flash 6r29 which have
this problem
I update the Flash from macroedia download site directly the Flash 6 r40. It
also have the problem.
Comment 15•22 years ago
|
||
Lowering to adt2 on behalf of the adt.
Whiteboard: [adt1 RTM] [ETA Needed] → [adt2 RTM] [ETA Needed]
Comment 16•22 years ago
|
||
this will have bad side effect which impact plugin or embedding application
which call UseInputWindow with tsmdoc and true. Maybe we should do NOTHING in
Gecko and let macromedia release a new Flash which take out that UseInputWindow
with NULL call (I don't mind they call with their own tsmdoc, but call it will
NULL is not their job)
Updated•22 years ago
|
Keywords: regression
Summary: Inline IME does not work in composer and text area → [OSX] Inline IME does not work in composer and text area when the Flash 6 plugin is running
Comment 17•22 years ago
|
||
don't like that patch
here is some option to solve this issue
1. do nothing in gecko and ask macromedia to change the Flash
2. take my hacky patch- this is NOT good for embedding client which need to call
UseInputWindow(myTSMDocument, true);
3. put UseInputWindow(mTSMDocument,false) after NewTSMDocument and register a
observer. on mac after we initial the pluginl, call the observers. The observers
call UseInputWindow(mTSMDocument,false) . This is different from my previous
patch because it only call UseInputWindow with the TSMDocument we care. The
patch will be about 50-100 lines of code. I will try it today. However, it won't
solve the problem for embedding client because if some widget expect to work as
inline, Flash will turn the inline off after it initial. And if some widget
expect to work as user input window, flash will turn the inline ON after it
shutdown.
I really think the right way to solve it is to solve it from the root. Which
mean ask for a new Flash
Comment 18•22 years ago
|
||
no luck to work around this issue inside Gecko.
I add some code to call UseInputWindow(myTSMDoc, false) but it does not fix the
problem for us.
Comment 19•22 years ago
|
||
this is the patch that try to work around the problem by callign UseInputMethod
back to false after every time a plugin is initialized. However, it does not
work. not sure why
Comment 20•22 years ago
|
||
this is really caused by a bug in FLASH instead of buggy code in mozilla.
Waiting for Macromedia to fix it in a new version of FLASH
Comment 21•22 years ago
|
||
This happens on Mac OS 10.2 Juguar also.
Comment 22•22 years ago
|
||
Is there any update from Macromedia on this bug?
Comment 23•22 years ago
|
||
Update from Macromedia:
"I am working with the team in order to get you an update in terms of the 2 hot
items."
Comment 24•22 years ago
|
||
since this is really a macromedia issue and aruner is working on the
communication with them, reassign this bug to aruner. Aruner, please let me know
if they still need any info from me.
Chris Saari- please talk to aruner directly about this issue. Macromedia have
already recognize all the inforamation we send to them is valid and know
whatever we know. Since aruner is already tracking the progress with them and
they don't need any more technical now, I will leave it to aruner to do the rest.
Assignee: ftang → aruner
Status: ASSIGNED → NEW
Comment 25•22 years ago
|
||
we might find a work around if Macromedia can tell me all the places that they
call ::UseInputWindow , they mention NPP_Initialization and NPP_Shutdown but I
believe that they call it in more places than that two.
Comment 26•22 years ago
|
||
I suggest we take
http://bugzilla.mozilla.org/attachment.cgi?id=92795&action=view to fix the problem
Comment 27•22 years ago
|
||
Comment on attachment 92991 [details] [diff] [review]
patch does not work
Should we maybe do this after calls to SetWindow?
Comment 28•22 years ago
|
||
Comment on attachment 92795 [details] [diff] [review]
Best patch for now untill the plugin vendor fix their plugin.
oops, last comment was for wrong attachment. Should we maybe do
::UseInputWindow after each call to SetWindow or do we have to do it once per
plugin instance or just once after general plugin initilization like is done
here? Is there any harm in making this call multiple times?
Comment 29•22 years ago
|
||
according to the problem plugin vendor, they call the ::UseInputWindow(NULL,
TRUE) in the NPP_Initialize, that is why I put that call here. (AFter the
NPP_Initialize)
A better fix will be detect which plugin is called in the NPP_Initialize and
only call the ::UseInputWindow(NULL, FALSE) after the known problem plugin.
PeterL, what do you think ?
Comment 30•22 years ago
|
||
according to the embedding customer I work with, he said
>We have one instance where it is called with true.
>
>In that instance, the TSMDocumentID we have to associate is nil. Looking >at
the code this is a failsafe. Normally, the code will have a class >member that
indicates the document ID, and will call UseInputWindow with >this doc ID and
false for the floating window parameter.
Therefore, I think it is ok to use
http://bugzilla.mozilla.org/attachment.cgi?id=92795&action=view
untill the plugin vendor to fix it.
Updated•22 years ago
|
Attachment #92795 -
Attachment description: hacky patch to undo flahs' ill UesInputWindow( will NULL call → Best patch for now untill the plugin vendor fix their plugin.
Comment 31•22 years ago
|
||
Comment on attachment 92991 [details] [diff] [review]
patch does not work
this does not work anyway
Attachment #92991 -
Attachment is obsolete: true
Comment 32•22 years ago
|
||
Frank, what do you think of this patch to just do this hack for Flash 6 on
Carbon? Hopefully Flash >6 and other plugins will not have this problem. :)
Comment 33•22 years ago
|
||
PeterL's last patch won't compiled because of lacking a n in the strcasecmp
function I also add additional code in the widget so in case some other code
call the UseInputWindow(null, true), we turn a particular tsmdocument to false
Attachment #92795 -
Attachment is obsolete: true
Attachment #96891 -
Attachment is obsolete: true
Comment 34•22 years ago
|
||
Comment on attachment 96941 [details] [diff] [review]
additional code to bullet proff
r=peterl
Attachment #96941 -
Flags: review+
Comment 35•22 years ago
|
||
+#if defined(XP_MAC) && TARGET_CARBON
Do you want it to apply to MachO builds too (photon/chimera/...)?
Comment 36•22 years ago
|
||
>Do you want it to apply to MachO builds too (photon/chimera/...)?
we should, chimera have the same problem. Try the test cases above.
Comment 37•22 years ago
|
||
sfraser said
XP_MAC is "undefined" in chimera
TARGET_CARBON is "defined" in chimera
Comment 38•22 years ago
|
||
CFM builds (MachV):
XP_MAC is 1
XP_MACOSX is 0
TARGET_CARBON is 1 for OS X build, 0 for OS 9 buld
MachO builds (Chimera etc)
XP_MAC is 0
XP_MACOSX is 1
TARGET_CARBON is 1
Comment 39•22 years ago
|
||
sfraser: does this mean we should change
+#if defined(XP_MAC) && TARGET_CARBON
to
+#if TARGET_CARBON
and then it will work ?
Comment 40•22 years ago
|
||
I talked to peterl on the phone about this.
I'd prefer:
#if defined(XP_MAC) || defined(XP_MACOSX)
#if TARGET_CARBON
...
#endif
#endif
Comment 41•22 years ago
|
||
Comment on attachment 96941 [details] [diff] [review]
additional code to bullet proff
I'm afraid with this patch it may make it difficult for Macromedia to fix this
in the future. I think we've got to be even more specific to the version of
Flash.
Attachment #96941 -
Flags: review+
Comment 42•22 years ago
|
||
Here's a new patch that includes the MACOSX defines and also limits this hack
to Flash 6 versions equal or older than r47.
Attachment #92619 -
Attachment is obsolete: true
Attachment #96941 -
Attachment is obsolete: true
Comment 43•22 years ago
|
||
+ if (pluginTag->mDescription &&
+ !PL_strncasecmp(pluginTag->mDescription, "Shockwave Flash 6.0", 19) &&
+ pluginTag->mDescription[21] <= '4')
This makes us very sensitive to the format of their "description" string. What
if they change that at some point? Is there any way to get a numeric version
number from the plugin?
Comment 44•22 years ago
|
||
Comment on attachment 98603 [details] [diff] [review]
new patch with OSX defines and limited Flash 6 versions
should
#include <TextServices.h>
inside
#if defined(XP_MAC) && TARGET_CARBON
?
or
inside
#if defined(XP_MAC) && TARGET_CARBON
change that then we shoudl carry a r=
Attachment #98603 -
Flags: review+
Comment 45•22 years ago
|
||
Comment on attachment 98603 [details] [diff] [review]
new patch with OSX defines and limited Flash 6 versions
take out the r=,
what will happen to r5, r6 , r7, r8, r9, r50 ?
I think these release above should also apply the hack, right ?
Attachment #98603 -
Flags: review+
Comment 46•22 years ago
|
||
Comment on attachment 98603 [details] [diff] [review]
new patch with OSX defines and limited Flash 6 versions
what will happen if they have r100?
Comment 47•22 years ago
|
||
Macromedia says this will be fixed in a future version. I'm working on the fix
so taking bug back --->peterl
Comment 48•22 years ago
|
||
Attachment #98603 -
Attachment is obsolete: true
Comment 49•22 years ago
|
||
-#if defined(XP_MAC) && TARGET_CARBON
+#if defined(XP_MAC) || defined(XP_MACOSX)
+#if TARGET_CARBON
#include "nsIClassicPluginFactory.h"
+#include <TextServices.h>
#endif
Aren't you missing an #endif here?
Comment 50•22 years ago
|
||
There already were two #endifs. I'm also removing the duplicate #include:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp#177
177 #if defined(XP_MAC) && TARGET_CARBON
178 #include "nsIClassicPluginFactory.h"
179 #endif
180
181 #if defined(XP_MAC) && TARGET_CARBON
182 #include "nsIClassicPluginFactory.h"
183 #endif
Status: NEW → ASSIGNED
Comment 51•22 years ago
|
||
Comment on attachment 98815 [details] [diff] [review]
patch v.2
r=ftang
Attachment #98815 -
Flags: review+
Comment 52•22 years ago
|
||
sfraser: can you sr= it ?
Comment 53•22 years ago
|
||
Comment on attachment 98815 [details] [diff] [review]
patch v.2
sr=sfraser
Attachment #98815 -
Flags: superreview+
Comment 54•22 years ago
|
||
Patch in trunk, marking FIXED:
/cvsroot/mozilla/modules/plugin/base/src/nsPluginHostImpl.cpp,v
new revision: 1.430; previous revision: 1.429
/cvsroot/mozilla/widget/src/mac/nsMacEventHandler.cpp,v
new revision: 1.150; previous revision: 1.149
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Keywords: edt1.0.2,
mozilla1.0.2
Resolution: --- → FIXED
Comment 55•22 years ago
|
||
teruko: can you pls verify this as fixed in tomorrow's trunk builds? thanks!
Keywords: approval
Whiteboard: [adt2 RTM] [9/12][PL2:NA] → [adt2 RTM] [ETA 09/16][PL2:NA]
Comment 56•22 years ago
|
||
This is blocking bug 150046 [META] Mac Embedding Blockers. Hence, I am gonna
mark this bug as Topembed+.
Comment 57•22 years ago
|
||
This turned the Mach-O tinderbox red last night. I backed out the Mach-O changes
because I wasn't sure how to resolve this error:
/usr/bin/ld: nsPluginHostImpl.o illegal reference to symbol: _UseInputWindow
defined in indirectly referenced dynamic library
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
make[4]: *** [libgkplugin.dylib] Error 1
I've got a Mach-O build now and could try a suggested fix otherwise I'll open a
new bug.
Comment 58•22 years ago
|
||
I got some help from cls and these makefile changes are needed to build this
patch on Mach-O.
Comment 59•22 years ago
|
||
Attachment #99106 -
Attachment is obsolete: true
Comment 60•22 years ago
|
||
Comment on attachment 99107 [details] [diff] [review]
real makefile changes (ignore last)
sr=sfraser
Attachment #99107 -
Flags: superreview+
Comment 61•22 years ago
|
||
Comment on attachment 99107 [details] [diff] [review]
real makefile changes (ignore last)
r=bnesse.
Attachment #99107 -
Flags: review+
Reporter | ||
Comment 62•22 years ago
|
||
I tested this in 2002-09-13-09 Netscape and PPEmbed Trunk build on Mac OS X
10.1.3, 10.1.5, and 10.2.
I did following tests.
Netscape build
Case 1
Steps of reproduce
1. Launch Netscape
2. Go to http://www.macromedia.co.jp
3. Open the composer
4. Change the Japanese Kotoeri and change to Hiragana mode
5. Start typing Japanese
Actual result
When you type Hiragana in Composer, the hiragana will be displayed whenver you
type. Inline IME works fine.
Case 2
1. Launch Netscape
2. Go to http://www.macromedia.co.jp
3. Open new Navigator window
4. Go to http://www.google.co.jp
4. In the text area, change the Japanese Kotoeri and change to Hiragana mode
5. Start typing Japanese
Actual result
When you type Hiragana in Composer, the hiragana will be displayed whenver you
type. Inline IME works fine.
Case 3
1. Launch Netscape
2. Go to http://www.yahoo.co.jp
3. Make sure Flash is running
4. In text area, change the Japanese Kotoeri and change to Hiragana mode
5. Start typing Japanese
Actual result
When you type Hiragana in Composer, the hiragana will be displayed whenver you
type. Inline IME works fine.
PPEmbed build
I did the Case 2 and 3. Inline IME works fine.
I just realized the performance of IME would slow down if Flash was running
(especially in Mac OS 10.2).
I verified this as fixed in 2002-09-13-09 Netscape and PPEmbed Trunk build on
Mac OS X 10.1.3, 10.1.5, and 10.2.
Comment 64•22 years ago
|
||
edt1.0.2+ (per verbal from saari) approval for landing on the 1.0 branch,
pending Drivers' approval. Pls land time asap, the replace "mozilla1.0.2+" with
"fixed1.0.2". thanks!
Comment 65•22 years ago
|
||
Comment on attachment 99107 [details] [diff] [review]
real makefile changes (ignore last)
Talked with Simon,
+EXTRA_DSO_LIBS should be:
+EXTRA_DSO_LDOPTS
Mach-O changes are now in the trunk.
Comment 66•22 years ago
|
||
Comment on attachment 98815 [details] [diff] [review]
patch v.2
a=rjesup@wgate.com for 1.0 branch. Please change mozilla1.0.2+ to fixed1.0.2
when checked in
Attachment #98815 -
Flags: approval+
Updated•22 years ago
|
Attachment #99107 -
Flags: approval+
Updated•22 years ago
|
Comment 68•22 years ago
|
||
teruko: can you pls verify this as fixed on the 1.0 branch, then replace
"fixed1.0.2" with "verified1.0.2". thanks!
Reporter | ||
Comment 69•22 years ago
|
||
I verified this in 2002-09-19-05 Netscape and PPEmbed 1.0.2 branch builds on
MacOS X 10.1.3, 10.1.5, and 10.2.
Keywords: fixed1.0.2 → verified1.0.2
Updated•14 years ago
|
Keywords: inputmethod
You need to log in
before you can comment on or make changes to this bug.
Description
•