<?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>210603</bug_id>
          
          <creation_ts>2020-04-16 06:28:41 -0700</creation_ts>
          <short_desc>[GTK][X11] REGRESSION(r259944): Wrong position of select popup menu in X11</short_desc>
          <delta_ts>2020-04-17 08:25:02 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210069</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, Regression</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>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1642229</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-04-16 06:28:41 -0700</bug_when>
    <thetext>It works in Wayland, but fails in X11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642247</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-04-16 07:30:40 -0700</bug_when>
    <thetext>Does anybody know how to make gdk_window_move_to_rect() work in X11? It seems we need to convert the coordinates somehow, but I don&apos;t know exactly how. gtk_window_move() works fine in X11, so if I can&apos;t make gdk_window_move_to_rect() work for both I&apos;ll use it only under wayland.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642260</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-16 08:27:11 -0700</bug_when>
    <thetext>Jonas says: &quot;i don&apos;t understand the question. that API is used internally in gtk by both wayland and x11&quot;

(In reply to Carlos Garcia Campos from comment #1)
&gt; gtk_window_move() works fine in X11, so if I can&apos;t make
&gt; gdk_window_move_to_rect() work for both I&apos;ll use it only under wayland.

I learned a Finnish proverb from Adrian: &quot;the reindeer will go where the fence is the lowest.&quot; The reindeer are wise....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642484</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-04-16 16:18:44 -0700</bug_when>
    <thetext>Maybe the long-term solution for this is using GtkPopover[Menu],
like I just did for bug #170553 — then we can let GTK do the
positioning work using gtk_popover_set_pointing_to(widget, rect)
and gtk_popover_set_position(widget, GTK_POS_BOTTOM) to make the
popover appear below the button. If we want to remove the arrow
that would point to the button or change the appearance I *think*
there are some CSS classes we can set. As for making the popover
width at least as long as the button, I think *maybe* we could
use a GtkSizeGroup, but maybe if we end up using a popover there
is not much point in doing that 🤔️</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642651</commentid>
    <comment_count>4</comment_count>
      <attachid>396761</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-04-17 06:18:18 -0700</bug_when>
    <thetext>Created attachment 396761
Patch

Managed to make it work in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642675</commentid>
    <comment_count>5</comment_count>
      <attachid>396761</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-17 08:09:38 -0700</bug_when>
    <thetext>Comment on attachment 396761
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        gdk_window_move_to_rect expects the given rectangle in coordinates relative to the top-left corner of the window
&gt; +        that the popup window is transient for. We were using screen coordinates.

Yup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642682</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-17 08:25:00 -0700</bug_when>
    <thetext>Committed r260252: &lt;https://trac.webkit.org/changeset/260252&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396761.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396761</attachid>
            <date>2020-04-17 06:18:18 -0700</date>
            <delta_ts>2020-04-17 08:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-popup-position-x11.diff</filename>
            <type>text/plain</type>
            <size>2528</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMWI0ZTU5Y2RkY2U5Li40MWFkZDkxOGMwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjAtMDQtMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1gxMV0gUkVHUkVTU0lPTihyMjU5OTQ0KTogV3Jvbmcg
cG9zaXRpb24gb2Ygc2VsZWN0IHBvcHVwIG1lbnUgaW4gWDExCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA2MDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBnZGtfd2luZG93X21vdmVfdG9fcmVjdCBleHBl
Y3RzIHRoZSBnaXZlbiByZWN0YW5nbGUgaW4gY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8gdGhlIHRv
cC1sZWZ0IGNvcm5lciBvZiB0aGUgd2luZG93CisgICAgICAgIHRoYXQgdGhlIHBvcHVwIHdpbmRv
dyBpcyB0cmFuc2llbnQgZm9yLiBXZSB3ZXJlIHVzaW5nIHNjcmVlbiBjb29yZGluYXRlcy4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6c2hvd1BvcHVwTWVudSk6IFRyYW5zbGF0
ZSB3aWRnZXQgY29vcmRpbmF0ZXMgdG8gd2luZG93IGNvb3JkaW5hdGVzIGJlZm9yZSBwYXNzaW5n
CisgICAgICAgIHRoZSByZWN0YW5nbGUgdG8gZ2RrX3dpbmRvd19tb3ZlX3RvX3JlY3QoKS4KKwog
MjAyMC0wNC0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gVUkgcHJvY2VzcyBjcmFzaCB3aGVuIGVudGVyaW5nIGNvbXBvc2l0aW5n
IG1vZGUgd2hlbiBXUEVfUkVOREVSRVIgaXMgZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggNGVhZDc3ZDEw
ZDY4Li5mMmI5NzQ1NDdjMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Z3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApAQCAtMjc2LDE1ICsyNzYsMTYgQEAgdm9pZCBX
ZWJQb3B1cE1lbnVQcm94eUd0azo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBU
ZXh0RGlyZWN0aW9uLCBkb3UKICAgICBndGtfd2lkZ2V0X3NldF9zaXplX3JlcXVlc3QobV9wb3B1
cCwgd2lkdGgsIC0xKTsKICAgICBndGtfc2Nyb2xsZWRfd2luZG93X3NldF9taW5fY29udGVudF9o
ZWlnaHQoc3dpbmRvdywgaXRlbUNvdW50ICogaXRlbUhlaWdodCk7CiAKLSAgICBJbnRQb2ludCBt
ZW51UG9zaXRpb24gPSBjb252ZXJ0V2lkZ2V0UG9pbnRUb1NjcmVlblBvaW50KG1fd2ViVmlldywg
cmVjdC5sb2NhdGlvbigpKTsKICNpZiBHVEtfQ0hFQ0tfVkVSU0lPTigzLCAyNCwgMCkKLSAgICBH
ZGtSZWN0YW5nbGUgd2luZG93UmVjdCA9IHsgbWVudVBvc2l0aW9uLngoKSwgbWVudVBvc2l0aW9u
LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpIH07CisgICAgR2RrUmVjdGFuZ2xlIHdp
bmRvd1JlY3QgPSB7IHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdo
dCgpIH07CisgICAgZ3RrX3dpZGdldF90cmFuc2xhdGVfY29vcmRpbmF0ZXMobV93ZWJWaWV3LCB0
b3BsZXZlbCwgd2luZG93UmVjdC54LCB3aW5kb3dSZWN0LnksICZ3aW5kb3dSZWN0LngsICZ3aW5k
b3dSZWN0LnkpOwogICAgIGdka193aW5kb3dfbW92ZV90b19yZWN0KGd0a193aWRnZXRfZ2V0X3dp
bmRvdyhtX3BvcHVwKSwgJndpbmRvd1JlY3QsIEdES19HUkFWSVRZX1NPVVRIX1dFU1QsIEdES19H
UkFWSVRZX05PUlRIX1dFU1QsCiAgICAgICAgIHN0YXRpY19jYXN0PEdka0FuY2hvckhpbnRzPihH
REtfQU5DSE9SX0ZMSVAgfCBHREtfQU5DSE9SX1NMSURFIHwgR0RLX0FOQ0hPUl9SRVNJWkUpLCAw
LCAwKTsKICNlbHNlCiAgICAgR3RrUmVxdWlzaXRpb24gbWVudVJlcXVpc2l0aW9uOwogICAgIGd0
a193aWRnZXRfZ2V0X3ByZWZlcnJlZF9zaXplKG1fcG9wdXAsICZtZW51UmVxdWlzaXRpb24sIG51
bGxwdHIpOwogCisgICAgSW50UG9pbnQgbWVudVBvc2l0aW9uID0gY29udmVydFdpZGdldFBvaW50
VG9TY3JlZW5Qb2ludChtX3dlYlZpZXcsIHJlY3QubG9jYXRpb24oKSk7CiAgICAgaWYgKG1lbnVQ
b3NpdGlvbi54KCkgKyBtZW51UmVxdWlzaXRpb24ud2lkdGggPiBhcmVhLnggKyBhcmVhLndpZHRo
KQogICAgICAgICBtZW51UG9zaXRpb24uc2V0WChhcmVhLnggKyBhcmVhLndpZHRoIC0gbWVudVJl
cXVpc2l0aW9uLndpZHRoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>