harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Zakharov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-3479) [classlib][swing][netbeans] TransferHandler.getPasteAction().actionPerformed() doesn't check if accessClipboard is allowed
Date Fri, 23 Mar 2007 14:30:33 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-3479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Vasily Zakharov updated HARMONY-3479:
-------------------------------------

    Summary: [classlib][swing][netbeans] TransferHandler.getPasteAction().actionPerformed()
doesn't check if accessClipboard is allowed  (was: [classlib][swing][netbeans] javax.swing.TransferHandler.getPasteAction().actionPerformed()
doesn't check if accessClipboard is allowed)

> [classlib][swing][netbeans] TransferHandler.getPasteAction().actionPerformed() doesn't
check if accessClipboard is allowed
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3479
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3479
>             Project: Harmony
>          Issue Type: Bug
>          Components: App-Oriented Bug Reports, Classlib
>            Reporter: Vasily Zakharov
>
> Consider the following test:
> import java.awt.AWTPermission;
> import java.awt.event.ActionEvent;
> import java.security.Permission;
> import javax.swing.Action;
> import javax.swing.JPanel;
> import javax.swing.TransferHandler;
> public class Test {
>     private static boolean flag = false;
>     public static void main(String args[]) throws Exception {
>         System.setSecurityManager(new TestSecurityManager());
>         Action action = TransferHandler.getPasteAction();
>         ActionEvent event = new ActionEvent(new JPanel(), 0, "");
>         System.out.println("Before");
>         action.actionPerformed(event);
>         System.out.println("After");
>         System.out.println(flag ? "SUCCESS" : "FAIL");
>     }
>     private static class TestSecurityManager extends SecurityManager {
>         public void checkPermission(Permission perm) {
>             if ((perm instanceof AWTPermission)
>                     && "accessClipboard".equals(perm.getName())) {
>                 flag = true;
>                 new Throwable().printStackTrace();
>             }
>         }
>     }
> }
> I inserted stack printing to see the stack of calls that leads to security check on RI.
> Output on RI:
> Before
> java.lang.Throwable
>         at Test$TestSecurityManager.checkPermission(Test.java:27)
>         at java.lang.SecurityManager.checkSystemClipboardAccess(Unknown Source)
>         at com.sun.java.swing.SwingUtilities2.canAccessSystemClipboard(Unknown Source)
>         at javax.swing.TransferHandler$TransferAction.getClipboard(Unknown Source)
>         at javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown Source)
>         at Test.main(Test.java:17)
> java.lang.Throwable
>         at Test$TestSecurityManager.checkPermission(Test.java:27)
>         at java.lang.SecurityManager.checkSystemClipboardAccess(Unknown Source)
>         at sun.awt.windows.WToolkit.getSystemClipboard(Unknown Source)
>         at javax.swing.TransferHandler$TransferAction.getClipboard(Unknown Source)
>         at javax.swing.TransferHandler$TransferAction.actionPerformed(Unknown Source)
>         at Test.main(Test.java:17)
> After
> SUCCESS
> Output on Harmony:
> Before
> After
> FAIL
> The same problem also occurs for getCopyAction() and getCutAction(), probably this is
the same problem.
> At first look it seems to be a Swing problem, but my guess is the actual problem really
lays in the AWT layer.
> This issue was discovered while trying to run Netbeans on Harmony.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message