44 * @author David Mendenhall 45 * @author Danila Sinopalnikov 46 * @author Alexander Gerasimov 47 * 48 * @since JDK1.1 49 */ 50 final class WClipboard extends SunClipboard { 51 52 private boolean isClipboardViewerRegistered; 53 54 WClipboard() { 55 super("System"); 56 } 57 58 @Override 59 public long getID() { 60 return 0; 61 } 62 63 @Override 64 protected void setContentsNative(Transferable contents) { 65 // Don't use delayed Clipboard rendering for the Transferable's data. 66 // If we did that, we would call Transferable.getTransferData on 67 // the Toolkit thread, which is a security hole. 68 // 69 // Get all of the target formats into which the Transferable can be 70 // translated. Then, for each format, translate the data and post 71 // it to the Clipboard. 72 Map <Long, DataFlavor> formatMap = WDataTransferer.getInstance(). 73 getFormatsForTransferable(contents, getDefaultFlavorTable()); 74 75 openClipboard(this); 76 77 try { 78 for (Long format : formatMap.keySet()) { 79 DataFlavor flavor = formatMap.get(format); 80 81 try { 82 byte[] bytes = WDataTransferer.getInstance(). 83 translateTransferable(contents, flavor, format); | 44 * @author David Mendenhall 45 * @author Danila Sinopalnikov 46 * @author Alexander Gerasimov 47 * 48 * @since JDK1.1 49 */ 50 final class WClipboard extends SunClipboard { 51 52 private boolean isClipboardViewerRegistered; 53 54 WClipboard() { 55 super("System"); 56 } 57 58 @Override 59 public long getID() { 60 return 0; 61 } 62 63 @Override 64 public void checkLostOwnership() { 65 } 66 67 @Override 68 protected void setContentsNative(Transferable contents) { 69 // Don't use delayed Clipboard rendering for the Transferable's data. 70 // If we did that, we would call Transferable.getTransferData on 71 // the Toolkit thread, which is a security hole. 72 // 73 // Get all of the target formats into which the Transferable can be 74 // translated. Then, for each format, translate the data and post 75 // it to the Clipboard. 76 Map <Long, DataFlavor> formatMap = WDataTransferer.getInstance(). 77 getFormatsForTransferable(contents, getDefaultFlavorTable()); 78 79 openClipboard(this); 80 81 try { 82 for (Long format : formatMap.keySet()) { 83 DataFlavor flavor = formatMap.get(format); 84 85 try { 86 byte[] bytes = WDataTransferer.getInstance(). 87 translateTransferable(contents, flavor, format); |