この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記の検索結果

もずはっく日記からの検索結果

発見した件数: 89件 | 再検索

タイトル 最終更新日
内容(最初の段落のみ)
WindowsのIME API、TSFのTS_E_NOLAYOUT問題とは 2018年02月17日
私がよく愚痴っているTSFの TS_E_NOLAYOUT 問題について、少しまとめておこうかと思ったので、このエントリを書くことにしました。WindowsネイティブアプリのIMEとの連携部分の自前実装をするという、今どきはあまりやらない事に関する話なので、興味のない方には読む価値はまったく無いかと思います。 (続く……)
Bug-org 1242895 [non-e10s][TSF] Forcibly committing composition during TSF locking document fails to commit composition and makes "hidden" composition string 2016年01月30日
e10s モードを無効にしている状態で、 TSF で未確定文字列が存在している時に、Javascriptからエディタの内容が変更され、その未確定文字列が強制確定されると、 TIP は実際には確定しておらず、「見えない」未確定文字列が存在し、それへの入力が続いているというバグです。 (続く……)
Bug-org 1242331 [e10s][TSF] When typing fast, IME composition may be committed unexpectedly and input won't cause text input after that 2016年02月18日
e10s モードで、 TSF モードでWebコンテンツに入力していると、子プロセスがビジーな場合、入力中の未確定文字列が強制的に確定され、再度入力しなければいけなくなるというバグです。 (続く……)
Bug-org 1237216 [TSF] Unnecessary composition events are raised when typing Korean characters 2016年01月30日
ハングル用のMS-IMEは、 TSF モードでは CompositionEvent がおかしな発火のされ方になるというバグです。具体的には二文字目を入力開始すると一文字目が確定されるのですが、その間に、 compositionstart と compositionend がワンセットで発火されます。 (続く……)
Bug-org 1237582 [TSF][e10s] Browser hangs after bug1234422 with (hidden) Microsoft New Changjie or New Quick 2016年01月30日
繁体中国語(台湾・香港)用に以前はあった、MS New ChangJieと、MS New Quickという TIP が、 Windows 10でもレジストリを先にいじっておくと 、言語の追加で選択可能になるそうなのですが、これをNightlyで使ってみると、NightlyのプロセスがCPUリソースを食い続け、半分フリーズしたような状態になるというバグです。 (続く……)
Bug-org 1208977 [TSF] [e10s] Candidate window position is sometimes at the top-left of screen at using MS-IME for Japanese on Win7 2016年01月30日
e10s モードかつ、 TSF モードの場合、MS-IMEをWindows 7で使っていると、時々候補ウインドウが画面の左上に表示されるというバグです。 (続く……)
Bug-org 1234422 [TSF] Google Japanese Input sometimes fails to update its candidate window at converting the composition string 2015年12月31日
Windows 8以降ではGoogle日本語入力は TSF の TIP としてインストールされますが、Firefox 43以降のTSFモードでは変換候補ウインドウが出ている状態で変換キー(スペースキー)を押しても未確定文字列は更新されても、候補ウインドウ内の表示が更新されなかったり、候補ウインドウ自体が表示されないことがあるというバグです。 (続く……)
Bug-org 1179632 [e10s][TSF] Remaining composition in child process causes hitting assertion aCompositionEvent->message == (2200) in child process 2015年12月30日
e10s モードで、コンテンツ内のテキストエディタに未確定文字列がある際に、ウインドウを×ボタンで閉じるとクラッシュするというバグです。 (続く……)
Bug-org 1213589 [TSF] Converting Hangul to Hanja with MS Korean IME converts unexpected range of fixed string 2015年12月30日
TSF モードがデフォルトで有効になってから、韓国向けMS-IMEを、韓国のリッチテキストエディタを利用したいくつかのWebサイトで漢字や記号への変換が期待通りの範囲を行ってくれなくなったというバグです。一ヶ月以上、これにかかりっきりに近い状態の、実に難産なバグ修正でした。 (続く……)
Bug-org 1224454 [e10s][IMM][TSF] IMMHandler and TSFTextStore should clean up itself when focused widget being destroyed before NOTIFY_IME_OF_BLUR 2015年11月21日
e10s モードで、Webコンテンツのエディタがフォーカスを持っている時にウインドウの×ボタンでウインドウを閉じてFirefoxを終了させると、 NOTIFY_IME_OF_BLUR が子プロセスの IMEContentObserver から送信されても、親プロセスの TabParent::GetWidget() が既に nullptr を返してしまうため、適切な nsWindow に通知することができないことが発覚しました。このため、IMEのイベントハンドラである TSFTextStore や IMMHandler 自身のインスタンスやそれが掴んでいる様々なオブジェクトが未解放のままプロセスが終了してしまい、メモリリークを起こしていたというバグです。 (続く……)
Bug-org 1184890 [e10s][GTK][TSF] cannot input composing string on comment of articles on Facebook 2015年10月31日
Bug-org 1189396 と同じ話の e10s モード版です。 (続く……)
Bug-org 1213811 [TSF] Bug 1208043 can be reproduced with TavultesoftKeyman90 or TavultesoftKeyman80 2015年10月31日
Bug-org 1208043で報告されているバグ が、TavultesoftKeyman90とTavultesoftKeyman80というテキストサービスを利用した TIP でも再現するというバグです。 (続く……)
Bug-org 1208043 [TSF] MS-IME for Korean inserts composition string to the end of previous textnode when you type text at start of <p> 2015年10月31日
contenteditable で Enter キーを押した時の動作には2種類あって、 <div contenteditable>foo</div> というエディタ上では <br> 要素が挿入し、キャレットのその後ろに移動させますが、 <div contenteditable> <p> foo </p> </div> というエディタで( <p> 要素内にキャレットがある時に)は新しい <p> 要素を生成して、その内部にキャレットを移動させます。このバグは後者の場合に、 Enter キーを押した直後、つまり空の <p> 要素でハングル文字を入力しようとすると、ひとつ前の <p> 要素の最後に入力されてしまうというバグです。 (続く……)
Bug-org 1187583 [TSF][e10s] MS Office IME 2010's candidate window sometimes appears and flickers at top-left corner 2015年09月29日
Bug-org 1204523でMS-IME向けに修正した のと同じ症状がMicrosoft Office IME 2010でも候補ウインドウの表示時に発生しているというバグです。 (続く……)
Bug-org 1204519 [TSF] Get rid of the hack for TS_E_NOLAYOUT issue with Google Japanese Input 2015年09月28日
Google日本語入力が先日、アップデートされ、 TS_E_NOLAYOUT 絡みのバグに対応してくれました。 (続く……)
Bug-org 1204523 [e10s][TSF] The suggest window position of Japanese MS-IME for Win8.1 and Win10 is sometimes positioned top-left of the screen 2015年09月28日
Windows 8以降のMS-IMEには未確定文字列の変換候補を変換前から提案してくるサジェスト機能がありますが、このウインドウが e10s モードでは時々、画面の左上に一瞬だけ表示されることがあるというバグです。 (続く……)
Bug-org 1200980 [e10s][TSF] Candidate window is sometimes not positioned properly because IMEContentObserver sometimes fails to notify IME of selection change 2015年09月17日
twitter.comでリプライを入力する時にATOKのナビバーや、様々な TIP のサジェストウインドウや、候補ウインドウがキャレット位置等の適当な位置に表示されないというバグです。 (続く……)
Bug-org 1199997 [TSF] Selected text isn't replaced with composition string when you use MS Pinyin, MS Wubi, MS Changjie and MS Quick on Win8.1 and Win10 2015年09月17日
TSF で、Win8.1やWin10に付属しているMS製のTIP、MS Pinyin、MS Wubi、MS Changjie、MS Quickでは、未確定文字列を入力しても、選択文字列が置換されず、選択範囲の先頭に未確定文字列が挿入されるというバグです。 (続く……)
Bug-org 1199224 [TSF] MS Korean IME doesn't replace composition string properly after ASCII character 2015年08月30日
TSF モードで、ハングルの TIP を利用している時に、半角記号の後ろでハングル文字を入力しようとすると最初のハングル文字の合成中に、最初に入力した文字が確定され、その後、二文字目以降が合成された未確定文字がその前に挿入されるというバグです。 (続く……)
Bug-org 1189396 [TSF] Some IME's composition string is committed at starting to input composition string in google.com 2015年08月27日
TSF モードで(google.co.jpではなく) google.comのトップページで未確定文字列を入力しだすと、google.comは検索結果をインクリメンタルサーチし始めると同時にエディタが上部へとそのまま移動します。この際に一文字目の未確定文字列が確定されてしまうというバグです。 (続く……)
Bug-org 555642 [IMM32][TSF] Shouldn't paint caret during composition when the caret is in selected clause 2015年08月26日
e10s 関係の作業でかなりストレス貯まってきたのと、レビュアが夏期休暇をとってて通常の仕事がしづらいので、気晴らしを兼ねて古いバグの修正を行うことにしました。一つ目はこのバグです。 Bug-org 553975の修正 によって、未確定文字列の背景色が設定されていても、キャレットが常に表示されるようになりました。しかし、これはWindowsでは不自然な描画で、特に、IMEがキャレットを未確定文字列内に表示するように指示していない時に表示するのは間違っていました。 (続く……)
Bug-org 1187579 [e10s][TSF] Enable TSF mode in e10s mode 2015年08月09日
まだ、内部的には問題が残っているものの、日常利用のレベルでは e10s モードでも、 TSF モードが問題無く利用できるレベルになったので、デフォルトで有効にしようというバグです。 (続く……)
Bug-org 1050644 [TSF][e10s] Candidate window of TIPs don't work correctly 2015年08月09日
e10s モードで、 TSF モードを有効にしていると、様々な TIP で候補ウインドウ位置やサジェストウインドウ位置がおかしくなるというバグでしたが、これまでの修正により、確認されている問題はWindows 8以降のMicrosoft謹製の中国語(簡体字・繁体字共)のTIPで全くウインドウが表示されないというバグだけになりましたのでその修正をこのバグで行いました。 (続く……)
Bug-org 1187566 [TSF] TSFTextStore::Content should compute mMinTextModifiedOffset only with the latest composition string and original composition string 2015年08月09日
Google日本語入力の安定版では候補ウインドウ位置を決める時に ITextStoreACP::GetTextExt() が失敗すると、ウインドウの左下に表示してしまうことがあるバグがあります。 TS_E_NOLAYOUT 問題が修正されているWindows 10でも発生しますので、Google日本語入力自体のバグのようです( 開発版 では修正されているとのことですが、時間がとれなくて、まだ未確認)。 (続く……)
Bug-org 1187351 [e10s][TSF] TSFTextStore::GetTextExt() shouldn't return TS_E_NOLAYOUT after notifying TSF of layout change 2015年07月26日
TSFTextStore は NOTIFY_IME_OF_POSITION_CHANGE を受け取った際に、 ITextStoreACPSink::OnLayoutChange() を呼び出すことがありますが、この際に、キャッシュしているコンテンツのレイアウトが不確定な最初の文字のオフセットをリセットしていませんでした。そのため、 TSF や TIP からすると、レイアウトの計算が終わったと通知が来たのに、 ITextStoreACP::GetTextExt() を呼び出してみたら、まだだって言われる、という状況に陥っていました。 (続く……)
Bug-org 1187367 [e10s][TSF] TSFTextStore shouldn't destroy native caret until notifying TSF of layout change 2015年07月26日
TSF -awareなアプリで動作しているATOKは、何故かネイティブキャレットの位置を参考にサジェストウインドウ位置を決めています。これに対応するため、 ITextStoreACP::GetTextExt() が呼び出された時に、その位置にネイティブキャレットを作成し、ドキュメントのロックが解除された時にキャレットを破棄していました。 (続く……)
Bug-org 1186014 [TSF] Rename nsTextStore to mozilla::widget::TSFTextStore 2015年07月25日
nsTextStore を mozilla::widget::TSFTextStore に改名し、ヘッダファイル内の名前空間の直接指定を削除してしまおうというバグです。 (続く……)
Bug-org 1185316 [e10s][TSF][GTK?] TabChild should notify TabParent of receiving WidgetCompositionEvent or WidgetSelectionEvent after dispatching it 2015年07月26日
Bug-org 1176954の修正 では、子プロセスがイベントを受信したら、親プロセスにそれを通知することで親プロセスがIMEに各種通知を発行するタイミングを調整するようにしましたが、この状態で通知すると、それにIMEが反応してコンテンツを取得しに来た場合、一番最後に送信したイベントの結果がまだ、 TabParent 内のキャッシュに反映されていない可能性があることに気付きました。 (続く……)
Bug-org 1184986 [e10s][TSF] ContentCache shouldn't notify IME of layout change until all sending events are handled 2015年07月26日
Bug-org 1176954の修正 で、IMEへの通知を一部、子プロセスへの送信中のイベントが残っている場合には延期するようにしましたが、 NOTIFY_IME_OF_POSITION_CHANGE に関してもそれが必要というバグです。 (続く……)
Bug-org 1176955 [e10s][TSF] Kakutei-Undo of Japanese IME doesn't work 2015年07月19日
e10s モードでは、 TSF モード時にATOK等の実装している確定アンドゥが動かないというバグです。 (続く……)
Bug-org 1176950 [e10s][TSF] nsTextStore shouldn't abandon locked content cache before dispatching events because they may be handled asynchronously in e10s mode 2015年07月19日
nsTextStore は、ドキュメントがロックされている間はコンテンツがJavascriptによって更新されることを防ぐため、コンテンツを予めキャッシュした上で、ドキュメントがアンロックされるまで、イベントを送信しないようにしています。 (続く……)
Bug-org 1176954 [e10s][TSF][GTK?] TabParent shouldn't notify IME until all sending events are handled 2015年07月19日
e10s モードでは、子プロセスがフォーカスを持つ場合、chromeイベントでハンドリングしたネイティブのIMEイベントが、非同期で子プロセスに処理されることになります。ここで困るのが TSF やGTKでIMEに選択範囲の変化等を通知するタイミングです。これまでは、子プロセスから通知が来た場合に即、TSFやGTKに通知を行っていましたが、子プロセスの処理が遅れている場合、TSFやGTKからするといくつか前の状態が通知されるというおかしなことになります。 (続く……)
Bug-org 1181714 [TSF] crash in _invalid_parameter_noinfo with Microsoft Office Korean IME 2015年07月19日
TSF モードを有効にしたFirefox 40 Betaでは、韓国のユーザから大量のクラッシュレポートが送信されてきていました。そのスタックトレースを見ると、フォーカスを失う際にTIP内部でクラッシュしています。ロードされているDLLからすると、MicrosoftのOffice IMEのハングル版のようでした。また、バグにコメントしてくれた中国語版のユーザもやはりOffice IMEでクラッシュするということでした。 (続く……)
Bug-org 1053053 [e10s][TSF] Typed text appears in unfocused textarea when using IME 2015年07月07日
e10s を有効にしていると、contentプロセス内のエディタにフォーカスを移し、その後、chromeプロセス内のエディタにフォーカスを移動させてもcontentプロセス内のエディタに未確定文字列が表示されるというバグです。 (続く……)
Bug-org 1172219 [TSF][e10s] nsTextStore should put off to send notifications to TSF if it's dispatching composition events but hasn't received update composition notification 2015年06月19日
今のところ実害を発見していないバグですが、 nsTextStore はイベントの発火後に、そのハンドリングが終了したという通知が来ているか確認せずに TSF に様々な通知を返しているため、 e10s の動作によっては、TSFや TIP がコンテンツの内容を問い合わせて来ても、想定していない結果が返されて、挙動がおかしくなったり、そもそも動作しなくなったりする可能性があります。 (続く……)
Bug-org 1171847 [TSF] logging at nsTextStore::Initialize() is buggy 2015年06月06日
TSF の動作ログを取ろうとすると、 nsTextStore::Initialize() のログで、 sCreateNativeCaretForATOK= の後ろが常に壊れた値が記録されていたバグです。イージーミスでした。 printf() 形式の入力の検査はコンパイラにやって欲しいですね……
Bug-org 478029 [MSFT-7923] [MSFT-10204] [TSF] enable TSF support in default prefs on Vista or later 2015年04月18日
ついに、 TSF モードがリリース版でもデフォルトで有効になることになりました。 (続く……)
Bug-org 492394 [TSF] Implement nsTextStore::GetACPFromPoint 2015年04月18日
今のところ、 ITextStoreACP::GetACPFromPoint() を活用している TIP を見つけていないような状態でしたので、今まで実装していませんでしたが、これから、 TSF をFirefoxで標準機能とした場合には、新しいTIPがこの機能を利用した時に、Firefoxが実装していなければ利用を断念するかもしれません。そんな状況はよくないので、今回、ある程度実装を行いました。 (続く……)
Bug-org 1137539 [TSF] Workaround for TS_E_NOLAYOUT bug of <= Windows 8.1 may need to check different TIP name for different language Windows 2015年04月17日
TSF には、 ITextStoreACP::GetTextExt() から、 TS_E_NOLAYOUT を返しても、 TIP には E_FAIL が返されてしまうので、レイアウトの再計算の終了を待つことができないというバグがあります(このバグはWindows 10では修正されている模様)。 (続く……)
Bug-org 1049488 [TSF] Enable TSF mode in default settings in Aurora 2015年03月26日
現在、 TSF モードはNightlyでのみデフォルトで有効化されていますが、これをAuroraでも有効にし、来週リリース予定のFirefox Developer Editionのユーザからのフィードバックも受けようというものです。 (続く……)
Bug-org 1061604 [TSF] Needs hack for wrong candidate window position of Google Japanese Input 2015年03月26日
Google日本語入力を TSF モードで使うと、候補ウインドウ位置が一瞬だけ変な位置に表示されてばたついたりするというバグです。MSDN SubscriptionがWindows 8系が出る前にライセンスが切れてしまっていたので、日本語版以外のWindowsでの挙動が確認できず、修正が遅れていましたが、ようやく修正を行いました。 (続く……)
Bug-org 1081993 [TSF] Candidate window position is always the top-left of browser window or just disappeared if IMM IME is active in TSF mode (~ATOK 2010, Japanist) 2014年10月30日
TSFモードで、IMMのIME (ATOK 2010以前やJapanist、Windows 7かVistaでGoogle日本語入力)を利用していると、候補ウインドウがキャレット位置に正しく表示されず、ウインドウの左上に表示されたり、全く表示されなかったりする、というバグです。 Bug-org 975383の修正 によるregressionです。 (続く……)
Bug-org 1066594 [TSF]Microsoft IME 2010 remove typed text by converting character 2014年09月25日
MS-IMEで、変換中に新たに文字を追加入力すると、変換している部分が確定され、追加の文字が未確定文字列として挿入されます。しかし、MS-IMEは非常にトリッキーにこれを実現しています。まず最初に、未確定文字列に新しい文字を追加し、変換済みの文節のみを部分的に確定します。そして、新しい文字だけ未確定のまま、その状態が継続します。この複雑な動作がGeckoではうまく処理できていなかったのを Bug-org 1057192で修正した のですが、その修正が中途半端で、未確定文字列の後ろに確定済みの文字が既にある場合は、追加入力した一文字が、キャレット直後の一文字を上書きしてしまう、というバグが残ってしまっていました。 (続く……)
Bug-org 1059680 [e10s][TSF][IMM32] IME should be able to handle mouse events fired in content process 2014年09月25日
Bug-org 826657の修正 により、フォーカスを持ったエディタ内の文字がクリックされた際に、widgetはその通知を受け取ることができるようになり、IMEがそのイベントを消費した場合には、content側ではそのイベントを無視するようになりました。 (続く……)
Bug-org 1062053 [TSF] nsTextStore should use StaticRefPtr 2014年09月25日
nsTextStore には、プロセス起動中にTSFのオブジェクトをずっと参照し続ける、staticなメンバが多数あります。今までは、これらの参照カウントを、マクロを活用して操作していましたが、これを分かりやすいコードに書き換えられる StaticRefPtr が新たに作成されているので、全てこれで置き換えよう、というバグです。 (続く……)
Bug-org 1061810 [TSF] MS-IME 2012 (Win 8.1) sometimes fails to move candidate window to proper position 2014年09月25日
Firefoxの検索ボックスで、MS-IMEを利用していると、時々発生するバグです。 (続く……)
Bug-org 1052343 [TSF] crash in msctf.dll@0x2efce 2014年09月25日
Bug-org 1053048のテストケース の <textarea> 要素で Enter キーを TSF モードで押すと、長時間起動していたPCでは、ランダムにクラッシュするというバグを見つけました。 (続く……)
Bug-org 826657 [TSF] Implement ITfMouseTrackerACP 2014年08月30日
TSF では、 TIP は、マウスのイベントを受け取りたい場合、 ITextStore に、マウスイベントのリスナを登録する必要があります。このバグはそれに、対応しようというバグです。 (続く……)
Bug-org 1057192 [TSF] Microsoft IME puts twice the first character of new composition when you start new composition when there is old composition 2014年08月30日
MS-IMEを使って、変換文字列がすでにある状態で、新しい文字を入力すると、変換済みの文字列が確定され、新しい未確定文字列として文字が入力されるのですが、 TSF モードでは、この最初に入力した文字ごと確定され、未確定文字列にも含まれるため、文字がダブってしまう、というバグです。 (続く……)
Bug-org 1055342 [TSF] Rename CurrentContent of nsTextStore to LockedContent 2014年08月28日
TSF の実装である nsTextStore のプチリファクタリングです。 (続く……)
タイトル 最終更新日
内容(最初の段落のみ)
Bug-org 1052286 [TSF] nsTextStore::SetInputContext() should not ignore "password" state 2014年08月26日
nsTextStore の一部のコードが、編集可能なコンテンツがフォーカスを持っているか否かを判定すべきところで、IMEが有効であるかどうかをチェックしている、というバグです。 (続く……)
Bug-org 1054108 [TSF] Implement hack for FreeCJ and Easy Changjei 2014年08月26日
TSFモードでは、台湾のFree ChangJie 2010と、Easy Changjeiの候補ウインドウが表示されない、という、TIP側のバグがあります。Free ChangeJie 2010は、 Bug-org 1050041 に、Easy Changjeiは、 Bug-org 1050050 にTech Evangelismバグとして登録していますが、どちらのベンダにコンタクトをとっても、全く反応がない上に、台湾のNightlyユーザには常用に問題があるレベルのバグですので、取り急ぎ、ハックを入れることにしました。 (続く……)
Bug-org 1050124 [TSF] Support TSATTRID_Text_VerticalWriting 2014年08月14日
TSF では、エディタ全体や、キャレット位置の書式をかなり詳細に TIP が取得できるようになっています。このうち、日本語TIP開発者の方々から、Geckoでは縦書きかどうかを問い合わせると、エラーになり、これは他のTSF対応アプリでは発生していないので、トラブルの元になりそう、と警告を受けていたので今回、対応することにしました。 (続く……)
Bug-org 1051689 [TSF] Should call RecordCompositionUpdateAction() when adding a pending action and the last compositionupdate is incomplete 2014年08月14日
Bug-org 1049768の修正 のフォローアップです。ドキュメントロック中に TIP から適切に未確定文字列の範囲を示すレンジ付きで ITfContextOwnerCompositionSink::OnUpdateComposition() が呼び出されないままに、 compositionstart や compositionend をキュー登録しなければいけなくなった場合、不完全な compositionupdate がキューに残ることになります。 (続く……)
Bug-org 1050703 [TSF] Cursor doesn't move when input an Enter with IME in Contenteditable = true field 2014年08月14日
TSF モードで、HTMLエディタの行頭に文字を入力しようとすると、前の行末に入力される、というバグです。 (続く……)
Bug-org 1049768 [TSF] Glitches in Chinese IME with intl.tsf.enable=true 2014年08月12日
台湾のサードパーティー製のIME、 Free ChangJie IME と、 Easy Changjei では、一文字確定するためにスペースキーを押す度に、スペースと、確定された文字が入力される、というバグです。 (続く……)
Bug-org 1037328 [TSF] Enable TSF mode in default settings in Nightly build 2014年08月06日
Nightlyビルドでのみ、TSFモードを有効化しようというバグです。 (続く……)
Bug-org 496360 [TSF] Severe performance problems pasting into contenteditable editor or designMode editor when TSF is enabled 2014年07月31日
TSFを有効にしていると、膨大な行数の貼り付けのパフォーマンスが異様に悪くなる、というバグです。バグIDを見れば分かるように、かなり長い間修正できなかったバグですが、ここ最近の IMEContentObserver 周りや、様々な他の修正により、この修正がようやく可能になりましたが、それでも強引な最適化を行って解決しています。 (続く……)
Bug-org 995893 TEST-UNEXPECTED-FAIL | leakcheck | 8 bytes leaked (nsTArray_base) with intl.tsf.enable=true 2014年07月24日
TSF モードを有効にしていると、テストでメモリリークが検出される、というバグです。 (続く……)
Bug-org 1037330 [TSF] Add new pref intl.tsf.force_enable and make intl.tsf.enable ignored on XP or WinServer 2k3 2014年07月24日
Windows XPでの TSF のサポートにはコストがかかる上、OS自体のサポートも終わっているので、 intl.tsf.enable を true にしていても、Windows XPと、Windows Server 2003上では無視し、一部、まだ利用しているかもしれないタブレットPCユーザ等のために、 intl.tsf.force_enable を true に変更すれば、強制的に有効にできるようにしよう、というバグです。 (続く……)
Bug-org 962920 [TSF] Should commit composition at entering modal state 2014年07月24日
TSF モードで、未確定文字列がある時に、ファイルを開くダイアログ等を表示すると、未確定文字列が確定されず、ダイアログ上で何も入力できない、というバグです。 (続く……)
Bug-org 961704 [TSF] Add an option for nsTextStateManager can ignore text change and selection change which are caused by composition 2014年03月08日
TSFは、IMEによるコンテンツの変更をTSFに通知してはいけないという仕様になっているのを、 nsTextStore 内でフラグを用いて管理していましたが、未確定文字列の変更等によって発生するDOMイベントからエディタのコンテンツが変更されたことか、IMEの操作による変更なのかの見分けがつかないという問題がありました。 (続く……)
Bug-org 964623 [TSF] nsTextStore::FlushPendingActions() shouldn't call OnLayouChange() and OnSelectionChange() 2014年02月06日
Bug-org 790516の修正 時に、ドキュメントロック中に ITextStoreACPSink::OnLayoutChange() 、 ITextStoreACPSink::OnSelectionChange() 等の呼び出しが必要になった場合、ドキュメントの更新が完了してから呼び出しを行うようにしていましたが、この時に、 nsTextStore 自体はロック状態のまま、これらを呼び出していたため、TIPが ITextStoreACP::RequestLock() を呼び出しても、 nsTextStore はロック済みであると返していたため、実質、TIPは何もできなくなっている、というバグです。 (続く……)
Bug-org 964626 [TSF] Fix some nits of logging code in nsTextStore 2014年02月06日
TSFモードのログ が一部、レベル指定を間違っていたり、引数の値をログに残していなかったため、1や2では有用なログにならないことがあったというバグです。 (続く……)
Bug-org 961703 [TSF] Avoid making TIP confused by odd behavior 2014年01月29日
弊社のm_katoの 検証 によると、TSFの仕様上は問題無いはずなんですが、未確定文字列がある時に、選択範囲やエディタのコンテンツの内容の変更をIMEに通知すると、MS-IME、Google日本語入力、ATOKで、それ以降、動作しなくなるということでした。 (続く……)
Bug-org 544779 [TSF] Remove WM_USER_TSF_TEXTCHANGE 2014年01月29日
初期設計のTSF対応では、 nsTextStateManager が、エディタ内のコンテンツの変更通知を受け取ると、そのまま、同期的に nsTextStore に、それを通知していました。しかし、変更通知が発行されている間に新たに未確定文字列の生成や、変更、確定を行うことができないため、 WM_USER_TSF_TEXTCHANGE というメッセージを定義し、これをキューにポストしておくことで、「安全」になってから nsTextStore が何でもできるようになっていました。 (続く……)
Bug-org 959999 [TSF] Clean up nsTextStore::Initialize() 2014年01月29日
プロセスが起動された初期段階で、 nsTextStore::Initialize() が呼び出され、TSFに必要なグローバルオブジェクトを取得、生成、初期化していくのですが、参照カウンタが絡んでいる関係で、途中でエラーが発生した場合のクリーンナップ処理等が非常に汚くなっていました。 (続く……)
Bug-org 835262 [TSF] Should keep composition when we are deactivated 2014年01月29日
TSFモードでも、未確定文字列が、Firefox自体がディアクティブになった際に、強制確定すべきではない、というバグです。 (続く……)
Bug-org 951966 [TSF] IMEs implemented with IMM don't work well in TSF mode 2014年01月29日
Bug-org 840409の修正 で、デスクトップ版のGeckoは、 IMEHandler クラスが、 nsIMM32Handler クラスと、 nsTextStore クラスのメソッドを、TSFモードかどうかを判定して、必要最小限のパスでTSFモードが動作するようにしましたが、この際に、IMM-IMEであっても、TSFモードでは、 nsIMM32Handler クラスを利用しないように修正してしまいました。 (続く……)
Bug-org 848672 [TSF] Redesign focus and IME state handling of nsTextStore 2013年03月28日
以前、 widget::IMEHandler を整備することで、IMMモードと、TSFモードのコードの完全分離を図りましたが、IMEの有効・無効状態が、 nsTextStore のコードでは不十分で、エディタにフォーカスが無い場合に無効化することができなかったので、IMMのコンテキストでの操作を続けていました。このバグの修正目標は、これをやめ、 nsTextStore のみで無効化できるようにするところにありました。 (続く……)
Bug-org 852024 [TSF] MetroWidget hasn't implemented GetIMEUpdatePreference() 2013年03月27日
Metroアプリ版のFirefoxでは、IMMは利用できないので、TSFモードで動作しますが、Metro版用の nsIWidget の実装である、 MetroWidget が nsIWidget::GetIMEUpdatePreference() の実装を忘れていたため、IMEを利用して日本語を入力しようとすると、常に、フォーカスをあわせた際のキャレット位置に文字が挿入される、という状態になっていました。 (続く……)
Bug-org 807241 [TSF] Should use ITfMessagePump and ITfKeystrokeMgr 2013年03月27日
WindowsのIMEのAPIセットが、IMMからTSFへの移行するにあたり、TSFにネイティブ対応していないアプリのために、IMM-TSFのエミュレーション機能である、CUASと呼ばれるシステムが、通常のアプリの場合は動作しています。これは、メッセージをフックし、様々な処理を自動で行い、必要があればIMMのメッセージを発行したりしています。 (続く……)
Bug-org 790516 [TSF] Should dispatch DOM events when document is unlocked 2013年03月27日
TSFのドキュメントロックが、仕様通りに動かないのでデザインを大幅に見直しました。 (続く……)
Bug-org 825167 [TSF] "ASSERTION: nsTDependentString must wrap only null-terminated strings: 'mData[mLength] == 0'" when composition string becomes 0 length 2013年01月02日
ITextStore::SetText() や、 ITextStore::InsertTextAtSelection() で指定されたUnicode文字列を取り扱う際に、 nsDependentString に、長さを指定して利用していたのですが、この警告がATOK利用時に発生していることに気付きました。 (続く……)
Bug-org 819404 [TSF] Some methods of nsTextStore checks read lock, however, MSDN documents they don't allow to work without read-ONLY lock 2012年12月18日
MSDNでTSFの ITextStoreACP のメソッドのリファレンスを読んでいると、 GetSelection() 等のコンテンツ情報取得系のメソッドは、Readロックではなく、Read- Only ロックをかけた上でアクセスするように書かれていることに気付きました。 (続く……)
Bug-org 789881 [TSF] TSF isn't available when you open bookmark panel at first time 2012年11月04日
ブックマークパネルを★ボタンをクリックして表示すると、その上にあるエディタが自動でフォーカスを持つのですが、起動してから初めてこのパネルを開いた時に、TSFモードであっても、IMMでIMEが処理されてしまう、というバグです。 (続く……)
Bug-org 805766 [TSF] TSF isn't available on designMode editor 2012年11月04日
WindowsでTSFモードで動かしていても、 designMode で編集可能なドキュメントではTSFではなく、IMMでIMEが動いてしまうというバグです。 (続く……)
Bug-org 790561 [TSF] Separate InsertTextAtSelection() 2012年09月18日
nsTextStore::InsertTextAtSelection() は、 ITextStoreACP::InsertTextAtSelection() の実装なのですが、 nsTextStore::SetText() から利用されてもいて、TIPから呼ばれたのか、内部で呼んだのか、ログでは見分けがつきにくかったり、そもそも、フラグの値によって、動作が大きく変わるメソッドなので、大きめの実装になってしまっているので、分割し、内部での呼び出しで、インターフェースメソッドは呼ばないように変更した方が良いという修正です。
Bug-org 789703 [TSF] nsTextStore::InsertTextAtSelect() should allow readonly lock if dwFlags == TF_IAS_QUERYONLY 2012年09月18日
ITextStoreACP::InsertTextAtSelection() には、パラメータのフラグによって、テキストを選択位置に挿入することで、選択がどのようになるのか調べるだけの機能があります。MSDNには、このメソッドに関しては、read、write、どちらのロックが必要なのかは明言していないのですが、Geckoは今まで、フラグの内容にかかわらず、read-writeロックが行われているか確認していました。しかし、 TSFのログを詳細にとれるようにしてみると 、ATOKとの通信時に、ATOKは、readロックのみでアクセスしてきていることに気付きました。それによる実害は不明ですが、writeロックが必要な理由も特に無いので、クエリのみの場合はreadロックのみで動作するように修正しています。
Bug-org 544773 [TSF] TSF related code should output logs on release build 2012年09月14日
TSFのログも、リリースビルドで取れるようになりました。詳しくは、 modestの記事 を参照してください。
Bug-org 725233 [TSF] Remove text event hack for the nsEditor's hack which will be removed by bug 622247 2012年02月22日
TSFのコードが、 compositionstart 直後に、空の文字列を未確定文字として送信したい場合に、 nsEditor 側の実装の問題から、一度空では無い文字列(スペース一文字)を送信してから、空の文字列をあらため送信して、選択済みの文字列を削除するというハックを行っていたのですが、それを削除するバグです。 (続く……)
Bug-org 544769 [TSF] Redesign nsTextStore and TSF related stuff 2010年02月08日
そろそろ他の作業が落ち着いてきたのでTSFの作業を再開しようと考えています。 (続く……)
Bug 6576 [TSF] Korean Input System (IME2002) で未確定文字の先頭にキャレットが表示される (末尾に表示されるべき) 2009年05月16日
Geckoでは一文字以上の文字幅で表示するキャレットの表示に対応していないのですが、韓国語のTIPがそれを指定してきた時にその範囲の先頭にキャレットを表示してしまう、というバグです。 (続く……)
Bug 6597 [TSF] Korean Input System (IME2002) で確定した文字と未確定の文字が表示上区別できない 2009年05月16日
TSFではTIPの指定するスタイルで未確定文字列をレンダリングするようになりましたが、これの弊害によって韓国語のTIPが使いにくくなっていたというバグです。 (続く……)
Bug 6529 [TSF] Natural Input で注目文節がどこなのかわからない 2009年04月25日
Natural Inputは未確定文字列の各文節の種類を全て「その他」と通知してくるので、各文節のスタイルを種類で分類して表示するGeckoでは全ての文節が同じように表示されてしまうというバグです。 (続く……)
Bug 6514 [TSF] MS Natural Input 2002では、フォーカス移動時に勝手にIMEがONになる 2009年02月27日
TSF関連のバグでひとつ忘れていました。 (続く……)
Bug 6509 [TSF] 変換候補ウィンドウがウィンドウの移動に追従して移動しない 2009年02月24日
要約通りのバグです。 (続く……)
Bug 6505 [TSF][WinXP] 未確定文字列が表示されない 2009年02月24日
TSFのサポートパッチの投入を今日までこの日記で紹介していなかったのはこのバグのためです。XPに付属のMS-IME 2002では未確定文字列が表示されない、というバグがありました。そのため、テストすらまともにできない、という状況下だったためです(そんな中でもバグをXPで探し続けてくれたmasaさんに感謝です)。 (続く……)
TSF対応間近 2008年08月26日
私が担当なわけではないため、まだ確定的かどうかは不透明ですが、Gecko1.9.1でTSF対応が間に合うかもしれません。 (続く……)

発見した件数: 89件 | 再検索