<?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>26791</bug_id>
          
          <creation_ts>2009-06-29 00:57:44 -0700</creation_ts>
          <short_desc>[Gtk] Paste of rich text from firefox results garbled markup</short_desc>
          <delta_ts>2009-07-07 07:24:48 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiahua Huang">jhuangjiahua</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>jhuangjiahua</cc>
    
    <cc>jmalonzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>128786</commentid>
    <comment_count>0</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-29 00:57:44 -0700</bug_when>
    <thetext>WebkitGtk HTML Editing not accustomed to UTF-16 clipboard.

When paste rich text to editablearea,
(like gmail Rich formatting editor, or any application use WebkitGtk as html editor)
WebkitGtk assumed that SelectionData from gtk clipboard is always UTF-8 encoding.
But ,in fact,
some applications like FireFox put SelectionData for clipboard use UTF-16 encoding, 
so rich text markup garbled.


To reproduce:

0. Launch FireFox to browse http://www.apple.com

1. Copy that text or picture from FireFox page

2. Launch a WebkitGtk browser (Midori or GtkLauncher) and open http://www.mozilla.org/editor/midasdemo/ ,
it can see a rich formatting editor

3. Paste in the rich formatting editor

Results: pasted contents of editor is garbled markup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128787</commentid>
    <comment_count>1</comment_count>
      <attachid>31999</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-29 01:04:06 -0700</bug_when>
    <thetext>Created attachment 31999
Fix problem with UTF-16 clipboard pasted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128835</commentid>
    <comment_count>2</comment_count>
      <attachid>32013</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-29 10:35:00 -0700</bug_when>
    <thetext>Created attachment 32013
update patch to r45340</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128970</commentid>
    <comment_count>3</comment_count>
      <attachid>32013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 00:40:38 -0700</bug_when>
    <thetext>Comment on attachment 32013
update patch to r45340

Can there be other encodings on the gtk pasteboard?  Should we be using TextDecoder instead here?  This is also really lame that this isn&apos;t standardized in some way...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>128978</commentid>
    <comment_count>4</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 01:14:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 32013 [review])
&gt; Can there be other encodings on the gtk pasteboard?  

No, only UTF-8 and &quot;Unicode&quot; (UTF-16LE, UTF-16BE) now.

General gtk apps use UTF-8,  and others use Unicode.

&gt; Should we be using
&gt; TextDecoder instead here?  This is also really lame that this isn&apos;t
&gt; standardized in some way...

Thanks for your comments.
They were£¬It was enough for UTF-8 and Unicode.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129009</commentid>
    <comment_count>5</comment_count>
      <attachid>32013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 02:53:10 -0700</bug_when>
    <thetext>Comment on attachment 32013
update patch to r45340

Won&apos;t this still end up with the UTF16 BOM char pasted into your web page?  WebKit is smart enough to ignore BOMs in the middle of pages, but it seems silly to paste them in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129024</commentid>
    <comment_count>6</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 03:34:52 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 32013 [review])
&gt; Won&apos;t this still end up with the UTF16 BOM char pasted into your web page? 
&gt; WebKit is smart enough to ignore BOMs in the middle of pages, but it seems
&gt; silly to paste them in.
&gt; 

Hi, Eric,

The problem of garbled is not on the BOMs,
it is that String::fromUTF8()

the code in WebCore/platform/text/String.cpp:
&gt; String String::fromUTF8(const char* string, size_t size)
&gt; 
&gt; String String::fromUTF8(const char* string, size_t size)
&gt; {
&gt;     if (!string)
&gt;         return String();
&gt;     return UTF8Encoding().decode(string, size);
&gt; }

the string must be legal UTF-8 encoding chars,
and the size must be right length.

When gtk.Clipbord put a UTF-16 data,
the string is not legal UTF-8 encoding chars but UChar,
and the length muse be Halved.

So, the old code will wrong for encoding (multiple decoding) and size,
the wrong of size (double the right length) will make markups confused.



So, I maked this changes:
&gt; -        String html = String::fromUTF8(reinterpret_cast&lt;gchar*&gt;(data-&gt;data), data-&gt;length * data-&gt;format / 8);
&gt; +        String html;
&gt; +        if (reinterpret_cast&lt;UChar*&gt;(data-&gt;data)[0] == 0xFEFF
&gt; +                || reinterpret_cast&lt;UChar*&gt;(data-&gt;data)[0] == 0xFFFE)
&gt; +            html = String(reinterpret_cast&lt;UChar*&gt;(data-&gt;data), data-&gt;length * data-&gt;format / 16);
&gt; +        else
&gt; +            html = String::fromUTF8(reinterpret_cast&lt;gchar*&gt;(data-&gt;data), data-&gt;length * data-&gt;format / 8);

Let it use String::String() instead of String::fromUTF8
when gtk.Clipbord put a UTF-16 data (BOMs used to discern)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129025</commentid>
    <comment_count>7</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 03:38:06 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Let it use String::String() instead of String::fromUTF8
&gt; when gtk.Clipbord put a UTF-16 data (BOMs used to discern)
&gt; 

and Halved the length size

(&quot;data-&gt;length * data-&gt;format / 16&quot; instead of &quot;data-&gt;length * data-&gt;format / 8&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129088</commentid>
    <comment_count>8</comment_count>
      <attachid>32072</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 09:42:13 -0700</bug_when>
    <thetext>Created attachment 32072
Fix the length size of GtkSelectionData from Pidgin and FireFox

UTF-16 (with BOMs) GtkSelectionData must a halfed length,
but some apps wrong for format size,
in which case, 
I use &quot;data-&gt;length / 2&quot; to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129101</commentid>
    <comment_count>9</comment_count>
      <attachid>32072</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 10:24:47 -0700</bug_when>
    <thetext>Comment on attachment 32072
Fix the length size of GtkSelectionData from Pidgin and FireFox

UTF-16 (with BOMs) GtkSelectionData must a halfed length,
but some apps wrong for format size,
in which case, 
I use &quot;data-&gt;length / 2&quot; to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129105</commentid>
    <comment_count>10</comment_count>
      <attachid>32072</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 10:59:59 -0700</bug_when>
    <thetext>Comment on attachment 32072
Fix the length size of GtkSelectionData from Pidgin and FireFox

It seems like this would do a better job:

TextEncoding clipboardEncoding;
if (detectTextEncoding(data-&gt;data, data-&gt;len, &quot;utf8&quot;, &amp;clipboardEncoding))
    html = clipboardEncoding.decode(data-&gt;data, data-&gt;len);

This also needs a manual test in WebCore/manual-tests/gtk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129106</commentid>
    <comment_count>11</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 11:19:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 32072 [review])
&gt; It seems like this would do a better job:
&gt; 

Thanks,

I appreciate your comments.

I&apos;m trying to add a manual-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129112</commentid>
    <comment_count>12</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 11:30:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 32072 [review])
&gt; It seems like this would do a better job:
&gt; 

Sorry,
I tried this code, but it didn&apos;t work. 

&gt;         String html;
&gt;         TextEncoding clipboardEncoding;
&gt;         if (detectTextEncoding(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length, &quot;utf8&quot;, &amp;clipboardEncoding))
&gt;             html = clipboardEncoding.decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);


I&apos;m trying to find way
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129116</commentid>
    <comment_count>13</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 11:34:06 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Sorry,
&gt; I tried this code, but it didn&apos;t work. 
&gt; 

It can paste text from FireFox, other WebkitGtk Page, Pidgin MessageView,
but formats have been lost&amp;#12290;

It seems detectTextEncoding always return False,
so it fallback to PlainText.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129117</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 11:34:58 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Sorry,
&gt; I tried this code, but it didn&apos;t work. 
&gt; 
&gt; &gt;         String html;
&gt; &gt;         TextEncoding clipboardEncoding;
&gt; &gt;         if (detectTextEncoding(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length, &quot;utf8&quot;, &amp;clipboardEncoding))
&gt; &gt;             html = clipboardEncoding.decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);

Does &quot;UTF-8&quot; work?  I admit, I haven&apos;t used detectTextEncoding much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129120</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 11:36:08 -0700</bug_when>
    <thetext>Oh, it&apos;s also possible that detectTextEncoding isn&apos;t wired up for the gtk port.  TextEncodingDetectorICU.cpp is the file I would expect gtk to be using.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129125</commentid>
    <comment_count>16</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 11:42:01 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Does &quot;UTF-8&quot; work?  I admit, I haven&apos;t used detectTextEncoding much.
&gt; 

no :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129126</commentid>
    <comment_count>17</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-06-30 11:46:39 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Oh, it&apos;s also possible that detectTextEncoding isn&apos;t wired up for the gtk port.
&gt;  TextEncodingDetectorICU.cpp is the file I would expect gtk to be using.
&gt; 

configure of WebkitGtk has this Optional:
&gt;  --with-unicode-backend=[icu/glib]
&gt;                          Select Unicode backend (WARNING: the glib-based
&gt;                          backend is slow, and incomplete) default=icu

I selected the default icu,

and I had add
&gt; #include &quot;TextEncodingDetector.h&quot;
in WebCore/platform/gtk/PasteboardGtk.cpp

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129130</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-30 12:14:13 -0700</bug_when>
    <thetext>I would encourage you to set a breakpoint in detectTextEncoding, because I believe your use-case should work fine if the gtk build has encoding detection wired up correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129715</commentid>
    <comment_count>19</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-03 08:21:46 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; I would encourage you to set a breakpoint in detectTextEncoding, because I
&gt; believe your use-case should work fine if the gtk build has encoding detection
&gt; wired up correctly.

Hi, I use TextResourceDecoder instead of simple detectTextEncoding.

this&apos;s the code:
&gt;        String html;
&gt;        html = TextResourceDecoder::create(&quot;text/html&quot;, &quot;UTF-8&quot;, true)-&gt;decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);

it works fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129716</commentid>
    <comment_count>20</comment_count>
      <attachid>32238</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-03 08:33:33 -0700</bug_when>
    <thetext>Created attachment 32238
use TextResourceDecoder instead of simple detectTextEncoding

change to this code:

&gt;         String html;
&gt;         RefPtr&lt;TextResourceDecoder&gt; decoder = TextResourceDecoder::create(&quot;text/html&quot;, &quot;UTF-8&quot;, true);
&gt;         html = decoder-&gt;decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);

it works.


GtkSelectionData (html) from GTK clipboard can be some forms:

 1. From other WebkitGtk page
    &quot;text/html&quot;, 8bits, utf-8, no BOMs

 2. From FireFox page
    &quot;text/html&quot;, 8bits (wrong for firefox), utf-16, BOMs

 3. From Pidgin messageview
    &quot;text/html&quot;, 16bits, BOMs

 4. From other Gtk App who use &quot;text/html&quot; when copy-paste
    &quot;text/html&quot;, 8bits, utf-8, no BOMs

 ...


it use TextResourceDecoder to auto detect encoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129718</commentid>
    <comment_count>21</comment_count>
      <attachid>32239</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-03 09:59:46 -0700</bug_when>
    <thetext>Created attachment 32239
change mimeType to decrease the cost

Use &quot;text/plain&quot; mimeType instead of &quot;text/html&quot; in TextResourceDecoder,
it will decrease the checking cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129808</commentid>
    <comment_count>22</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-07-04 14:55:43 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Created an attachment (id=32239) [details]
&gt; change mimeType to decrease the cost
&gt; 
&gt; Use &quot;text/plain&quot; mimeType instead of &quot;text/html&quot; in TextResourceDecoder,
&gt; it will decrease the checking cost.

Hi Jiahua. Are you able to add manual-test for this? That seems to be a missing piece in your patch.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129816</commentid>
    <comment_count>23</comment_count>
      <attachid>32264</attachid>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-04 16:20:41 -0700</bug_when>
    <thetext>Created attachment 32264
add a manual test in WebCore/manual-tests/gtk

(In reply to comment #22)
&gt; Hi Jiahua. Are you able to add manual-test for this? That seems to be a missing
&gt; piece in your patch.
&gt; 
&gt; Thanks!

Hi Jan,
WebCore/manual-tests/gtk/paste-richtext-from-firefox.html has been added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130185</commentid>
    <comment_count>24</comment_count>
      <attachid>32264</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-07-07 05:17:10 -0700</bug_when>
    <thetext>Comment on attachment 32264
add a manual test in WebCore/manual-tests/gtk

&gt; -        String html = String::fromUTF8(reinterpret_cast&lt;gchar*&gt;(data-&gt;data), data-&gt;length * data-&gt;format / 8);
&gt; +        String html;
&gt; +        RefPtr&lt;TextResourceDecoder&gt; decoder = TextResourceDecoder::create(&quot;text/plain&quot;, &quot;UTF-8&quot;, true);
&gt; +        html = decoder-&gt;decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);
&gt; +        html += decoder-&gt;flush();
&gt;          gtk_selection_data_free(data);

Declaration and the first assignment can be in the same line here. 

Looks fine and the patch works great! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130190</commentid>
    <comment_count>25</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-07 05:44:29 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 32264 [details])
&gt; &gt; -        String html = String::fromUTF8(reinterpret_cast&lt;gchar*&gt;(data-&gt;data), data-&gt;length * data-&gt;format / 8);
&gt; &gt; +        String html;
&gt; &gt; +        RefPtr&lt;TextResourceDecoder&gt; decoder = TextResourceDecoder::create(&quot;text/plain&quot;, &quot;UTF-8&quot;, true);
&gt; &gt; +        html = decoder-&gt;decode(reinterpret_cast&lt;char*&gt;(data-&gt;data), data-&gt;length);
&gt; &gt; +        html += decoder-&gt;flush();
&gt; &gt;          gtk_selection_data_free(data);
&gt; 
&gt; Declaration and the first assignment can be in the same line here. 
&gt; 
&gt; Looks fine and the patch works great! r=me.

Thank you, Jan,

I appreciate your comments.


I observ&apos;d also, 
when I select some html content, and Copy them use Ctrl-C,
the Pasteboard/GtkClipboard can&apos;t handle the &quot;text/html&quot; target.

I found that the &quot;text/html&quot; target 
only in X clipboard (GDK_SELECTION_CLIPBOARD),
but not Desktop clipboard (GDK_SELECTION_PRIMARY).

So we can&apos;t use Ctrl-C to Copy rich text from WebkitGtk.

I use this Change:
&gt; Index: WebCore/platform/gtk/PasteboardGtk.cpp
&gt; ===================================================================
&gt; --- WebCore/platform/gtk/PasteboardGtk.cpp	(revision 45546)
&gt; +++ WebCore/platform/gtk/PasteboardGtk.cpp	(working copy)
&gt; @@ -37,8 +38,8 @@ namespace WebCore {
&gt;  /* FIXME: we must get rid of this and use the enum in webkitwebview.h someway */
&gt;  typedef enum
&gt;  {
&gt; -    WEBKIT_WEB_VIEW_TARGET_INFO_HTML = - 1,
&gt; -    WEBKIT_WEB_VIEW_TARGET_INFO_TEXT = - 2
&gt; +    WEBKIT_WEB_VIEW_TARGET_INFO_HTML,
&gt; +    WEBKIT_WEB_VIEW_TARGET_INFO_TEXT
&gt;  } WebKitWebViewTargetInfo;
&gt; 

it works.
it can use Ctrl-C to Copy rich text from WebkitGtk page now.


but I&apos;m not sure if it will be a new patch.

Jan, should fix it when landing,
or should I create a new patch with ChangeLog,
or open a new Bug?


Regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130191</commentid>
    <comment_count>26</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-07-07 05:59:05 -0700</bug_when>
    <thetext>&gt; &gt; Looks fine and the patch works great! r=me.

Landed in r45592.

&gt; &gt; Index: WebCore/platform/gtk/PasteboardGtk.cpp
&gt; &gt; ===================================================================
&gt; &gt; --- WebCore/platform/gtk/PasteboardGtk.cpp	(revision 45546)
&gt; &gt; +++ WebCore/platform/gtk/PasteboardGtk.cpp	(working copy)
&gt; &gt; @@ -37,8 +38,8 @@ namespace WebCore {
&gt; &gt;  /* FIXME: we must get rid of this and use the enum in webkitwebview.h someway */
&gt; &gt;  typedef enum
&gt; &gt;  {
&gt; &gt; -    WEBKIT_WEB_VIEW_TARGET_INFO_HTML = - 1,
&gt; &gt; -    WEBKIT_WEB_VIEW_TARGET_INFO_TEXT = - 2
&gt; &gt; +    WEBKIT_WEB_VIEW_TARGET_INFO_HTML,
&gt; &gt; +    WEBKIT_WEB_VIEW_TARGET_INFO_TEXT
&gt; &gt;  } WebKitWebViewTargetInfo;
&gt; &gt; 
&gt; 
&gt; it works.
&gt; it can use Ctrl-C to Copy rich text from WebkitGtk page now.
&gt; 
&gt; 
&gt; but I&apos;m not sure if it will be a new patch.

Please file a new bug with the problem that you just encountered (including your patch too). Please CC me on the bug as well.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130196</commentid>
    <comment_count>27</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-07 06:45:21 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Please file a new bug with the problem that you just encountered (including
&gt; your patch too). Please CC me on the bug as well.
&gt; 
&gt; Thanks

Well, I see，
wait for a moment。

Thanks.


Should I mark this bug as CLOSED.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130203</commentid>
    <comment_count>28</comment_count>
    <who name="Jiahua Huang">jhuangjiahua</who>
    <bug_when>2009-07-07 07:24:48 -0700</bug_when>
    <thetext>(In reply to comment #26)

Hi, Jan,

I had file a new bug on 
https://bugs.webkit.org/show_bug.cgi?id=27028 
and CC you on the bug.

but when I submitted for bug 27028,
it say:
&gt; Excluding:
&gt;     &lt;your email&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31999</attachid>
            <date>2009-06-29 01:04:06 -0700</date>
            <delta_ts>2009-06-29 10:35:00 -0700</delta_ts>
            <desc>Fix problem with UTF-16 clipboard pasted</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>1549</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTMzNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDktMDYtMjkgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRml4IHByb2JsZW0gd2l0aCBVVEYtMTYgY2xpcGJvYXJkIHBhc3RlZC4KKworICAgICAgICAq
IHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3Rl
Ym9hcmQ6OmRvY3VtZW50RnJhZ21lbnQpOgorCiAyMDA5LTA2LTI2ICBKb2huIFN1bGxpdmFuICA8
c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZGVkIFNwZWVjaCBzdWJtZW51IHRvIGNv
bnRleHQgbWVudSBvbiBNYWMgd2hlbiB0aGVyZSdzIGEgbm9uLWVkaXRhYmxlIHNlbGVjdGlvbgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAJKHJldmlzaW9uIDQ1MzM1
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE2Myw3ICsxNjMsMTIgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBQYXN0
ZWJvYXJkOgogCiAgICAgaWYgKEd0a1NlbGVjdGlvbkRhdGEqIGRhdGEgPSBndGtfY2xpcGJvYXJk
X3dhaXRfZm9yX2NvbnRlbnRzKGNsaXBib2FyZCwgdGV4dEh0bWwpKSB7CiAgICAgICAgIEFTU0VS
VChkYXRhLT5kYXRhKTsKLSAgICAgICAgU3RyaW5nIGh0bWwgPSBTdHJpbmc6OmZyb21VVEY4KHJl
aW50ZXJwcmV0X2Nhc3Q8Z2NoYXIqPihkYXRhLT5kYXRhKSwgZGF0YS0+bGVuZ3RoICogZGF0YS0+
Zm9ybWF0IC8gOCk7CisgICAgICAgIFN0cmluZyBodG1sOworICAgICAgICBpZiAocmVpbnRlcnBy
ZXRfY2FzdDxVQ2hhcio+KGRhdGEtPmRhdGEpWzBdID09IDB4RkVGRgorICAgICAgICAgICAgICAg
IHx8IHJlaW50ZXJwcmV0X2Nhc3Q8VUNoYXIqPihkYXRhLT5kYXRhKVswXSA9PSAweEZGRkUpCisg
ICAgICAgICAgICBodG1sID0gU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8VUNoYXIqPihkYXRhLT5k
YXRhKSwgZGF0YS0+bGVuZ3RoICogZGF0YS0+Zm9ybWF0IC8gMTYpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBodG1sID0gU3RyaW5nOjpmcm9tVVRGOChyZWludGVycHJldF9jYXN0PGdjaGFy
Kj4oZGF0YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCAqIGRhdGEtPmZvcm1hdCAvIDgpOwogICAgICAg
ICBndGtfc2VsZWN0aW9uX2RhdGFfZnJlZShkYXRhKTsKIAogICAgICAgICBpZiAoIWh0bWwuaXNF
bXB0eSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32013</attachid>
            <date>2009-06-29 10:35:00 -0700</date>
            <delta_ts>2009-06-30 09:42:13 -0700</delta_ts>
            <desc>update patch to r45340</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>1613</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTM0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDYtMjkgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gUGFzdGUgb2YgcmljaCB0ZXh0IGZyb20gZmlyZWZveCByZXN1bHRzIGdhcmJsZWQg
bWFya3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Njc5MQorCisgICAgICAgIEZpeCBwcm9ibGVtIHdpdGggVVRGLTE2IGNsaXBib2FyZCBwYXN0ZWQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wNi0yOSAgRGF2
aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBS
b2Jlbi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCShyZXZpc2lv
biA0NTM0MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjMsNyArMTYzLDEyIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVu
dD4gUGFzdGVib2FyZDoKIAogICAgIGlmIChHdGtTZWxlY3Rpb25EYXRhKiBkYXRhID0gZ3RrX2Ns
aXBib2FyZF93YWl0X2Zvcl9jb250ZW50cyhjbGlwYm9hcmQsIHRleHRIdG1sKSkgewogICAgICAg
ICBBU1NFUlQoZGF0YS0+ZGF0YSk7Ci0gICAgICAgIFN0cmluZyBodG1sID0gU3RyaW5nOjpmcm9t
VVRGOChyZWludGVycHJldF9jYXN0PGdjaGFyKj4oZGF0YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCAq
IGRhdGEtPmZvcm1hdCAvIDgpOworICAgICAgICBTdHJpbmcgaHRtbDsKKyAgICAgICAgaWYgKHJl
aW50ZXJwcmV0X2Nhc3Q8VUNoYXIqPihkYXRhLT5kYXRhKVswXSA9PSAweEZFRkYKKyAgICAgICAg
ICAgICAgICB8fCByZWludGVycHJldF9jYXN0PFVDaGFyKj4oZGF0YS0+ZGF0YSlbMF0gPT0gMHhG
RkZFKQorICAgICAgICAgICAgaHRtbCA9IFN0cmluZyhyZWludGVycHJldF9jYXN0PFVDaGFyKj4o
ZGF0YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCAqIGRhdGEtPmZvcm1hdCAvIDE2KTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgaHRtbCA9IFN0cmluZzo6ZnJvbVVURjgocmVpbnRlcnByZXRfY2Fz
dDxnY2hhcio+KGRhdGEtPmRhdGEpLCBkYXRhLT5sZW5ndGggKiBkYXRhLT5mb3JtYXQgLyA4KTsK
ICAgICAgICAgZ3RrX3NlbGVjdGlvbl9kYXRhX2ZyZWUoZGF0YSk7CiAKICAgICAgICAgaWYgKCFo
dG1sLmlzRW1wdHkoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32072</attachid>
            <date>2009-06-30 09:42:13 -0700</date>
            <delta_ts>2009-07-03 08:33:33 -0700</delta_ts>
            <desc>Fix the length size of GtkSelectionData from Pidgin and FireFox</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>1598</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTM3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDYtMzAgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gUGFzdGUgb2YgcmljaCB0ZXh0IGZyb20gZmlyZWZveCByZXN1bHRzIGdhcmJsZWQg
bWFya3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Njc5MQorCisgICAgICAgIEZpeCBwcm9ibGVtIHdpdGggVVRGLTE2IGNsaXBib2FyZCBwYXN0ZWQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wNi0zMCAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUg
SHlhdHQuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAkocmV2aXNp
b24gNDUzNzYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTYzLDcgKzE2MywxMiBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IFBhc3RlYm9hcmQ6CiAKICAgICBpZiAoR3RrU2VsZWN0aW9uRGF0YSogZGF0YSA9IGd0a19j
bGlwYm9hcmRfd2FpdF9mb3JfY29udGVudHMoY2xpcGJvYXJkLCB0ZXh0SHRtbCkpIHsKICAgICAg
ICAgQVNTRVJUKGRhdGEtPmRhdGEpOwotICAgICAgICBTdHJpbmcgaHRtbCA9IFN0cmluZzo6ZnJv
bVVURjgocmVpbnRlcnByZXRfY2FzdDxnY2hhcio+KGRhdGEtPmRhdGEpLCBkYXRhLT5sZW5ndGgg
KiBkYXRhLT5mb3JtYXQgLyA4KTsKKyAgICAgICAgU3RyaW5nIGh0bWw7CisgICAgICAgIGlmIChy
ZWludGVycHJldF9jYXN0PFVDaGFyKj4oZGF0YS0+ZGF0YSlbMF0gPT0gMHhGRUZGCisgICAgICAg
ICAgICAgICAgfHwgcmVpbnRlcnByZXRfY2FzdDxVQ2hhcio+KGRhdGEtPmRhdGEpWzBdID09IDB4
RkZGRSkKKyAgICAgICAgICAgIGh0bWwgPSBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxVQ2hhcio+
KGRhdGEtPmRhdGEpLCBkYXRhLT5sZW5ndGggLyAyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgaHRtbCA9IFN0cmluZzo6ZnJvbVVURjgocmVpbnRlcnByZXRfY2FzdDxnY2hhcio+KGRhdGEt
PmRhdGEpLCBkYXRhLT5sZW5ndGggKiBkYXRhLT5mb3JtYXQgLyA4KTsKICAgICAgICAgZ3RrX3Nl
bGVjdGlvbl9kYXRhX2ZyZWUoZGF0YSk7CiAKICAgICAgICAgaWYgKCFodG1sLmlzRW1wdHkoKSkg
ewo=
</data>
<flag name="review"
          id="16594"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32238</attachid>
            <date>2009-07-03 08:33:33 -0700</date>
            <delta_ts>2009-07-03 09:59:46 -0700</delta_ts>
            <desc>use TextResourceDecoder instead of simple detectTextEncoding</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>1653</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTUzMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMDIgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gUGFzdGUgb2YgcmljaCB0ZXh0IGZyb20gZmlyZWZveCByZXN1bHRzIGdhcmJsZWQg
bWFya3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Njc5MQorCisgICAgICAgIEZpeCBwcm9ibGVtIHdpdGggVVRGLTE2IGNsaXBib2FyZCBwYXN0ZWQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wNy0wMiAgUGll
cnJlIGQnSGVyYmVtb250ICA8cGRoZXJiZW1vbnRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwCShyZXZpc2lvbiA0NTUzMykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIkltYWdl
LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBAIC0xNjMs
NyArMTY0LDkgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBQYXN0ZWJvYXJkOgogCiAg
ICAgaWYgKEd0a1NlbGVjdGlvbkRhdGEqIGRhdGEgPSBndGtfY2xpcGJvYXJkX3dhaXRfZm9yX2Nv
bnRlbnRzKGNsaXBib2FyZCwgdGV4dEh0bWwpKSB7CiAgICAgICAgIEFTU0VSVChkYXRhLT5kYXRh
KTsKLSAgICAgICAgU3RyaW5nIGh0bWwgPSBTdHJpbmc6OmZyb21VVEY4KHJlaW50ZXJwcmV0X2Nh
c3Q8Z2NoYXIqPihkYXRhLT5kYXRhKSwgZGF0YS0+bGVuZ3RoICogZGF0YS0+Zm9ybWF0IC8gOCk7
CisgICAgICAgIFN0cmluZyBodG1sOworICAgICAgICBSZWZQdHI8VGV4dFJlc291cmNlRGVjb2Rl
cj4gZGVjb2RlciA9IFRleHRSZXNvdXJjZURlY29kZXI6OmNyZWF0ZSgidGV4dC9odG1sIiwgIlVU
Ri04IiwgdHJ1ZSk7CisgICAgICAgIGh0bWwgPSBkZWNvZGVyLT5kZWNvZGUocmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4oZGF0YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCk7CiAgICAgICAgIGd0a19zZWxl
Y3Rpb25fZGF0YV9mcmVlKGRhdGEpOwogCiAgICAgICAgIGlmICghaHRtbC5pc0VtcHR5KCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32239</attachid>
            <date>2009-07-03 09:59:46 -0700</date>
            <delta_ts>2009-07-04 16:20:41 -0700</delta_ts>
            <desc>change mimeType to decrease the cost</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>1690</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTUzMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMDIgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gUGFzdGUgb2YgcmljaCB0ZXh0IGZyb20gZmlyZWZveCByZXN1bHRzIGdhcmJsZWQg
bWFya3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Njc5MQorCisgICAgICAgIEZpeCBwcm9ibGVtIHdpdGggVVRGLTE2IGNsaXBib2FyZCBwYXN0ZWQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wNy0wMiAgUGll
cnJlIGQnSGVyYmVtb250ICA8cGRoZXJiZW1vbnRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwCShyZXZpc2lvbiA0NTUzMykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9h
cmRHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCisjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIkltYWdl
LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBAIC0xNjMs
NyArMTY0LDEwIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDoKIAog
ICAgIGlmIChHdGtTZWxlY3Rpb25EYXRhKiBkYXRhID0gZ3RrX2NsaXBib2FyZF93YWl0X2Zvcl9j
b250ZW50cyhjbGlwYm9hcmQsIHRleHRIdG1sKSkgewogICAgICAgICBBU1NFUlQoZGF0YS0+ZGF0
YSk7Ci0gICAgICAgIFN0cmluZyBodG1sID0gU3RyaW5nOjpmcm9tVVRGOChyZWludGVycHJldF9j
YXN0PGdjaGFyKj4oZGF0YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCAqIGRhdGEtPmZvcm1hdCAvIDgp
OworICAgICAgICBTdHJpbmcgaHRtbDsKKyAgICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29k
ZXI+IGRlY29kZXIgPSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpjcmVhdGUoInRleHQvcGxhaW4iLCAi
VVRGLTgiLCB0cnVlKTsKKyAgICAgICAgaHRtbCA9IGRlY29kZXItPmRlY29kZShyZWludGVycHJl
dF9jYXN0PGNoYXIqPihkYXRhLT5kYXRhKSwgZGF0YS0+bGVuZ3RoKTsKKyAgICAgICAgaHRtbCAr
PSBkZWNvZGVyLT5mbHVzaCgpOwogICAgICAgICBndGtfc2VsZWN0aW9uX2RhdGFfZnJlZShkYXRh
KTsKIAogICAgICAgICBpZiAoIWh0bWwuaXNFbXB0eSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32264</attachid>
            <date>2009-07-04 16:20:41 -0700</date>
            <delta_ts>2009-07-07 05:17:10 -0700</delta_ts>
            <desc>add a manual test in WebCore/manual-tests/gtk</desc>
            <filename>webkitgtk-fix-paste-from-firefox.patch</filename>
            <type>text/plain</type>
            <size>3385</size>
            <attacher name="Jiahua Huang">jhuangjiahua</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMDQgIEppYWh1YSBIdWFuZyAgPGpodWFuZ2ppYWh1YUBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0d0a10gUGFzdGUgb2YgcmljaCB0ZXh0IGZyb20gZmlyZWZveCByZXN1bHRzIGdhcmJsZWQg
bWFya3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Njc5MQorCisgICAgICAgIEZpeCBwcm9ibGVtIHdpdGggVVRGLTE2IGNsaXBib2FyZCBwYXN0ZWQu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wNy0wMyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUg
UGV0ZXJzb24uCkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy9ndGsvcGFzdGUtcmljaHRleHQt
ZnJvbS1maXJlZm94Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYW51YWwtdGVzdHMvZ3Rr
L3Bhc3RlLXJpY2h0ZXh0LWZyb20tZmlyZWZveC5odG1sCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9tYW51YWwtdGVzdHMvZ3RrL3Bhc3RlLXJpY2h0ZXh0LWZyb20tZmlyZWZveC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8v
RFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD11dGYtOCIgLz4KKyAgICAgICAgPHRpdGxlPlBhc3RlIHJpY2ggdGV4dCBmcm9tIGZp
cmVmb3g8L3RpdGxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+PGI+QlVH
IElEOjwvYj4KKyAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI2NzkxIj5CdWd6aWxsYSBidWcgMjY3OTE8L2E+CisgICAgICAgIFtHdGtdIFBh
c3RlIG9mIHJpY2ggdGV4dCBmcm9tIGZpcmVmb3ggcmVzdWx0cyBnYXJibGVkIG1hcmt1cAorICAg
ICAgICA8L3A+CisgICAgICAgIDxoMT5QYXN0ZSByaWNoIHRleHQgZnJvbSBmaXJlZm94PC9oMT4K
KyAgICAgICAgPHA+CisgICAgICAgIDxiPlNURVBTIFRPIFRFU1Q6PC9iPjxicj4KKyAgICAgICAg
PG9sPgorICAgICAgICAgICAgPGxpPkxhdW5jaCBGaXJlRm94IHRvIGJyb3dzZSA8YSBocmVmPSJo
dHRwOi8vd3d3LmFwcGxlLmNvbSI+aHR0cDovL3d3dy5hcHBsZS5jb208L2E+PC9saT4KKyAgICAg
ICAgICAgIDxsaT5TZWxlY3QgdGhhdCB0ZXh0IG9yIHBpY3R1cmUgZnJvbSBGaXJlRm94IHBhZ2U8
L2xpPgorICAgICAgICAgICAgPGxpPkNvcHkgdGhlbSB1c2UgPGI+Q3RybC1DPC9iPiAvIE9wdGlv
bi1DLCAob3IganVzdCBzZWxlY3QgdGhlbSBvbiBMaW51eCk8L2xpPgorICAgICAgICAgICAgPGxp
PkJhY2sgaW4gV2Via2l0R3RrLCBjbGljayBpbnNpZGUgdGhlIEVkaXRhYmxlQXJlYSBiZWxvdywg
PC9saT4KKyAgICAgICAgICAgIDxsaT5QYXN0ZSB0aGVtIHVzZSA8Yj5DdHJsLVY8L2I+IC8gT3B0
aW9uLVYsIChvciBqdXN0IE1pZGRsZSBNb3VzZSBDbGljayBvbiBMaW51eCk8L2xpPgorICAgICAg
ICA8L29sPgorICAgICAgICA8cD48Yj5FbnN1cmU8L2I+IHRoYXQgdGV4dCBvciBwaWN0dXJlIGhh
cyBiZWVuIHBhc3RlZCB3aXRoIGZvcm1hdHMgYW5kIG5vIGdhcmJsZWQuPC9wPgorICAgICAgICA8
ZGl2IHRpdGxlPSJFZGl0YWJsZUFyZWEiIGNvbnRlbnRFZGl0YWJsZT0idHJ1ZSIgCisgICAgICAg
ICAgICBzdHlsZT0iZGlzcGxheTogYmxvY2s7IGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOyBtYXJn
aW46IDVweDsgcGFkZGluZzogMTVweDsiPgorICAgICAgICAgICAgPGJyIC8+IDxiciAvPiA8YnIg
Lz4gPGJyIC8+IDxiciAvPiA8YnIgLz4gPGJyIC8+IDxiciAvPiA8YnIgLz4gPGJyIC8+IDxiciAv
PiA8YnIgLz4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDwvcD4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CisKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCShyZXZpc2lv
biA0NTU0NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5jbHVk
ZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBAIC0xNjMsNyArMTY0LDEwIEBAIFBh
c3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDoKIAogICAgIGlmIChHdGtTZWxl
Y3Rpb25EYXRhKiBkYXRhID0gZ3RrX2NsaXBib2FyZF93YWl0X2Zvcl9jb250ZW50cyhjbGlwYm9h
cmQsIHRleHRIdG1sKSkgewogICAgICAgICBBU1NFUlQoZGF0YS0+ZGF0YSk7Ci0gICAgICAgIFN0
cmluZyBodG1sID0gU3RyaW5nOjpmcm9tVVRGOChyZWludGVycHJldF9jYXN0PGdjaGFyKj4oZGF0
YS0+ZGF0YSksIGRhdGEtPmxlbmd0aCAqIGRhdGEtPmZvcm1hdCAvIDgpOworICAgICAgICBTdHJp
bmcgaHRtbDsKKyAgICAgICAgUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+IGRlY29kZXIgPSBU
ZXh0UmVzb3VyY2VEZWNvZGVyOjpjcmVhdGUoInRleHQvcGxhaW4iLCAiVVRGLTgiLCB0cnVlKTsK
KyAgICAgICAgaHRtbCA9IGRlY29kZXItPmRlY29kZShyZWludGVycHJldF9jYXN0PGNoYXIqPihk
YXRhLT5kYXRhKSwgZGF0YS0+bGVuZ3RoKTsKKyAgICAgICAgaHRtbCArPSBkZWNvZGVyLT5mbHVz
aCgpOwogICAgICAgICBndGtfc2VsZWN0aW9uX2RhdGFfZnJlZShkYXRhKTsKIAogICAgICAgICBp
ZiAoIWh0bWwuaXNFbXB0eSgpKSB7Cg==
</data>
<flag name="review"
          id="16744"
          type_id="1"
          status="+"
          setter="jmalonzo"
    />
          </attachment>
      

    </bug>

</bugzilla>