From 1c8cf4390c3cc08cdb8f5256c281d9356bcb47bb Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 14 Apr 2015 10:50:09 +0200 Subject: [PATCH] Rename to safe-clipboard ...and use remote only on Linux renderer processes. --- spec/spec-helper.coffee | 2 +- spec/text-editor-component-spec.coffee | 2 +- spec/text-editor-spec.coffee | 2 +- src/browser/atom-application.coffee | 2 +- src/clipboard.coffee | 2 +- src/native-clipboard.coffee | 6 ------ src/safe-clipboard.coffee | 6 ++++++ src/text-editor-component.coffee | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 src/native-clipboard.coffee create mode 100644 src/safe-clipboard.coffee diff --git a/spec/spec-helper.coffee b/spec/spec-helper.coffee index 33ec8c521..0daf6586e 100644 --- a/spec/spec-helper.coffee +++ b/spec/spec-helper.coffee @@ -24,7 +24,7 @@ TextEditorElement = require '../src/text-editor-element' TokenizedBuffer = require '../src/tokenized-buffer' TextEditorComponent = require '../src/text-editor-component' pathwatcher = require 'pathwatcher' -clipboard = require "../src/native-clipboard" +clipboard = require "../src/safe-clipboard" atom.themes.loadBaseStylesheets() atom.themes.requireStylesheet '../static/jasmine' diff --git a/spec/text-editor-component-spec.coffee b/spec/text-editor-component-spec.coffee index 2ed17ab9f..0b8282e43 100644 --- a/spec/text-editor-component-spec.coffee +++ b/spec/text-editor-component-spec.coffee @@ -2816,7 +2816,7 @@ describe "TextEditorComponent", -> clipboardWrittenTo = false spyOn(require('ipc'), 'send').andCallFake (eventName, selectedText) -> if eventName is 'write-text-to-selection-clipboard' - require('../src/native-clipboard').writeText(selectedText, 'selection') + require('../src/safe-clipboard').writeText(selectedText, 'selection') clipboardWrittenTo = true atom.clipboard.write('') diff --git a/spec/text-editor-spec.coffee b/spec/text-editor-spec.coffee index 38f17072d..5e0fef9e6 100644 --- a/spec/text-editor-spec.coffee +++ b/spec/text-editor-spec.coffee @@ -1,4 +1,4 @@ -clipboard = require '../src/native-clipboard' +clipboard = require '../src/safe-clipboard' TextEditor = require '../src/text-editor' describe "TextEditor", -> diff --git a/src/browser/atom-application.coffee b/src/browser/atom-application.coffee index 950cb6b78..2fee79f0b 100644 --- a/src/browser/atom-application.coffee +++ b/src/browser/atom-application.coffee @@ -256,7 +256,7 @@ class AtomApplication clipboard = null ipc.on 'write-text-to-selection-clipboard', (event, selectedText) -> - clipboard ?= require '../native-clipboard' + clipboard ?= require '../safe-clipboard' clipboard.writeText(selectedText, 'selection') # Public: Executes the given command. diff --git a/src/clipboard.coffee b/src/clipboard.coffee index 80ec464e7..000eb70e3 100644 --- a/src/clipboard.coffee +++ b/src/clipboard.coffee @@ -1,5 +1,5 @@ crypto = require 'crypto' -clipboard = require "./native-clipboard" +clipboard = require "./safe-clipboard" # Extended: Represents the clipboard used for copying and pasting in Atom. # diff --git a/src/native-clipboard.coffee b/src/native-clipboard.coffee deleted file mode 100644 index f66d44646..000000000 --- a/src/native-clipboard.coffee +++ /dev/null @@ -1,6 +0,0 @@ -# Using clipboard in renderer process is not safe on Linux. -module.exports = - if process.platform is 'linux' - require('remote').require 'clipboard' - else - require 'clipboard' diff --git a/src/safe-clipboard.coffee b/src/safe-clipboard.coffee new file mode 100644 index 000000000..571ff4578 --- /dev/null +++ b/src/safe-clipboard.coffee @@ -0,0 +1,6 @@ +# Using clipboard in renderer process is not safe on Linux. +module.exports = + if process.platform is "linux" and process.type is "renderer" + require("remote").require("clipboard") + else + require("clipboard") diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 4348279de..4c8e567f0 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -556,7 +556,7 @@ class TextEditorComponent pasteSelectionClipboard = (event) => if event?.which is 2 and process.platform is 'linux' - if selection = require('./native-clipboard').readText('selection') + if selection = require('./safe-clipboard').readText('selection') @editor.insertText(selection) window.addEventListener('mousemove', onMouseMove)