<?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>147880</bug_id>
          
          <creation_ts>2015-08-11 07:33:24 -0700</creation_ts>
          <short_desc>[Win] Popup menus have incorrect placement when device scale factor != 1.</short_desc>
          <delta_ts>2015-08-11 10:16:15 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1116531</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-11 07:33:24 -0700</bug_when>
    <thetext>We need to take the device scaling factor into account when calculating the position and size of the popup menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116534</commentid>
    <comment_count>1</comment_count>
      <attachid>258717</attachid>
    <who name="">peavo</who>
    <bug_when>2015-08-11 07:37:53 -0700</bug_when>
    <thetext>Created attachment 258717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116548</commentid>
    <comment_count>2</comment_count>
      <attachid>258717</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-11 09:26:49 -0700</bug_when>
    <thetext>Comment on attachment 258717
Patch

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

r=me.

&gt; Source/WebCore/platform/win/PopupMenuWin.cpp:291
&gt; +    if (!::ClientToScreen(hostWindow, &amp;absoluteLocation))

Heh -- nice simplification! :-)

&gt; Source/WebCore/platform/win/PopupMenuWin.cpp:317
&gt; +    Page* page = v-&gt;frame().page();

How about: &quot;if (Page* page = v-&gt;frame().page()) ...&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116549</commentid>
    <comment_count>3</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-11 09:40:41 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 258717 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=258717&amp;action=review
&gt; 
&gt; r=me.
&gt; 

Thanks!

&gt; &gt; Source/WebCore/platform/win/PopupMenuWin.cpp:291
&gt; &gt; +    if (!::ClientToScreen(hostWindow, &amp;absoluteLocation))
&gt; 
&gt; Heh -- nice simplification! :-)
&gt; 
&gt; &gt; Source/WebCore/platform/win/PopupMenuWin.cpp:317
&gt; &gt; +    Page* page = v-&gt;frame().page();
&gt; 
&gt; How about: &quot;if (Page* page = v-&gt;frame().page()) ...&quot; ?

I would have changed this, but now I see it&apos;s already in the commit queue :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116550</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-11 09:42:04 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 258717 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=258717&amp;action=review
&gt; &gt; 
&gt; &gt; r=me.
&gt; &gt; 
&gt; 
&gt; Thanks!
&gt; 
&gt; &gt; &gt; Source/WebCore/platform/win/PopupMenuWin.cpp:291
&gt; &gt; &gt; +    if (!::ClientToScreen(hostWindow, &amp;absoluteLocation))
&gt; &gt; 
&gt; &gt; Heh -- nice simplification! :-)
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/win/PopupMenuWin.cpp:317
&gt; &gt; &gt; +    Page* page = v-&gt;frame().page();
&gt; &gt; 
&gt; &gt; How about: &quot;if (Page* page = v-&gt;frame().page()) ...&quot; ?
&gt; 
&gt; I would have changed this, but now I see it&apos;s already in the commit queue :)

Yes -- that&apos;s my fault! Don&apos;t worry about the change. I was just writing comments as I read the patch. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116563</commentid>
    <comment_count>5</comment_count>
    <who name="">peavo</who>
    <bug_when>2015-08-11 09:59:26 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; 
&gt; Yes -- that&apos;s my fault! Don&apos;t worry about the change. I was just writing
&gt; comments as I read the patch. :-)

Ok, thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116566</commentid>
    <comment_count>6</comment_count>
      <attachid>258717</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-11 10:16:12 -0700</bug_when>
    <thetext>Comment on attachment 258717
Patch

Clearing flags on attachment: 258717

Committed r188259: &lt;http://trac.webkit.org/changeset/188259&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116567</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-11 10:16:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258717</attachid>
            <date>2015-08-11 07:37:53 -0700</date>
            <delta_ts>2015-08-11 10:16:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147880-20150811163527.patch</filename>
            <type>text/plain</type>
            <size>2364</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4ODI1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA4LTExICBQZXIgQXJu
ZSBWb2xsYW4gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbV2luXSBQb3B1cCBtZW51
cyBoYXZlIGluY29ycmVjdCBwbGFjZW1lbnQgd2hlbiBkZXZpY2Ugc2NhbGUgZmFjdG9yICE9IDEu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc4ODAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVk
IHRvIHRha2UgdGhlIGRldmljZSBzY2FsaW5nIGZhY3RvciBpbnRvIGFjY291bnQgd2hlbiBjYWxj
dWxhdGluZworICAgICAgICB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIHBvcHVwIG1lbnUu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTaXplKToKKwogMjAxNS0w
OC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSAncHJv
dG90eXBlJyBwcm9wZXJ0eSBvbiBpbnRlcmZhY2Ugb2JqZWN0cyBzaG91bGQgbm90IGJlIGVudW1l
cmFibGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4u
Y3BwCShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9w
dXBNZW51V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg4LDcgKzI4OCw3IEBAIHZvaWQgUG9w
dXBNZW51V2luOjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKICAgICBJbnRSZWN0IGFic29sdXRlQm91
bmRzID0gKChSZW5kZXJNZW51TGlzdCopbV9wb3B1cENsaWVudCktPmFic29sdXRlQm91bmRpbmdC
b3hSZWN0KCk7CiAgICAgSW50UmVjdCBhYnNvbHV0ZVNjcmVlbkNvb3Jkcyh2LT5jb250ZW50c1Rv
V2luZG93KGFic29sdXRlQm91bmRzLmxvY2F0aW9uKCkpLCBhYnNvbHV0ZUJvdW5kcy5zaXplKCkp
OwogICAgIFBPSU5UIGFic29sdXRlTG9jYXRpb24oYWJzb2x1dGVTY3JlZW5Db29yZHMubG9jYXRp
b24oKSk7Ci0gICAgaWYgKCE6OkNsaWVudFRvU2NyZWVuKHYtPmhvc3RXaW5kb3coKS0+cGxhdGZv
cm1QYWdlQ2xpZW50KCksICZhYnNvbHV0ZUxvY2F0aW9uKSkKKyAgICBpZiAoITo6Q2xpZW50VG9T
Y3JlZW4oaG9zdFdpbmRvdywgJmFic29sdXRlTG9jYXRpb24pKQogICAgICAgICByZXR1cm47CiAg
ICAgYWJzb2x1dGVTY3JlZW5Db29yZHMuc2V0TG9jYXRpb24oYWJzb2x1dGVMb2NhdGlvbik7CiAK
QEAgLTMxMywxMSArMzEzLDE1IEBAIHZvaWQgUG9wdXBNZW51V2luOjpjYWxjdWxhdGVQb3NpdGlv
bkFuZFMKICAgICAvLyByIGlzIGluIGFic29sdXRlIGRvY3VtZW50IGNvb3JkaW5hdGVzLCBidXQg
d2Ugd2FudCB0byBiZSBpbiBzY3JlZW4gY29vcmRpbmF0ZXMuCiAKICAgICAvLyBGaXJzdCwgbW92
ZSB0byBXZWJWaWV3IGNvb3JkaW5hdGVzCi0gICAgSW50UmVjdCByU2NyZWVuQ29vcmRzKHYtPmNv
bnRlbnRzVG9XaW5kb3coci5sb2NhdGlvbigpKSwgci5zaXplKCkpOworICAgIEludFJlY3QgclNj
YWxlZCA9IHI7CisgICAgUGFnZSogcGFnZSA9IHYtPmZyYW1lKCkucGFnZSgpOworICAgIGlmIChw
YWdlKQorICAgICAgICByU2NhbGVkLnNjYWxlKHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCkpOwor
ICAgIEludFJlY3QgclNjcmVlbkNvb3Jkcyh2LT5jb250ZW50c1RvV2luZG93KHJTY2FsZWQubG9j
YXRpb24oKSksIHJTY2FsZWQuc2l6ZSgpKTsKIAogICAgIC8vIFRoZW4sIHRyYW5zbGF0ZSB0byBz
Y3JlZW4gY29vcmRpbmF0ZXMKICAgICBQT0lOVCBsb2NhdGlvbihyU2NyZWVuQ29vcmRzLmxvY2F0
aW9uKCkpOwotICAgIGlmICghOjpDbGllbnRUb1NjcmVlbih2LT5ob3N0V2luZG93KCktPnBsYXRm
b3JtUGFnZUNsaWVudCgpLCAmbG9jYXRpb24pKQorICAgIGlmICghOjpDbGllbnRUb1NjcmVlbiho
b3N0V2luZG93LCAmbG9jYXRpb24pKQogICAgICAgICByZXR1cm47CiAKICAgICByU2NyZWVuQ29v
cmRzLnNldExvY2F0aW9uKGxvY2F0aW9uKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>