提交 d6faf927 编写于 作者: R rupashka

7036025: java.security.AccessControlException when creating JFileChooser in signed applet

Reviewed-by: malenkov
上级 0dcd86d4
......@@ -29,6 +29,8 @@ import java.awt.event.*;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
import javax.swing.*;
import javax.swing.border.*;
......@@ -79,7 +81,12 @@ public class WindowsPlacesBar extends JToolBar
setBackground(bgColor);
FileSystemView fsv = fc.getFileSystemView();
files = (File[])ShellFolder.get("fileChooserShortcutPanelFolders");
files = AccessController.doPrivileged(new PrivilegedAction<File[]>() {
public File[] run() {
return (File[]) ShellFolder.get("fileChooserShortcutPanelFolders");
}
});
buttons = new JToggleButton[files.length];
buttonGroup = new ButtonGroup();
for (int i = 0; i < files.length; i++) {
......
/*
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
@bug 7036025
@summary java.security.AccessControlException when creating JFileChooser in signed applet
@author Pavel Porvatov
@run main/othervm/policy=security.policy bug7036025
*/
import javax.swing.*;
import java.io.File;
public class bug7036025 {
public static final String DIR = "c:/temp";
public static void main(String[] args) throws Exception {
String systemLookAndFeelClassName = UIManager.getSystemLookAndFeelClassName();
if (!systemLookAndFeelClassName.toLowerCase().contains("windows")) {
System.out.println("The test is only for Windows OS.");
return;
}
File file = new File(DIR);
if (!file.exists()) {
if (!file.mkdir()) {
throw new RuntimeException("Cannot create " + DIR);
}
file.deleteOnExit();
}
UIManager.setLookAndFeel(systemLookAndFeelClassName);
new JFileChooser(file);
System.out.println("Test passed for LookAndFeel " + UIManager.getLookAndFeel().getName());
}
}
grant {
permission java.io.FilePermission "C:\\temp\\*", "read";
permission java.io.FilePermission "C:\\temp", "read,write,delete";
permission java.util.PropertyPermission "*", "read";
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册