[7u4] Review request for 7154480: [macosx] Not all popup menu items are visible
Leonid Romanov
leonid.romanov at oracle.com
Sat Mar 24 11:48:37 PDT 2012
Interesting thing is that combo box popup always takes screen insets into account (see computePopupBounds() method of BasicComboPopup class). It is only plain popup menu that relies on the aforementioned security check. No idea why.
On 24.03.2012, at 0:43, Scott Kovatch wrote:
> I think that's effectively what this bug does. JPopupMenu was only accounting for insets when there was a security manager in effect and a permission wasn't being granted. Now it asks the toolkit what the behavior is, and LWCToolkit says it's never okay for that to happen.
>
> Untrusted code on other platforms still can't hide the task bar with a popup.
>
> -- Scott
>
> On Mar 23, 2012, at 12:25 PM, Mike Swingler wrote:
>
>> I agree that the proper fix is to make the popup code evade the screen insets…is there a bug tracking that?
>>
>> Regards,
>> Mike Swingler
>> Apple Inc
>>
>> On Mar 23, 2012, at 11:56 AM, Scott Kovatch wrote:
>>
>>> Looks like that's only true when the dock is on the side like you have it configured in that screen shot. I can't get it to happen when the Dock is at the bottom of the screen.
>>>
>>> That makes sense, though. This bug is about not being able to autoscroll the popup because you can't move the mouse into the auto-scroll area. That's not an issue when the dock is on the side.
>>>
>>> - Scott
>>>
>>> On Mar 23, 2012, at 11:49 AM, Mike Swingler wrote:
>>>
>>>> Actually, popups _can_ occlude the Dock, but it's very bad form for them to do so. Every effort should be taken to push the popup into the usable insets of the screen…but popups definitely overlap the menubar and the Dock when forced.
>>>>
>>>> <Screen Shot 2012-03-23 at 11.46.37 AM.png>
>>>>
>>>> ~Mike
>>>>
>>>> On Mar 23, 2012, at 11:36 AM, Scott Kovatch wrote:
>>>>
>>>>> No, that's not the right behavior on OS X. The Dock sits above everything else when it's visible -- popups never cover the Dock. You can see this by taking just about any window and dragging it down so it goes behind the dock, then right-click on the window. The context menu always gets pushed up so the bottom of the popup menu sits right above the dock. I think this is the right fix.
>>>>>
>>>>> Out of curiosity, why is it necessary to look for SET_WINDOW_ALWAYS_ON_TOP_PERMISSION? Is it considered bad form or some kind of security issue to block a task bar on Windows?
>>>>>
>>>>> -- Scott
>>>>>
>>>>> On Mar 23, 2012, at 11:14 AM, Anthony Petrov wrote:
>>>>>
>>>>>> Hi Leonid,
>>>>>>
>>>>>> The code changes look good to me. I'm approving the fix given the emergency of the issue.
>>>>>>
>>>>>> However, I think that a more elegant solution for this bug would be to -setLevel: for always-on-top Java windows of the type POPUP to a value that pushes the windows above the dock. This way we wouldn't need an overridable method in the SunToolkit class. Could you file a CR to investigate this possibility in a future release please?
>>>>>>
>>>>>> --
>>>>>> best regards,
>>>>>> Anthony
>>>>>>
>>>>>> On 3/23/2012 9:48 PM, Leonid Romanov wrote:
>>>>>>> Hi,
>>>>>>> Release team has decided that we'd better fix 7154480 for 7u4 because of its high impact on users, so please review a fix for it. The fix prevents popups from overlapping with the Dock/menu bar on OS X, keeping the old behavior for other platforms.
>>>>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7154480
>>>>>>> Webrev: http://cr.openjdk.java.net/~leonidr/7154480/webrev.00/
>>>>>>> Thanks,
>>>>>>> Leonid.
>>>>>
>>>>
>>>
>>
>
More information about the macosx-port-dev
mailing list