Bug 973837 - Check that view-source is not allowed for <object>s. r=johns
authorBob Owen <bobowencode@gmail.com>
Fri, 25 Apr 2014 12:05:44 +0100
changeset 181085 0687336665f15bce0ea6d8f50b6786c5d8e01728
parent 181084 9b1a07e50882f55af69da49199f15408d27eb1b0
child 181086 3beda9264d51ce135830fa58360726e514f9d191
push id26693
push useremorley@mozilla.com
push dateThu, 01 May 2014 14:50:08 +0000
treeherdermozilla-central@51bc58066ac9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjohns
bugs973837
milestone32.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 973837 - Check that view-source is not allowed for <object>s. r=johns
content/base/test/file_general_document.html
content/base/test/mochitest.ini
content/base/test/test_viewsource_forbidden_in_object.html
new file mode 100644
--- /dev/null
+++ b/content/base/test/file_general_document.html
@@ -0,0 +1,10 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf-8">
+<title>General document for testing</title>
+</head>
+<body>
+<p>Hello mochitest!</p>
+</body>
+</html>
--- a/content/base/test/mochitest.ini
+++ b/content/base/test/mochitest.ini
@@ -130,16 +130,17 @@ support-files =
   file_bug782342.txt
   file_bug787778.sjs
   file_bug804395.jar
   file_bug869432.eventsource
   file_bug869432.eventsource^headers^
   file_bug902350.html
   file_bug902350_frame.html
   file_bug907892.html
+  file_general_document.html
   file_html_in_xhr.html
   file_html_in_xhr.sjs
   file_html_in_xhr2.html
   file_html_in_xhr3.html
   file_htmlserializer_1.html
   file_htmlserializer_1_bodyonly.html
   file_htmlserializer_1_format.html
   file_htmlserializer_1_linebreak.html
@@ -599,16 +600,17 @@ skip-if = toolkit == 'android' || e10s #
 [test_sync_xhr_timer.xhtml]
 skip-if = toolkit == 'android' || e10s #RANDOM
 [test_text_wholeText.html]
 [test_textnode_normalize_in_selection.html]
 [test_textnode_split_in_selection.html]
 [test_title.html]
 [test_treewalker_nextsibling.xml]
 [test_viewport_scroll.html]
+[test_viewsource_forbidden_in_object.html]
 [test_w3element_traversal.html]
 [test_w3element_traversal.xhtml]
 [test_w3element_traversal_svg.html]
 [test_websocket.html]
 skip-if = buildapp == 'b2g' || toolkit == 'android' || e10s
 [test_websocket_basic.html]
 skip-if = buildapp == 'b2g' || toolkit == 'android'
 [test_websocket_hello.html]
new file mode 100644
--- /dev/null
+++ b/content/base/test/test_viewsource_forbidden_in_object.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=973837
+-->
+<head>
+<meta charset="utf-8">
+<title>Tests for Bug 973837</title>
+<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+
+<script>
+  SimpleTest.waitForExplicitFinish();
+
+  const OBJLC = SpecialPowers.Ci.nsIObjectLoadingContent;
+
+  function runObjectURITest(testCase) {
+    var testObject = document.getElementById("testObject");
+    testObject.data = testCase.URI;
+
+    testObject instanceof OBJLC;
+    testObject = SpecialPowers.wrap(testObject);
+
+    is(testObject.displayedType, OBJLC.TYPE_NULL, testCase.desc +
+       " testObject.displayedType should be TYPE_NULL (4)");
+    runNextTest();
+  }
+
+  var testCaseIndex = -1;
+  testCases = [
+    {
+      desc: "Test 1: view-source should not be allowed in an object.",
+      URI: "view-source:file_general_document.html"
+    },
+    {
+      desc: "Test 2: feed:view-source should not be allowed in an object.",
+      URI: "feed:view-source:file_general_document.html"
+    },
+    {
+      desc: "Test 3: jar:view-source should not be allowed in an object",
+      URI: "jar:view-source:file_general_document.html/!/"
+    },
+    {
+      desc: "Test 4: pcast:view-source should not be allowed in an object",
+      URI: "pcast:view-source:file_general_document.html"
+    },
+    {
+      desc: "Test 5: pcast:feed:view-source should not be allowed in an object",
+      URI: "pcast:feed:view-source:file_general_document.html"
+    }
+  ];
+
+  function runNextTest() {
+    ++testCaseIndex;
+    if (testCaseIndex == testCases.length) {
+      SimpleTest.finish();
+      return;
+    }
+
+    runObjectURITest(testCases[testCaseIndex]);
+  }
+
+  addLoadEvent(runNextTest);
+</script>
+</head>
+
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=973837">Mozilla Bug 973837</a>
+<p id="display"></p>
+
+<object id="testObject"></object>
+
+</body>
+</html>