AWT Dev hg: jdk8/awt/jdk: 2 new changesets

2012-07-04 Thread sergey . bylokhov
Changeset: f1a90ee31b38
Author:serb
Date:  2012-07-04 14:38 +0400
URL:   http://hg.openjdk.java.net/jdk8/awt/jdk/rev/f1a90ee31b38

7124244: [macosx] Shaped windows support
Reviewed-by: anthony, art

! src/macosx/classes/sun/java2d/opengl/CGLLayer.java
! src/macosx/classes/sun/lwawt/LWComponentPeer.java
! src/macosx/classes/sun/lwawt/LWRepaintArea.java
! src/macosx/classes/sun/lwawt/LWToolkit.java
! src/macosx/classes/sun/lwawt/LWWindowPeer.java
! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java
! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java
! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java
! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/macosx/native/sun/awt/AWTWindow.m
! src/share/classes/javax/swing/RepaintManager.java
! src/share/classes/sun/awt/SunToolkit.java

Changeset: 80c592c9458e
Author:serb
Date:  2012-07-04 15:36 +0400
URL:   http://hg.openjdk.java.net/jdk8/awt/jdk/rev/80c592c9458e

7124513: [macosx] Support NSTexturedBackgroundWindowMask/different titlebar 
styles to create unified toolbar
Reviewed-by: anthony, art

! src/macosx/classes/com/apple/laf/AquaPanelUI.java
! src/macosx/classes/com/apple/laf/AquaRootPaneUI.java
! src/macosx/classes/com/apple/laf/AquaToolBarUI.java
! src/macosx/classes/com/apple/laf/AquaUtils.java
! src/macosx/classes/sun/lwawt/LWWindowPeer.java
! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java
! src/share/classes/javax/swing/JViewport.java



AWT Dev [8] Review request for 7177173: [macosx] JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) not working as expected in JDK 7

2012-07-04 Thread Anthony Petrov

Hello,

Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=7177173 at:

http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/

The bug synopsis may sound misleading: the original problem with 
applying the extended state after showing a frame has been resolved a 
while back with another fix. The only issue currently left is that the 
state is reset when a frame is disposed/hidden, which prevents apps from 
tracking the last known state of a window.


With this fix we avoid canceling/reapplying the maximized state to 
windows on each showing/hiding operation. Instead we track the state in 
the CPlatformWindow instance, and apply it on showing of the window if 
the state differs from what shared code expects. The behavior now 
matches that of Apple JDK (including handling of the ICONIFIED state).


--
best regards,
Anthony


Re: AWT Dev [8] Review request for 7177173: [macosx] JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) not working as expected in JDK 7

2012-07-04 Thread Anthony Petrov

Hi Sergey,

Thanks for the review.

On 7/4/2012 7:07 PM, Sergey Bylokhov wrote:

Why there are two different methods for isZoomed?

 481 final boolean isZoomed = *this.normalBounds == null*;


Here we determine a new state that needs to be set to an undecorated 
window. This is what isZoomed() will return after the zoom() method returns.



But in the method we use another code.

 471 private boolean isZoomed() {
 472 return zoomed || *this.normalBounds != null*;
 473 }


This is a method that returns the current zoomed state for any window 
regardless whether it is decorated or not.



Probably it can be unified?


No. These are completely different operations. We might change the first 
line to final boolean isZoomed = !isZoomed();, but the current code 
looks a lot clearer to me.


--
best regards,
Anthony





04.07.2012 18:54, Anthony Petrov wrote:

Hello,

Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=7177173 
at:


http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/

The bug synopsis may sound misleading: the original problem with 
applying the extended state after showing a frame has been resolved a 
while back with another fix. The only issue currently left is that the 
state is reset when a frame is disposed/hidden, which prevents apps 
from tracking the last known state of a window.


With this fix we avoid canceling/reapplying the maximized state to 
windows on each showing/hiding operation. Instead we track the state 
in the CPlatformWindow instance, and apply it on showing of the window 
if the state differs from what shared code expects. The behavior now 
matches that of Apple JDK (including handling of the ICONIFIED state).


--
best regards,
Anthony



--
Best regards, Sergey. 



Re: AWT Dev [8] Review request for 7177173: [macosx] JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) not working as expected in JDK 7

2012-07-04 Thread Sergey Bylokhov

Hi,Anthony.
I just point to the same name isZoomed,  which contains different state:
first is true for this.normalBounds == null and the second true for 
this.normalBounds != null.

This is strange.
I believe that correct code should be isZoomed = isZoomed();?

04.07.2012 19:15, Anthony Petrov wrote:

Hi Sergey,

Thanks for the review.

On 7/4/2012 7:07 PM, Sergey Bylokhov wrote:

Why there are two different methods for isZoomed?

 481 final boolean isZoomed = *this.normalBounds == null*;


Here we determine a new state that needs to be set to an undecorated 
window. This is what isZoomed() will return after the zoom() method 
returns.



But in the method we use another code.

 471 private boolean isZoomed() {
 472 return zoomed || *this.normalBounds != null*;
 473 }


This is a method that returns the current zoomed state for any window 
regardless whether it is decorated or not.



Probably it can be unified?


No. These are completely different operations. We might change the 
first line to final boolean isZoomed = !isZoomed();, but the current 
code looks a lot clearer to me.


--
best regards,
Anthony





04.07.2012 18:54, Anthony Petrov wrote:

Hello,

Please review a fix for 
http://bugs.sun.com/view_bug.do?bug_id=7177173 at:


http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/

The bug synopsis may sound misleading: the original problem with 
applying the extended state after showing a frame has been resolved 
a while back with another fix. The only issue currently left is that 
the state is reset when a frame is disposed/hidden, which prevents 
apps from tracking the last known state of a window.


With this fix we avoid canceling/reapplying the maximized state to 
windows on each showing/hiding operation. Instead we track the state 
in the CPlatformWindow instance, and apply it on showing of the 
window if the state differs from what shared code expects. The 
behavior now matches that of Apple JDK (including handling of the 
ICONIFIED state).


--
best regards,
Anthony



--
Best regards, Sergey.



--
Best regards, Sergey.



Re: AWT Dev [8] Review request for 7177173: [macosx] JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) not working as expected in JDK 7

2012-07-04 Thread Anthony Petrov

Hi Sergey,

Please find an updated webrev at:

http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.2/

I renamed the local variable from isZoomed to doZoom.

--
best regards,
Anthony

On 7/4/2012 7:26 PM, Sergey Bylokhov wrote:

Hi,Anthony.
I just point to the same name isZoomed,  which contains different state:
first is true for this.normalBounds == null and the second true for 
this.normalBounds != null.

This is strange.
I believe that correct code should be isZoomed = isZoomed();?

04.07.2012 19:15, Anthony Petrov wrote:

Hi Sergey,

Thanks for the review.

On 7/4/2012 7:07 PM, Sergey Bylokhov wrote:

Why there are two different methods for isZoomed?

 481 final boolean isZoomed = *this.normalBounds == null*;


Here we determine a new state that needs to be set to an undecorated 
window. This is what isZoomed() will return after the zoom() method 
returns.



But in the method we use another code.

 471 private boolean isZoomed() {
 472 return zoomed || *this.normalBounds != null*;
 473 }


This is a method that returns the current zoomed state for any window 
regardless whether it is decorated or not.



Probably it can be unified?


No. These are completely different operations. We might change the 
first line to final boolean isZoomed = !isZoomed();, but the current 
code looks a lot clearer to me.


--
best regards,
Anthony





04.07.2012 18:54, Anthony Petrov wrote:

Hello,

Please review a fix for 
http://bugs.sun.com/view_bug.do?bug_id=7177173 at:


http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/

The bug synopsis may sound misleading: the original problem with 
applying the extended state after showing a frame has been resolved 
a while back with another fix. The only issue currently left is that 
the state is reset when a frame is disposed/hidden, which prevents 
apps from tracking the last known state of a window.


With this fix we avoid canceling/reapplying the maximized state to 
windows on each showing/hiding operation. Instead we track the state 
in the CPlatformWindow instance, and apply it on showing of the 
window if the state differs from what shared code expects. The 
behavior now matches that of Apple JDK (including handling of the 
ICONIFIED state).


--
best regards,
Anthony



--
Best regards, Sergey.