changeset 4297:06979c6310cd

RT-29951: Mac: Weird results when set stage min size during layout RT-28848: Win: Setting stage min width/height doesn't work before showing the stage on Windows Reviewed-by: anthony, art
author Petr Pchelko <petr.pchelko@oracle.com>
date Tue, 16 Jul 2013 11:03:29 +0400
parents dc2725737249
children a24be2f5230e
files modules/graphics/src/main/java/com/sun/javafx/stage/EmbeddedWindow.java modules/graphics/src/main/java/com/sun/javafx/stage/WindowHelper.java modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java modules/graphics/src/main/java/com/sun/javafx/tk/TKScene.java modules/graphics/src/main/java/com/sun/javafx/tk/TKStage.java modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/EmbeddedStage.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassScene.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassStage.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/PopupStage.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java modules/graphics/src/main/java/javafx/scene/Scene.java modules/graphics/src/main/java/javafx/stage/PopupWindow.java modules/graphics/src/main/java/javafx/stage/Stage.java modules/graphics/src/main/java/javafx/stage/Window.java modules/graphics/src/main/native-glass/mac/GlassWindow+Java.h modules/graphics/src/main/native-glass/mac/GlassWindow+Java.m modules/graphics/src/main/native-glass/mac/GlassWindow.h modules/graphics/src/main/native-glass/mac/GlassWindow.m modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubScene.java modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubStage.java modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubToolkit.java
diffstat 23 files changed, 67 insertions(+), 107 deletions(-) [+]
line wrap: on
line diff
--- a/modules/graphics/src/main/java/com/sun/javafx/stage/EmbeddedWindow.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/stage/EmbeddedWindow.java	Tue Jul 16 11:03:29 2013 +0400
@@ -64,7 +64,7 @@
         Toolkit toolkit = Toolkit.getToolkit();
         if (visible && (impl_peer == null)) {
             // Setup the peer
-            impl_peer = toolkit.createTKEmbeddedStage(host);
+            impl_peer = toolkit.createTKEmbeddedStage(host, WindowHelper.getAccessControlContext(this));
             peerListener = new WindowPeerListener(this);
         }
     }
--- a/modules/graphics/src/main/java/com/sun/javafx/stage/WindowHelper.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/stage/WindowHelper.java	Tue Jul 16 11:03:29 2013 +0400
@@ -27,6 +27,8 @@
 
 import javafx.stage.Window;
 
+import java.security.AccessControlContext;
+
 /**
  * Used to access internal window methods.
  */
@@ -52,6 +54,10 @@
         windowAccessor.setSize(window, width, height);
     }
 
+    static AccessControlContext getAccessControlContext(Window window) {
+        return windowAccessor.getAccessControlContext(window);
+    }
+
     public static void setWindowAccessor(final WindowAccessor newAccessor) {
         if (windowAccessor != null) {
             throw new IllegalStateException();
@@ -64,6 +70,8 @@
         void setLocation(Window window, double x, double y);
 
         void setSize(Window window, double width, double height);
+
+        AccessControlContext getAccessControlContext(Window window);
     }
 
     private static void forceInit(final Class<?> classToInit) {
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/DummyToolkit.java	Tue Jul 16 11:03:29 2013 +0400
@@ -46,6 +46,7 @@
 import javafx.stage.StageStyle;
 import java.io.File;
 import java.io.InputStream;
+import java.security.AccessControlContext;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -88,17 +89,17 @@
     }
 
     @Override
-    public TKStage createTKStage(StageStyle stageStyle, boolean primary, Modality modality, TKStage owner, boolean rtl) {
+    public TKStage createTKStage(StageStyle stageStyle, boolean primary, Modality modality, TKStage owner, boolean rtl, AccessControlContext acc) {
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
     @Override
-    public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner) {
+    public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner, AccessControlContext acc) {
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
     @Override
-    public TKStage createTKEmbeddedStage(HostInterface host) {
+    public TKStage createTKEmbeddedStage(HostInterface host, AccessControlContext acc) {
         throw new UnsupportedOperationException("Not supported yet.");
     }
 
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/TKScene.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/TKScene.java	Tue Jul 16 11:03:29 2013 +0400
@@ -41,11 +41,6 @@
       */
     public void dispose();
 
-    /**
-     * This method is used to set security context of the Scene.
-     */
-    public void setSecurityContext(AccessControlContext ctx);
-
     public void waitForRenderingToComplete();
     
     /**
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/TKStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/TKStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -35,12 +35,6 @@
  *
  */
 public interface TKStage {
-
-    /**
-     * This method is used to set security context of the Stage.
-     */
-    public void setSecurityContext(AccessControlContext ctx);
-
     /**
      * Listener for this stage peer to pass updates and events back to the stage
      *
@@ -53,7 +47,7 @@
      *
      * @return scenePeer The peer of the scene to be displayed
      */
-    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing);
+    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing, AccessControlContext acc);
 
     /**
      * Set the scene to be displayed in this stage
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java	Tue Jul 16 11:03:29 2013 +0400
@@ -55,6 +55,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.security.AccessControlContext;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
@@ -269,10 +270,10 @@
     public abstract boolean isNestedLoopRunning();
 
     public abstract TKStage createTKStage(StageStyle stageStyle, boolean primary,
-            Modality modality, TKStage owner, boolean rtl);
+            Modality modality, TKStage owner, boolean rtl, AccessControlContext acc);
 
-    public abstract TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner);
-    public abstract TKStage createTKEmbeddedStage(HostInterface host);
+    public abstract TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner, AccessControlContext acc);
+    public abstract TKStage createTKEmbeddedStage(HostInterface host, AccessControlContext acc);
 
     /**
      * Creates an AppletWindow using the provided window pointer as the parent
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/EmbeddedStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/EmbeddedStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -50,8 +50,10 @@
     // TKStage methods
 
     @Override
-    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing) {
-        return new EmbeddedScene(host, depthBuffer, antiAliasing);
+    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing, AccessControlContext acc) {
+        EmbeddedScene scene = new EmbeddedScene(host, depthBuffer, antiAliasing);
+        scene.setSecurityContext(acc);
+        return scene;
     }
 
     @Override
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassScene.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassScene.java	Tue Jul 16 11:03:29 2013 +0400
@@ -98,7 +98,7 @@
         return accessCtrlCtx;
     }
 
-    @Override public final void setSecurityContext(AccessControlContext ctx) {
+    public final void setSecurityContext(AccessControlContext ctx) {
         if (accessCtrlCtx != null) {
             throw new RuntimeException("Scene security context has been already set!");
         }
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/GlassStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -97,7 +97,7 @@
         return accessCtrlCtx;
     }
 
-    @Override public final void setSecurityContext(AccessControlContext ctx) {
+    public final void setSecurityContext(AccessControlContext ctx) {
         if (accessCtrlCtx != null) {
             throw new RuntimeException("Stage security context has been already set!");
         }
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/PopupStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/PopupStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -35,6 +35,8 @@
 import com.sun.javafx.tk.TKScene;
 import com.sun.javafx.tk.TKStage;
 
+import java.security.AccessControlContext;
+
 final class PopupStage extends WindowStage  {
 
     public PopupStage(final TKStage owner) {
@@ -56,8 +58,10 @@
     }
 
     @Override
-    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing) {
-        return new PopupScene(depthBuffer, antiAliasing);
+    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing, AccessControlContext acc) {
+        PopupScene scene =  new PopupScene(depthBuffer, antiAliasing);
+        scene.setSecurityContext(acc);
+        return scene;
     }
 
     public void setResizable(final boolean resizable) {
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/QuantumToolkit.java	Tue Jul 16 11:03:29 2013 +0400
@@ -57,6 +57,7 @@
 import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.nio.IntBuffer;
+import java.security.AccessControlContext;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
@@ -568,9 +569,10 @@
     }
 
     @Override public TKStage createTKStage(StageStyle stageStyle,
-            boolean primary, Modality modality, TKStage owner, boolean rtl) {
+            boolean primary, Modality modality, TKStage owner, boolean rtl, AccessControlContext acc) {
         assertToolkitRunning();
         WindowStage stage = new WindowStage(stageStyle, primary, modality, owner);
+        stage.setSecurityContext(acc);
         stage.setRTL(rtl);
         stage.init(systemMenu);
         return stage;
@@ -616,14 +618,19 @@
         eventLoop.leave(rval);
     }
 
-    @Override public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner) {
+    @Override public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner,
+                                                AccessControlContext acc) {
         assertToolkitRunning();
-        return new PopupStage(owner).init(systemMenu);
+        WindowStage stage = new PopupStage(owner).init(systemMenu);
+        stage.setSecurityContext(acc);
+        return stage;
     }
 
-    @Override public TKStage createTKEmbeddedStage(HostInterface host) {
+    @Override public TKStage createTKEmbeddedStage(HostInterface host, AccessControlContext acc) {
         assertToolkitRunning();
-        return new EmbeddedStage(host);
+        EmbeddedStage stage = new EmbeddedStage(host);
+        stage.setSecurityContext(acc);
+        return stage;
     }
 
     private static ScreenConfigurationAccessor screenAccessor =
--- a/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/tk/quantum/WindowStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -31,6 +31,7 @@
 import java.security.AllPermission;
 import java.security.Permission;
 import java.security.PrivilegedAction;
+import java.security.AccessControlContext;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -174,8 +175,10 @@
         return style;
     }
 
-    @Override public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing) {
-        return new ViewScene(depthBuffer, antiAliasing);
+    @Override public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing, AccessControlContext acc) {
+        ViewScene scene = new ViewScene(depthBuffer, antiAliasing);
+        scene.setSecurityContext(acc);
+        return scene;
     }
     
     /**
--- a/modules/graphics/src/main/java/javafx/scene/Scene.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/javafx/scene/Scene.java	Tue Jul 16 11:03:29 2013 +0400
@@ -681,9 +681,8 @@
         impl_setAllowPGAccess(true);
 
         Toolkit tk = Toolkit.getToolkit();
-        impl_peer = windowPeer.createTKScene(isDepthBufferInternal(), isAntiAliasingInternal());
+        impl_peer = windowPeer.createTKScene(isDepthBufferInternal(), isAntiAliasingInternal(), acc);
         PerformanceTracker.logEvent("Scene.initPeer TKScene created");
-        impl_peer.setSecurityContext(acc);
         impl_peer.setTKSceneListener(new ScenePeerListener());
         impl_peer.setTKScenePaintListener(new ScenePeerPaintListener());
         PerformanceTracker.logEvent("Scene.initPeer TKScene set");
--- a/modules/graphics/src/main/java/javafx/stage/PopupWindow.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/javafx/stage/PopupWindow.java	Tue Jul 16 11:03:29 2013 +0400
@@ -432,7 +432,7 @@
         Toolkit toolkit = Toolkit.getToolkit();
         if (visible && (impl_peer == null)) {
             // Setup the peer
-            impl_peer = toolkit.createTKPopupStage(StageStyle.TRANSPARENT, getOwnerWindow().impl_getPeer());
+            impl_peer = toolkit.createTKPopupStage(StageStyle.TRANSPARENT, getOwnerWindow().impl_getPeer(), acc);
             peerListener = new PopupWindowPeerListener(PopupWindow.this);
         }
     }
--- a/modules/graphics/src/main/java/javafx/stage/Stage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/javafx/stage/Stage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -1040,9 +1040,12 @@
             Scene scene = getScene();
             boolean rtl = scene != null && scene.getEffectiveNodeOrientation() == NodeOrientation.RIGHT_TO_LEFT;
 
-            impl_peer = toolkit.createTKStage(getStyle(), isPrimary(), getModality(), tkStage, rtl);
+            impl_peer = toolkit.createTKStage(getStyle(), isPrimary(), getModality(), tkStage, rtl, acc);
+            impl_peer.setMinimumSize((int) Math.ceil(getMinWidth()),
+                    (int) Math.ceil(getMinHeight()));
+            impl_peer.setMaximumSize((int) Math.floor(getMaxWidth()),
+                    (int) Math.floor(getMaxHeight()));
             peerListener = new StagePeerListener(this, STAGE_ACCESSOR);
-            
            // Insert this into stages so we have a references to all created stages
             stages.add(this);
         }
@@ -1065,10 +1068,6 @@
             impl_peer.setIconified(isIconified());
             impl_peer.setMaximized(isMaximized());
             impl_peer.setTitle(getTitle());
-            impl_peer.setMinimumSize((int) Math.ceil(getMinWidth()),
-                    (int) Math.ceil(getMinHeight()));
-            impl_peer.setMaximumSize((int) Math.floor(getMaxWidth()),
-                    (int) Math.floor(getMaxHeight()));
 
             List<Object> platformImages = new ArrayList<Object>();
             for (Image icon : icons) {
--- a/modules/graphics/src/main/java/javafx/stage/Window.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/java/javafx/stage/Window.java	Tue Jul 16 11:03:29 2013 +0400
@@ -99,6 +99,11 @@
                         window.width.set(width);
                         window.height.set(height);
                     }
+
+                    @Override
+                    public AccessControlContext getAccessControlContext(Window window) {
+                        return window.acc;
+                    }
                 });
     }
 
@@ -119,7 +124,7 @@
         return (Iterator<Window>) windowQueue.iterator();
     }
 
-    private final AccessControlContext acc = AccessController.getContext();
+    final AccessControlContext acc = AccessController.getContext();
 
     protected Window() {
         // necessary for WindowCloseRequestHandler
@@ -713,8 +718,6 @@
             Toolkit tk = Toolkit.getToolkit();
             if (impl_peer != null) {
                 if (newVisible) {
-                    impl_peer.setSecurityContext(acc);
-
                     if (peerListener == null) {
                         peerListener = new WindowPeerListener(Window.this);
                     }
--- a/modules/graphics/src/main/native-glass/mac/GlassWindow+Java.h	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/native-glass/mac/GlassWindow+Java.h	Tue Jul 16 11:03:29 2013 +0400
@@ -45,9 +45,6 @@
 - (void)_setAlpha;
 - (NSRect)_constrainFrame:(NSRect)frame;
 - (void)_setFrame;
-- (void)_verifyFrame;
-- (void)_setMinimumSize;
-- (void)_setMaximumSize;
 - (void)_setVisible;
 - (void)_setWindowFrameWithRect:(NSRect)rect withDisplay:(jboolean)display withAnimate:(jboolean)animate;
 - (void)_restorePreZoomedRect;
--- a/modules/graphics/src/main/native-glass/mac/GlassWindow+Java.m	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/native-glass/mac/GlassWindow+Java.m	Tue Jul 16 11:03:29 2013 +0400
@@ -292,28 +292,6 @@
     [self _setFlipFrame:frame display:(self->_setFrameDisplay==JNI_TRUE) animate:(self->_setFrameAnimated==JNI_TRUE)];
 }
 
-- (void)_verifyFrame
-{
-    NSRect flippedFrame = [self _flipFrame];
-    NSRect constrainedFrame = [self _constrainFrame:flippedFrame];
-    if (NSEqualRects(constrainedFrame, flippedFrame) == NO)
-    {
-        [self _setFrame];
-    }
-}
-
-- (void)_setMinimumSize
-{
-    [self->nsWindow setMinSize:NSMakeSize(self->_setMinimumSizeW, self->_setMinimumSizeH)];
-    [self _verifyFrame];
-}
-
-- (void)_setMaximumSize
-{
-    [self->nsWindow setMaxSize:NSMakeSize(self->_setMaximumSizeW, self->_setMaximumSizeH)];
-    [self _verifyFrame];
-}
-
 - (void)_setVisible
 {
     if (self->isFocusable == YES && self->isEnabled == YES)
--- a/modules/graphics/src/main/native-glass/mac/GlassWindow.h	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/native-glass/mac/GlassWindow.h	Tue Jul 16 11:03:29 2013 +0400
@@ -69,9 +69,6 @@
         
     jfloat                        _setAlpha;
         
-    jint                        _setMinimumSizeW, _setMinimumSizeH;
-        
-    CGFloat                        _setMaximumSizeW, _setMaximumSizeH;
     BOOL                 isClosed;   
 }
 
--- a/modules/graphics/src/main/native-glass/mac/GlassWindow.m	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/main/native-glass/mac/GlassWindow.m	Tue Jul 16 11:03:29 2013 +0400
@@ -1211,17 +1211,7 @@
     GLASS_POOL_ENTER;
     {
         GlassWindow *window = getGlassWindow(env, jPtr);
-        window->_setMinimumSizeW = jW;
-        window->_setMinimumSizeH = jH;
-        
-        if ([NSThread isMainThread] == YES)
-        {
-            [window _setMinimumSize];
-        }
-        else
-        {
-            [window performSelectorOnMainThread:@selector(_setMinimumSize) withObject:nil waitUntilDone:YES];
-        }
+        [window->nsWindow setMinSize:NSMakeSize(jW, jH)];
     }
     GLASS_POOL_EXIT;
     GLASS_CHECK_EXCEPTION(env);
@@ -1243,17 +1233,8 @@
     GLASS_POOL_ENTER;
     {
         GlassWindow *window = getGlassWindow(env, jPtr);
-        window->_setMaximumSizeW = jW == -1 ? FLT_MAX : (CGFloat)jW;
-        window->_setMaximumSizeH = jH == -1 ? FLT_MAX : (CGFloat)jH;
-        
-        if ([NSThread isMainThread] == YES)
-        {
-            [window _setMaximumSize];
-        }
-        else
-        {
-            [window performSelectorOnMainThread:@selector(_setMaximumSize) withObject:nil waitUntilDone:YES];
-        }
+        [window->nsWindow setMaxSize:NSMakeSize(jW == -1 ? FLT_MAX : (CGFloat)jW,
+                                                jH == -1 ? FLT_MAX : (CGFloat)jH)];
     }
     GLASS_POOL_EXIT;
     GLASS_CHECK_EXCEPTION(env);
--- a/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubScene.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubScene.java	Tue Jul 16 11:03:29 2013 +0400
@@ -46,11 +46,6 @@
         // ignore
     }
 
-    @Override
-    public void setSecurityContext(AccessControlContext ctx) {
-        // ignore
-    }
-
     public void waitForRenderingToComplete() {
         // ignore
     }
--- a/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubStage.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubStage.java	Tue Jul 16 11:03:29 2013 +0400
@@ -50,7 +50,7 @@
     }
 
     @Override
-    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing) {
+    public TKScene createTKScene(boolean depthBuffer, boolean antiAliasing, AccessControlContext acc) {
         return new StubScene();
     }
 
@@ -188,10 +188,6 @@
     }
 
     @Override
-    public void setSecurityContext(AccessControlContext ctx) {
-    }
-
-    @Override
     public void setFullScreen(boolean fullScreen) {
         notificationSender.changedFullscreen(fullScreen);
     }
--- a/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubToolkit.java	Mon Jul 15 18:35:11 2013 -0700
+++ b/modules/graphics/src/stub/java/com/sun/javafx/pgstub/StubToolkit.java	Tue Jul 16 11:03:29 2013 +0400
@@ -117,18 +117,18 @@
     }
 
     public TKStage createTKStage(StageStyle stageStyle, boolean primary,
-            Modality modality, TKStage owner, boolean rtl) {
+            Modality modality, TKStage owner, boolean rtl, AccessControlContext acc) {
 
         return new StubStage();
     }
 
     @Override
-    public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner) {
+    public TKStage createTKPopupStage(StageStyle stageStyle, TKStage owner, AccessControlContext acc) {
         return new StubPopupStage();
     }
 
     @Override
-    public TKStage createTKEmbeddedStage(HostInterface host) {
+    public TKStage createTKEmbeddedStage(HostInterface host, AccessControlContext acc) {
         return new StubStage();
     }