summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_bug1297539.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_bug1297539.js')
-rw-r--r--browser/base/content/test/general/browser_bug1297539.js114
1 files changed, 0 insertions, 114 deletions
diff --git a/browser/base/content/test/general/browser_bug1297539.js b/browser/base/content/test/general/browser_bug1297539.js
deleted file mode 100644
index d7e675437..000000000
--- a/browser/base/content/test/general/browser_bug1297539.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/**
- * Test for Bug 1297539
- * Test that the content event "pasteTransferable"
- * (mozilla::EventMessage::eContentCommandPasteTransferable)
- * is handled correctly for plain text and html in the remote case.
- *
- * Original test test_bug525389.html for command content event
- * "pasteTransferable" runs only in the content process.
- * This doesn't test the remote case.
- *
- */
-
-"use strict";
-
-function getLoadContext() {
- return window.QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIWebNavigation)
- .QueryInterface(Ci.nsILoadContext);
-}
-
-function getTransferableFromClipboard(asHTML) {
- let trans = Cc["@mozilla.org/widget/transferable;1"].
- createInstance(Ci.nsITransferable);
- trans.init(getLoadContext());
- if (asHTML) {
- trans.addDataFlavor("text/html");
- } else {
- trans.addDataFlavor("text/unicode");
- }
- let clip = Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard);
- clip.getData(trans, Ci.nsIClipboard.kGlobalClipboard);
- return trans;
-}
-
-function* cutCurrentSelection(elementQueryString, property, browser) {
- // Cut the current selection.
- yield BrowserTestUtils.synthesizeKey("x", {accelKey: true}, browser);
-
- // The editor should be empty after cut.
- yield ContentTask.spawn(browser, [elementQueryString, property],
- function* ([contentElementQueryString, contentProperty]) {
- let element = content.document.querySelector(contentElementQueryString);
- is(element[contentProperty], "",
- `${contentElementQueryString} should be empty after cut (superkey + x)`);
- });
-}
-
-// Test that you are able to pasteTransferable for plain text
-// which is handled by TextEditor::PasteTransferable to paste into the editor.
-add_task(function* test_paste_transferable_plain_text()
-{
- let testPage =
- 'data:text/html,' +
- '<textarea id="textarea">Write something here</textarea>';
-
- yield BrowserTestUtils.withNewTab(testPage, function* (browser) {
- // Select all the content in your editor element.
- yield BrowserTestUtils.synthesizeMouse("#textarea", 0, 0, {}, browser);
- yield BrowserTestUtils.synthesizeKey("a", {accelKey: true}, browser);
-
- yield* cutCurrentSelection("#textarea", "value", browser);
-
- let trans = getTransferableFromClipboard(false);
- let DOMWindowUtils = EventUtils._getDOMWindowUtils(window);
- DOMWindowUtils.sendContentCommandEvent("pasteTransferable", trans);
-
- yield ContentTask.spawn(browser, null, function* () {
- let textArea = content.document.querySelector('#textarea');
- is(textArea.value, "Write something here",
- "Send content command pasteTransferable successful");
- });
- });
-});
-
-// Test that you are able to pasteTransferable for html
-// which is handled by HTMLEditor::PasteTransferable to paste into the editor.
-//
-// On Linux,
-// BrowserTestUtils.synthesizeKey("a", {accelKey: true}, browser);
-// doesn't seem to trigger for contenteditable which is why we use
-// Selection to select the contenteditable contents.
-add_task(function* test_paste_transferable_html()
-{
- let testPage =
- 'data:text/html,' +
- '<div contenteditable="true"><b>Bold Text</b><i>italics</i></div>';
-
- yield BrowserTestUtils.withNewTab(testPage, function* (browser) {
- // Select all the content in your editor element.
- yield BrowserTestUtils.synthesizeMouse("div", 0, 0, {}, browser);
- yield ContentTask.spawn(browser, {}, function* () {
- let element = content.document.querySelector("div");
- let selection = content.window.getSelection();
- selection.selectAllChildren(element);
- });
-
- yield* cutCurrentSelection("div", "textContent", browser);
-
- let trans = getTransferableFromClipboard(true);
- let DOMWindowUtils = EventUtils._getDOMWindowUtils(window);
- DOMWindowUtils.sendContentCommandEvent("pasteTransferable", trans);
-
- yield ContentTask.spawn(browser, null, function* () {
- let textArea = content.document.querySelector('div');
- is(textArea.innerHTML, "<b>Bold Text</b><i>italics</i>",
- "Send content command pasteTransferable successful");
- });
- });
-});