If the select element is positioned off the edge of the screen to the left, the menu is resized. It should not be resized, just shifted to remain on the screen. If the select element is positioned off the edge of the screen to the right, the menu goes off screen instead of being shifted over to appear on screen.
Radar: <rdar://problem/7611229>
Created attachment 153847 [details] Patch to fix Windows menu list positioning code.
Comment on attachment 153847 [details] Patch to fix Windows menu list positioning code. View in context: https://bugs.webkit.org/attachment.cgi?id=153847&action=review > ManualTests/win/select-menu-off-screen.html:8 > +<select id = "left-select-over" style="margin-left:-50px;"> You have extra space around the = > ManualTests/win/select-menu-off-screen.html:12 > + <option value="volvo">Volvo</option> > + <option value="saab">Saab</option> > + <option value="mercedes">Mercedes</option> > + <option value="audi">Audi</option> I wonder if we should use something more neutral than car manufacturers :) > ManualTests/win/select-menu-off-screen.html:14 > +<select id = "right-select-over" style="float:right; margin-right:-50px;"> You have extra space around the = > Source/WebCore/platform/win/PopupMenuWin.cpp:-382 > - if (popupRect.x() < screen.x()) { > - popupRect.setWidth(popupRect.width() - (screen.x() - popupRect.x())); What happens now if the popup is super wide?
You've got that executable flag set again. I wonder if there's something you can do in your svn config to stop that from happening.
Created attachment 153851 [details] Remove executable property from test file
Attachment 153851 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'ChangeLog', u'ManualTests/win/select-menu-..." exit_code: 1 ManualTests/win/select-menu-off-screen.html:1: One or more unexpected \r (^M) found; better to use only a \n [whitespace/carriage_return] [1] Suppressing further [whitespace/carriage_return] reports for this file. Total errors found: 21 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
If the width is too large it just flows off screen according to whichever case it first hits. I guess however that I may as well adjust the width. It should probably also always show the beginning of the menu entries.
Created attachment 153879 [details] Correction to make sure that if width is larger than screen width, left side of menus will always appear. Changed test file to use more generic menu items.
Comment on attachment 153879 [details] Correction to make sure that if width is larger than screen width, left side of menus will always appear. Changed test file to use more generic menu items. Clearing flags on attachment: 153879 Committed r123411: <http://trac.webkit.org/changeset/123411>
All reviewed patches have been landed. Closing bug.