<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>14120</bug_id>
          
          <creation_ts>2007-06-13 06:28:07 -0700</creation_ts>
          <short_desc>[GDK] Support input methods</short_desc>
          <delta_ts>2008-05-28 11:05:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>16454</dependson>
    
    <dependson>17009</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alp</cc>
    
    <cc>christian</cc>
    
    <cc>gwright</cc>
    
    <cc>sanxiyn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>7702</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-06-13 06:28:07 -0700</bug_when>
    <thetext>The editor client should support Gtk+ input methods for desktop accessibility and mobile device virtual keyboards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63936</commentid>
    <comment_count>1</comment_count>
      <attachid>17849</attachid>
    <who name="George Wright">gwright</who>
    <bug_when>2007-12-11 09:00:53 -0800</bug_when>
    <thetext>Created attachment 17849
Initial implementation of GTK Input methods, including Hildon

This is an initial implementation for GTK input method support in EditorClientGtk. It also includes support for the Hildon input methods from the Maemo platform used on the Nokia internet tablets. These Hildon specific changes are #ifdef&apos;d.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63968</commentid>
    <comment_count>2</comment_count>
      <attachid>17849</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-11 15:36:14 -0800</bug_when>
    <thetext>Comment on attachment 17849
Initial implementation of GTK Input methods, including Hildon

Making these changes as discussed before landing:

Add ChangeLog entry
Make sure resources are unref&apos;d
Don&apos;t re-introduced deprecated &quot;page&quot; terminology</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63975</commentid>
    <comment_count>3</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-11 16:11:47 -0800</bug_when>
    <thetext>Initial patch landed in r28634. Not closing this bug since IM support is not complete yet and there are CCs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63978</commentid>
    <comment_count>4</comment_count>
    <who name="Seo Sanghyeon">sanxiyn</who>
    <bug_when>2007-12-11 18:15:02 -0800</bug_when>
    <thetext>I tested the patch. I need the input method support to input Korean. I used search text field on Korean Wikipedia to test.

1. X Input Method did not work at all.
2. imhangul (GTK+ input module) did change something, but produced garbage characters.
3. I tried to test IPA, but I found no way to select different GTK+ input module. I usually do that by using context menu. (I could switch to imhangul with hot key though.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63979</commentid>
    <comment_count>5</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-11 18:25:15 -0800</bug_when>
    <thetext>That is e(In reply to comment #4)
&gt; I tested the patch. I need the input method support to input Korean. I used
&gt; search text field on Korean Wikipedia to test.
&gt; 
&gt; 1. X Input Method did not work at all.
&gt; 2. imhangul (GTK+ input module) did change something, but produced garbage
&gt; characters.
&gt; 3. I tried to test IPA, but I found no way to select different GTK+ input
&gt; module. I usually do that by using context menu. (I could switch to imhangul
&gt; with hot key though.)
&gt; 

This is exactly what I&apos;d expect. As the ChangeLog entry explained, the patch only implements the infrastructure for IM support, but happens to be sufficient for limited virtual keyboard support on mobile devices already.

The work to go from here to getting complete support is pretty clear. We just need to implement the various IM signals and functions in terms of EditorClientGtk. The one change we&apos;ll need to make outside of EditorClientGtk is to add a new field to PlatformKeyboardEvent.h to pass around the GDK event -- this is the exact same strategy the Mac port uses.

Completing this feature would only take maybe half a day for someone with WebKit/GTK+ experience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64035</commentid>
    <comment_count>6</comment_count>
      <attachid>17849</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-12 09:29:29 -0800</bug_when>
    <thetext>Comment on attachment 17849
Initial implementation of GTK Input methods, including Hildon

Landed in r28634. Clearing the review flag since this bug needs to remain open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64322</commentid>
    <comment_count>7</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-12-15 12:55:18 -0800</bug_when>
    <thetext>Seo,

Here&apos;s a patch to try in the meantime:
  http://bugs.webkit.org/show_bug.cgi?id=16454

Does it improve the input situation at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69318</commentid>
    <comment_count>8</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-02-03 23:30:02 -0800</bug_when>
    <thetext>Commit r29958 fixing Bug #17046 added input method selection support to the context menu. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69764</commentid>
    <comment_count>9</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-02-08 02:47:41 -0800</bug_when>
    <thetext>I have a feeling that with r30090 input methods are starting to become useful for international users.

I have no idea if it&apos;s at a usable state but I can switch between the various methods with the context menu, type in Arabic using SCIM etc.

Seo, are we getting there? Is this usable for you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69900</commentid>
    <comment_count>10</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-02-08 23:10:41 -0800</bug_when>
    <thetext>Tested to verify the current status of Input Method support:

Input methods that match typed letters directly to resulting letters of the target script seem to work, such as Cyrillic.

Input methods that combine input letters to syllables or complex glyphs, such as Japanese, do not work for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69901</commentid>
    <comment_count>11</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-02-09 00:02:17 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Tested to verify the current status of Input Method support:
&gt; 
&gt; Input methods that match typed letters directly to resulting letters of the
&gt; target script seem to work, such as Cyrillic.
&gt; 
&gt; Input methods that combine input letters to syllables or complex glyphs, such
&gt; as Japanese, do not work for me.
&gt; 

Did you apply the hack I suggested in bug #16792 to make Chinese/Japanese text render?

Without it, you&apos;ll have to test with either simple, non-wide text, or actual complex text like Arabic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81766</commentid>
    <comment_count>12</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2008-05-28 11:05:36 -0700</bug_when>
    <thetext>Fix landed in r34176.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17849</attachid>
            <date>2007-12-11 09:00:53 -0800</date>
            <delta_ts>2007-12-12 09:29:29 -0800</delta_ts>
            <desc>Initial implementation of GTK Input methods, including Hildon</desc>
            <filename>hildon-input.patch</filename>
            <type>text/plain</type>
            <size>3862</size>
            <attacher name="George Wright">gwright</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAppbmRleCAw
NjM0ZTI5Li42NTU0NjBlIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwCkBAIC00OCw2ICs0OCwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3N0YXRpYyB2b2lkIGltQ29udGV4dENvbW1pdHRlZChH
dGtJTUNvbnRleHQqIGNvbnRleHQsIGNvbnN0IGNoYXIqIHN0ciwgRWRpdG9yQ2xpZW50KiBjbGll
bnQpCit7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUqIHBhZ2VEYXRhID0gV0VCS0lUX1dFQl9W
SUVXX0dFVF9QUklWQVRFKGNsaWVudC0+bV9wYWdlKTsKKyAgICBGcmFtZSogZnJhbWUgPSBwYWdl
RGF0YS0+Y29yZVBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsK
KyAgICBmcmFtZS0+ZWRpdG9yKCktPmluc2VydFRleHRXaXRob3V0U2VuZGluZ1RleHRFdmVudChz
dHIsIGZhbHNlKTsKK30KKworCiBib29sIEVkaXRvckNsaWVudDo6c2hvdWxkRGVsZXRlUmFuZ2Uo
UmFuZ2UqKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC0zNjAsMTYgKzM2OCwyNCBAQCB2
b2lkIEVkaXRvckNsaWVudDo6aGFuZGxlSW5wdXRNZXRob2RLZXlwcmVzcyhLZXlib2FyZEV2ZW50
KikKIEVkaXRvckNsaWVudDo6RWRpdG9yQ2xpZW50KFdlYktpdFdlYlZpZXcqIHBhZ2UpCiAgICAg
OiBtX3BhZ2UocGFnZSkKIHsKKyAgICBXZWJLaXRXZWJWaWV3UHJpdmF0ZSogcGFnZURhdGEgPSBX
RUJLSVRfV0VCX1ZJRVdfR0VUX1BSSVZBVEUobV9wYWdlKTsKKyAgICBwYWdlRGF0YS0+aW1Db250
ZXh0ID0gZ3RrX2ltX211bHRpY29udGV4dF9uZXcoKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KHBh
Z2VEYXRhLT5pbUNvbnRleHQsICJjb21taXQiLCBHX0NBTExCQUNLKGltQ29udGV4dENvbW1pdHRl
ZCksIHRoaXMpOwogfQogCiB2b2lkIEVkaXRvckNsaWVudDo6dGV4dEZpZWxkRGlkQmVnaW5FZGl0
aW5nKEVsZW1lbnQqKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZ3RrX2ltX2NvbnRl
eHRfZm9jdXNfaW4oV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKG1fcGFnZSktPmltQ29udGV4
dCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50Ojp0ZXh0RmllbGREaWRFbmRFZGl0aW5nKEVsZW1l
bnQqKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgV2ViS2l0V2ViVmlld1ByaXZhdGUq
IHBhZ2VEYXRhID0gV0VCS0lUX1dFQl9WSUVXX0dFVF9QUklWQVRFKG1fcGFnZSk7CisKKyAgICBn
dGtfaW1fY29udGV4dF9mb2N1c19vdXQocGFnZURhdGEtPmltQ29udGV4dCk7CisjaWZkZWYgTUFF
TU9fQ0hBTkdFUworICAgIGhpbGRvbl9ndGtfaW1fY29udGV4dF9oaWRlKHBhZ2VEYXRhLT5pbUNv
bnRleHQpOworI2VuZGlmCiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5U
ZXh0RmllbGQoRWxlbWVudCopCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudEd0ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRHdGsuaAppbmRleCBkMTNkMzNiLi43N2E4NjI2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmgKQEAgLTEwOCw3ICsxMDgsNiBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFdlYkNv
cmU6OlN0cmluZyYsIFdURjo6VmVjdG9yPFdlYkNvcmU6OlN0cmluZz4mIGd1ZXNzZXMpOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogCi0g
ICAgcHJpdmF0ZToKICAgICAgICAgV2ViS2l0V2ViVmlldyogbV9wYWdlOwogICAgIH07CiB9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0
ay9XZWJWaWV3L3dlYmtpdHByaXZhdGUuaAppbmRleCA4NDFiMGVlLi44YWRmZmYzIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsv
V2ViVmlldy93ZWJraXRwcml2YXRlLmgKQEAgLTYxLDYgKzYxLDggQEAgZXh0ZXJuICJDIiB7CiAK
ICAgICAgICAgSGFzaFNldDxHdGtXaWRnZXQqPiBjaGlsZHJlbjsKICAgICAgICAgYm9vbCBlZGl0
YWJsZTsKKworICAgICAgICBHdGtJTUNvbnRleHQqIGltQ29udGV4dDsKICAgICB9OwogCiAgICAg
I2RlZmluZSBXRUJLSVRfV0VCX0ZSQU1FX0dFVF9QUklWQVRFKG9iaikgICAgKEdfVFlQRV9JTlNU
QU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX0ZSQU1FLCBXZWJLaXRXZWJG
cmFtZVByaXZhdGUpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZp
ZXcuY3BwIGIvV2ViS2l0L2d0ay9XZWJWaWV3L3dlYmtpdHdlYnZpZXcuY3BwCmluZGV4IDFlYzc2
ZjguLjlmOWYzZGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViVmlldy93ZWJraXR3ZWJ2aWV3
LmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYlZpZXcvd2Via2l0d2Vidmlldy5jcHAKQEAgLTM5LDYg
KzM5LDcgQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRHdGsuaCIKICNpbmNsdWRlICJDb250ZXh0
TWVudUNsaWVudEd0ay5oIgogI2luY2x1ZGUgIkRyYWdDbGllbnRHdGsuaCIKKyNpbmNsdWRlICJF
ZGl0b3IuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnRHdGsuaCIKICNpbmNsdWRlICJFdmVudEhh
bmRsZXIuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKQEAgLTE3MSw2ICsxNzIsMjIg
QEAgc3RhdGljIGdib29sZWFuIHdlYmtpdF93ZWJfdmlld19idXR0b25fcmVsZWFzZV9ldmVudChH
dGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnQKIHsKICAgICBGcmFtZSogZnJhbWUgPSBjb3JlKHdl
YmtpdF93ZWJfdmlld19nZXRfbWFpbl9mcmFtZShXRUJLSVRfV0VCX1ZJRVcod2lkZ2V0KSkpOwog
CisgICAgV2ViS2l0V2ViVmlldyogcGFnZSA9IFdFQktJVF9XRUJfVklFVyh3aWRnZXQpOworICAg
IFdlYktpdFdlYlZpZXdQcml2YXRlKiBwYWdlRGF0YSA9IFdFQktJVF9XRUJfVklFV19HRVRfUFJJ
VkFURShwYWdlKTsKKyAgICBGcmFtZSogZm9jdXNlZEZyYW1lID0gcGFnZURhdGEtPmNvcmVQYWdl
LT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCk7CisKKyAgICBHZGtXaW5kb3cqIHdp
bmRvdyA9IGd0a193aWRnZXRfZ2V0X3BhcmVudF93aW5kb3cod2lkZ2V0KTsKKworICAgIGlmIChm
b2N1c2VkRnJhbWUtPmVkaXRvcigpLT5jYW5FZGl0KCkpIHsKKyAgICAgICAgZ3RrX2ltX2NvbnRl
eHRfc2V0X2NsaWVudF93aW5kb3cocGFnZURhdGEtPmltQ29udGV4dCwgd2luZG93KTsKKworI2lm
ZGVmIE1BRU1PX0NIQU5HRVMKKyAgICAgICAgaGlsZG9uX2d0a19pbV9jb250ZXh0X2ZpbHRlcl9l
dmVudChwYWdlRGF0YS0+aW1Db250ZXh0LCAoR2RrRXZlbnQqKWV2ZW50KTsKKyAgICAgICAgaGls
ZG9uX2d0a19pbV9jb250ZXh0X3Nob3cocGFnZURhdGEtPmltQ29udGV4dCk7CisjZW5kaWYKKwor
ICAgIH0KKwogICAgIHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUmVs
ZWFzZUV2ZW50KFBsYXRmb3JtTW91c2VFdmVudChldmVudCkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>