<?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>75357</bug_id>
          
          <creation_ts>2011-12-29 08:18:52 -0800</creation_ts>
          <short_desc>[GTK] Context menu is hidden right after showing it when first menu item is not disabled</short_desc>
          <delta_ts>2011-12-29 08:39:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>527935</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-29 08:18:52 -0800</bug_when>
    <thetext>It can be reproduced by right clicking on a link, the popup menu is deactivated right after showing it unless mouse button is not released. The problem is that we are passing GDK_CURRENT_TIME (which is 0) to gtk_popup_menu, because the eventas are async and gtk_get_current_event will be NULL when calling gtk_menu_popup. GtkMenu has a timeout to decide whether the press-release was fast enough and ignore the button release event in that case. That way, a normal right click shows the menu while a long press hides the menuwhen the button is released. So, we need to know the real time when the right button was pressed and pass it to gtk_popup_menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527936</commentid>
    <comment_count>1</comment_count>
      <attachid>120751</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-29 08:23:39 -0800</bug_when>
    <thetext>Created attachment 120751
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527938</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-29 08:26:29 -0800</bug_when>
    <thetext>Ah!, and the reason why it works when the first item is not disabled is because when the timeout is passed, the button release event is also ignored if the first menu item (that receives the release event) is not sentitive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527940</commentid>
    <comment_count>3</comment_count>
      <attachid>120751</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-29 08:32:26 -0800</bug_when>
    <thetext>Comment on attachment 120751
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=120751&amp;action=review

Nice!

&gt; Source/WebKit2/UIProcess/WebPageProxy.h:595
&gt; +    // WebPopupMenuProxy::Client

If you leave a comment here, I think it should be a full  sentence here. &quot;Called by WebPopupMenuProxy::Client.&quot; for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527943</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-29 08:37:21 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 120751 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120751&amp;action=review
&gt; 
&gt; Nice!
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.h:595
&gt; &gt; +    // WebPopupMenuProxy::Client
&gt; 
&gt; If you leave a comment here, I think it should be a full  sentence here. &quot;Called by WebPopupMenuProxy::Client.&quot; for instance.

It&apos;s an existing comment, just copied, see:

http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/WebPageProxy.h#L600

And it means that those methods are the implementation of the WebPopupMenuProxy::Client virtual methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527944</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-29 08:39:26 -0800</bug_when>
    <thetext>Committed r103802: &lt;http://trac.webkit.org/changeset/103802&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120751</attachid>
            <date>2011-12-29 08:23:39 -0800</date>
            <delta_ts>2011-12-29 08:32:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-fix-context-menu.diff</filename>
            <type>text/plain</type>
            <size>3674</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxOTQ2NzE1Li5jZDMyNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTEtMTItMjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIENvbnRleHQgbWVudSBpcyBoaWRkZW4gcmlnaHQgYWZ0ZXIgc2hv
d2luZyBpdCB3aGVuIGZpcnN0IG1lbnUgaXRlbSBpcyBub3QgZGlzYWJsZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByb2JsZW0gaXMgdGhhdCB3
ZSBhcmUgcGFzc2luZyBHREtfQ1VSUkVOVF9USU1FICh3aGljaCBpcyAwKQorICAgICAgICB0byBn
dGtfcG9wdXBfbWVudSwgYmVjYXVzZSB0aGUgZXZlbnRzIGFyZSBhc3luYyBhbmQKKyAgICAgICAg
Z3RrX2dldF9jdXJyZW50X2V2ZW50IGlzIE5VTEwgd2hlbiBjYWxsaW5nIGd0a19tZW51X3BvcHVw
LiBHdGtNZW51CisgICAgICAgIGhhcyBhIHRpbWVvdXQgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIHBy
ZXNzLXJlbGVhc2Ugd2FzIGZhc3QgZW5vdWdoCisgICAgICAgIGFuZCBpZ25vcmUgdGhlIGJ1dHRv
biByZWxlYXNlIGV2ZW50IGluIHRoYXQgY2FzZS4gVGhhdCB3YXksIGEKKyAgICAgICAgbm9ybWFs
IHJpZ2h0IGNsaWNrIHNob3dzIHRoZSBtZW51IHdoaWxlIGEgbG9uZyBwcmVzcyBoaWRlcyB0aGUK
KyAgICAgICAgbWVudSB3aGVuIHRoZSBidXR0b24gaXMgcmVsZWFzZWQuIFNvLCB3ZSBuZWVkIHRv
IGtub3cgdGhlIHJlYWwgdGltZQorICAgICAgICB3aGVuIHRoZSByaWdodCBidXR0b24gd2FzIHBy
ZXNzZWQgYW5kIHBhc3MgaXQgdG8gZ3RrX3BvcHVwX21lbnUuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6IE1ha2UKKyAgICAgICAgY3VycmVudGx5UHJvY2Vzc2VkTW91c2VE
b3duRXZlbnQoKSBwdWJsaWMuCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0TWVu
dVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUd0azo6
c2hvd0NvbnRleHRNZW51KTogVXNlCisgICAgICAgIFdlYlBhZ2VQcm94eTo6Y3VycmVudGx5UHJv
Y2Vzc2VkTW91c2VEb3duRXZlbnQoKSB0byBnZXQgdGhlCisgICAgICAgIGN1cnJlbnQgbW91c2Ug
ZXZlbnQgYW5kIHBhc3MgaXRzIGJ1dHRvbiBudW1iZXIgYW5kIHRpbWUgdG8KKyAgICAgICAgZ3Rr
X3BvcHVwX21lbnUuCisKIDIwMTEtMTItMjggIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBDcmFzaCBpbiB+V2ViR3JhcGhpY3NMYXllciB3
aGVuIHJ1bm5pbmcgZmFzdC9tdWx0aWNvbC9wYWdpbmF0aW9uLSogdGVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAwODM2YjAwLi4yNmM3MDdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC01OTIsNiArNTkyLDkgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBwcmludE1haW5GcmFtZSgpOwogCisgICAgLy8gV2ViUG9wdXBNZW51
UHJveHk6OkNsaWVudAorICAgIHZpcnR1YWwgTmF0aXZlV2ViTW91c2VFdmVudCogY3VycmVudGx5
UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKTsKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHko
UGFnZUNsaWVudCosIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3VwKiwg
dWludDY0X3QgcGFnZUlEKTsKIApAQCAtNjAwLDcgKzYwMyw2IEBAIHByaXZhdGU6CiAgICAgLy8g
V2ViUG9wdXBNZW51UHJveHk6OkNsaWVudAogICAgIHZpcnR1YWwgdm9pZCB2YWx1ZUNoYW5nZWRG
b3JQb3B1cE1lbnUoV2ViUG9wdXBNZW51UHJveHkqLCBpbnQzMl90IG5ld1NlbGVjdGVkSW5kZXgp
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0RnJvbUl0ZW1Gb3JQb3B1cE1lbnUoV2ViUG9wdXBN
ZW51UHJveHkqLCBpbnQzMl90IGluZGV4KTsKLSAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZl
bnQqIGN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCk7CiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIHZpcnR1YWwgdm9pZCBmYWlsZWRUb1Nob3dQb3B1cE1lbnUoKTsKICNlbmRpZiAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dE1lbnVQ
cm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRNZW51
UHJveHlHdGsuY3BwCmluZGV4IDQzZmFmNDYuLmQ4NWIzZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0TWVudVByb3h5R3RrLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRN
ZW51UHJveHlHdGsuaCIKIAorI2luY2x1ZGUgIk5hdGl2ZVdlYk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5Lmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgpAQCAtODEsNyArODIsMTAgQEAgdm9p
ZCBXZWJDb250ZXh0TWVudVByb3h5R3RrOjpzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHBvc2l0aW9uLAogICAgIG1fcG9wdXBQb3NpdGlvbiA9IGNvbnZlcnRXaWRnZXRQ
b2ludFRvU2NyZWVuUG9pbnQobV93ZWJWaWV3LCBwb3NpdGlvbik7CiAKICAgICAvLyBEaXNwbGF5
IG1lbnUgaW5pdGlhdGVkIGJ5IHJpZ2h0IGNsaWNrIChtb3VzZSBidXR0b24gcHJlc3NlZCA9IDMp
LgotICAgIGd0a19tZW51X3BvcHVwKG1fcG9wdXAsIDAsIDAsIHJlaW50ZXJwcmV0X2Nhc3Q8R3Rr
TWVudVBvc2l0aW9uRnVuYz4obWVudVBvc2l0aW9uRnVuY3Rpb24pLCB0aGlzLCAzLCBHREtfQ1VS
UkVOVF9USU1FKTsKKyAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gbV9wYWdl
LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpOworICAgIGNvbnN0IEdka0V2ZW50
KiBldmVudCA9IG1vdXNlRXZlbnQgPyBtb3VzZUV2ZW50LT5uYXRpdmVFdmVudCgpIDogMDsKKyAg
ICBndGtfbWVudV9wb3B1cChtX3BvcHVwLCAwLCAwLCByZWludGVycHJldF9jYXN0PEd0a01lbnVQ
b3NpdGlvbkZ1bmM+KG1lbnVQb3NpdGlvbkZ1bmN0aW9uKSwgdGhpcywKKyAgICAgICAgICAgICAg
ICAgICBldmVudCA/IGV2ZW50LT5idXR0b24uYnV0dG9uIDogMywgZXZlbnQgPyBldmVudC0+YnV0
dG9uLnRpbWUgOiBHREtfQ1VSUkVOVF9USU1FKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0TWVudVBy
b3h5R3RrOjpoaWRlQ29udGV4dE1lbnUoKQo=
</data>
<flag name="review"
          id="121073"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>