<?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>44771</bug_id>
          
          <creation_ts>2010-08-27 09:15:48 -0700</creation_ts>
          <short_desc>[GTK] Windowless Plugins - Initialize XEvent before passing to plugin</short_desc>
          <delta_ts>2010-09-03 20:40:59 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</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>0</everconfirmed>
          <reporter name="Bharathwaaj">bharathwaaj.s</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270534</commentid>
    <comment_count>0</comment_count>
    <who name="Bharathwaaj">bharathwaaj.s</who>
    <bug_when>2010-08-27 09:15:48 -0700</bug_when>
    <thetext>Initialize keyboard events before passing plugins. This causes a crash if not initialized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270538</commentid>
    <comment_count>1</comment_count>
      <attachid>65720</attachid>
    <who name="Bharathwaaj">bharathwaaj.s</who>
    <bug_when>2010-08-27 09:24:47 -0700</bug_when>
    <thetext>Created attachment 65720
Patch to initialize keyboard event

This patch initializes keyboard event in windowless plugins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270551</commentid>
    <comment_count>2</comment_count>
      <attachid>65720</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-08-27 09:44:31 -0700</bug_when>
    <thetext>Comment on attachment 65720
Patch to initialize keyboard event

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270935</commentid>
    <comment_count>3</comment_count>
      <attachid>65720</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-27 23:26:20 -0700</bug_when>
    <thetext>Comment on attachment 65720
Patch to initialize keyboard event

Rejecting patch 65720 from commit-queue.

Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/plugins/gtk/PluginViewGtk.cpp
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:
svnlook: Can&apos;t write to stream: Broken pipe

    The following ChangeLog files contain OOPS:

        trunk/WebCore/ChangeLog

    Please don&apos;t ever say &quot;OOPS&quot; in a ChangeLog file.
 at /usr/local/git/libexec/git-core/git-svn line 572


Full output: http://queues.webkit.org/results/3866052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271000</commentid>
    <comment_count>4</comment_count>
      <attachid>65720</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-28 09:18:34 -0700</bug_when>
    <thetext>Comment on attachment 65720
Patch to initialize keyboard event

The queue only replaces the OOPS in the Reviewed by line.  You should explain what new tests your adding or why testing is impossible/impractical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271899</commentid>
    <comment_count>5</comment_count>
      <attachid>66009</attachid>
    <who name="Bharathwaaj">bharathwaaj.s</who>
    <bug_when>2010-08-30 20:56:13 -0700</bug_when>
    <thetext>Created attachment 66009
Patch to initialize keyboard event - Modified changelog

This is the same patch with the ChangeLog modified to explain why no new tests were needed.

This is a trivial fix. This is done to support 

https://bugs.webkit.org/show_bug.cgi?id=44613

It just initializes keyboard event.This patch should be applied first else it might cause a crash when bug #44613 patch is applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273859</commentid>
    <comment_count>6</comment_count>
    <who name="Bharathwaaj">bharathwaaj.s</who>
    <bug_when>2010-09-03 04:07:55 -0700</bug_when>
    <thetext>Please review this and provide comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273883</commentid>
    <comment_count>7</comment_count>
      <attachid>66009</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-03 04:51:31 -0700</bug_when>
    <thetext>Comment on attachment 66009
Patch to initialize keyboard event - Modified changelog

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273889</commentid>
    <comment_count>8</comment_count>
      <attachid>66009</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-03 05:13:18 -0700</bug_when>
    <thetext>Comment on attachment 66009
Patch to initialize keyboard event - Modified changelog

Clearing flags on attachment: 66009

Committed r66723: &lt;http://trac.webkit.org/changeset/66723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273890</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-03 05:13:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274016</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-03 10:28:09 -0700</bug_when>
    <thetext>+        No new tests needed since this is a trivial fix.

I don&apos;t see how one follows from another. Any patch that changes observable behavior needs a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274056</commentid>
    <comment_count>11</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-03 11:24:17 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; +        No new tests needed since this is a trivial fix.
&gt; 
&gt; I don&apos;t see how one follows from another. Any patch that changes observable behavior needs a test.

This is correct, and now and in the past I have hold patches that were useful and needed of going into WebKit(GTK+) because they lacked the necessary tests. In this case the patch seems so obviously correct and trivial that I don&apos;t think we need to do this. I believe this is routinely done by everyone, and far more complicated patches have been landed without tests in WebKit by every single person commenting on this bug. If we are going to enforce this rule absolutely everywhere then let&apos;s do it, but please let&apos;s not enforce it randomly and without reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274061</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-03 11:29:24 -0700</bug_when>
    <thetext>I support Alexey&apos;s request.  Changes are universally required to have tests.  We make occasional exceptions where testing is impossible/impractical.   Any change you see landing w/o tests, please comment in the bug and remind folks of this requirement.

In particularly if there is no keyboard event testing for plugins, that&apos;s a huge hole which should be easy to plug.

We have a test plugin in DRT for just this purpose.  We also have the ability to synthesize key events in DRT.  This change should be very testable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274063</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-03 11:32:41 -0700</bug_when>
    <thetext>In further defense of testing:

I&apos;ve had numerous discussions with other webkit engineers over the years, where we&apos;ve agreed that the tests are the most important part of our codebase.  It&apos;s very difficult (impossible) to write a web engine that works w/o testing.  However any monkey can eventually write a decent web engine by making all our tests pass.

I&apos;m constantly fixing old bugs, in old code, where if the person had simply written a test when they made the change, we would have better understood, and never regressed the behavior in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274338</commentid>
    <comment_count>14</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-03 19:58:09 -0700</bug_when>
    <thetext>I don&apos;t disagree with anything of what you have said, but I think this is one of those exceptional cases where to hold off the patch until the test is written is impractical given that it&apos;s an obviously correct one-liner that fixes a bug. In any case, if anyone disagrees strongly with that judgment feel free to revert the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274342</commentid>
    <comment_count>15</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-03 20:40:59 -0700</bug_when>
    <thetext>Just checked, there&apos;s already a test for windowless plugins &amp; key events, plugins/keyboard-events.html, skipped in GTK+. With this patch and the patch from https://bugs.webkit.org/show_bug.cgi?id=44613 we at least receive the events themselves, although there seems to still be a couple of bugs wrt the focus event and the keycodes received. We&apos;ll iterate the other patch until those are gone.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65720</attachid>
            <date>2010-08-27 09:24:47 -0700</date>
            <delta_ts>2010-08-30 20:56:13 -0700</delta_ts>
            <desc>Patch to initialize keyboard event</desc>
            <filename>keyboardinitialize.patch</filename>
            <type>text/plain</type>
            <size>1169</size>
            <attacher name="Bharathwaaj">bharathwaaj.s</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjIyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgtMjcgIEJoYXJhdGh3YWFqIFNyaW5pdmFzYW4gIDxiaGFy
YXRod2Fhai5zQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbml0aWFsaXplIGtleWJvYXJkIGV2ZW50cyBiZWZvcmUgcGFzc2luZyBw
bHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDQ3NzEKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsdWdp
bnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
aGFuZGxlS2V5Ym9hcmRFdmVudCk6CisKIDIwMTAtMDgtMjcgIFBhdmVsIEZlbGRtYW4gIDxwZmVs
ZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNr
eS4KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2luVmlld0d0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNwcAkocmV2aXNpb24gNjU4
NTkpCisrKyBXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTksNiArMjk5LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpoYW5kbGVLZXlib2FyZEV2
ZW50KEtleQogCiAgICAgTlBFdmVudCB4RXZlbnQ7CiAjaWYgZGVmaW5lZChYUF9VTklYKQorICAg
IGluaXRYRXZlbnQoJnhFdmVudCk7CiAgICAgR2RrRXZlbnRLZXkqIGdka0V2ZW50ID0gZXZlbnQt
PmtleUV2ZW50KCktPmdka0V2ZW50S2V5KCk7CiAKICAgICB4RXZlbnQudHlwZSA9IChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQpID8gMiA6IDM7IC8vIEtleVByZXNz
L1JlbGVhc2UgZ2V0IHVuc2V0IHNvbWV3aGVyZQo=
</data>
<flag name="review"
          id="54570"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="54571"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66009</attachid>
            <date>2010-08-30 20:56:13 -0700</date>
            <delta_ts>2010-09-03 05:13:18 -0700</delta_ts>
            <desc>Patch to initialize keyboard event - Modified changelog</desc>
            <filename>keyboardinitialize.patch</filename>
            <type>text/plain</type>
            <size>1190</size>
            <attacher name="Bharathwaaj">bharathwaaj.s</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjQ0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgtMzAgIEJoYXJhdGh3YWFqIFNyaW5pdmFzYW4gIDxiaGFy
YXRod2Fhai5zQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbml0aWFsaXplIGtleWJvYXJkIGV2ZW50cyBiZWZvcmUgcGFzc2luZyBw
bHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDQ3NzEKKworICAgICAgICBObyBuZXcgdGVzdHMgbmVlZGVkIHNpbmNlIHRoaXMgaXMgYSB0cml2
aWFsIGZpeC4KKworICAgICAgICAqIHBsdWdpbnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6aGFuZGxlS2V5Ym9hcmRFdmVudCk6CisKIDIwMTAt
MDgtMzAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI2NjQxOC4KSW5kZXg6IFdlYkNvcmUvcGx1Z2lucy9ndGsvUGx1Z2lu
Vmlld0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3
R3RrLmNwcAkocmV2aXNpb24gNjU4NTkpCisrKyBXZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblZp
ZXdHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTksNiArMjk5LDcgQEAgdm9pZCBQbHVnaW5W
aWV3OjpoYW5kbGVLZXlib2FyZEV2ZW50KEtleQogCiAgICAgTlBFdmVudCB4RXZlbnQ7CiAjaWYg
ZGVmaW5lZChYUF9VTklYKQorICAgIGluaXRYRXZlbnQoJnhFdmVudCk7CiAgICAgR2RrRXZlbnRL
ZXkqIGdka0V2ZW50ID0gZXZlbnQtPmtleUV2ZW50KCktPmdka0V2ZW50S2V5KCk7CiAKICAgICB4
RXZlbnQudHlwZSA9IChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQp
ID8gMiA6IDM7IC8vIEtleVByZXNzL1JlbGVhc2UgZ2V0IHVuc2V0IHNvbWV3aGVyZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>