diff --git a/package.json b/package.json index 7de99df3..bd94d5f0 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "c9.ide.collab": "#cfbf987438", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", - "c9.ide.find.infiles": "#c0a13737ef", + "c9.ide.find.infiles": "#bd34c29373", "c9.ide.find.replace": "#810ebf8bfb", "c9.ide.run.debug": "#94a48978bf", "c9.automate": "#47e2c429c9", diff --git a/plugins/c9.ide.clipboard/html5.js b/plugins/c9.ide.clipboard/html5.js index e57b1f38..e8679221 100644 --- a/plugins/c9.ide.clipboard/html5.js +++ b/plugins/c9.ide.clipboard/html5.js @@ -51,21 +51,19 @@ define(function(require, exports, module) { function set(type, data, list) { if (notSupported(type)) return; - - type = convertType(type); if (nativeObject) { - nativeObject.setData(type, data); + handleClipboardData(nativeObject, type, data); return true; } var setData = function(e) { if (list) { list.forEach(function(type) { - e.clipboardData.setData(type, data); + handleClipboardData(e.clipboardData, type, data); }); } - e.clipboardData.setData(type, data); + handleClipboardData(e.clipboardData, type, data); e.preventDefault(); e.stopPropagation(); @@ -82,17 +80,15 @@ define(function(require, exports, module) { function get(type, full) { if (notSupported(type)) return; - - type = convertType(type); if (!full && nativeObject) - return nativeObject.getData(type); + return handleClipboardData(nativeObject, type); var data; var getData = function(e) { data = full ? e.clipboardData - : e.clipboardData.getData(type); + : handleClipboardData(nativeObject, type); e.preventDefault(); e.stopPropagation(); }; @@ -120,8 +116,22 @@ define(function(require, exports, module) { return !/text($|\/)/.test(type); } - function convertType(type) { - return document.all ? "Text" : type; + function handleClipboardData(clipboardData, type, data, forceIEMime) { + if (!clipboardData) + return; + // using "Text" doesn't work on old webkit but ie needs it + var mime = forceIEMime ? "Text" : type; + try { + if (data) { + // Safari 5 has clipboardData object, but does not handle setData() + return clipboardData.setData(mime, data) !== false; + } else { + return clipboardData.getData(mime); + } + } catch(e) { + if (!forceIEMime) + return handleClipboardData(clipboardData, type, data, true); + } } function wrap(obj) { diff --git a/plugins/c9.ide.tree/tree.js b/plugins/c9.ide.tree/tree.js index 34187998..80c92016 100644 --- a/plugins/c9.ide.tree/tree.js +++ b/plugins/c9.ide.tree/tree.js @@ -537,7 +537,7 @@ define(function(require, exports, module) { if (err) { var message = err.message; if (err.code == "EEXIST") - message = "File " + path + " already exists."; + message = "File " + newpath + " already exists."; return showError(message); } if (dirname(newpath) != dirname(path))