Bug 952139 - Enable MessagePort/MessageChannel by default, r=smaug
authorAndrea Marchesini <amarchesini@mozilla.com>
Wed, 17 Jun 2015 11:45:17 +0100
changeset 249331 27b0d2176ef1005380cc16a2c589f0cbe40d72ef
parent 249330 964d75a56702a7b552e572ba30153ca6b2038fb4
child 249332 af31a2ef9929c36ed0abe92dbca89ed69083ef56
push id28923
push userryanvm@gmail.com
push dateWed, 17 Jun 2015 18:57:11 +0000
treeherdermozilla-central@099d6cd6725e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssmaug
bugs952139
milestone41.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 952139 - Enable MessagePort/MessageChannel by default, r=smaug
dom/messagechannel/tests/test_messageChannel_pref.html
dom/tests/mochitest/general/test_interfaces.html
dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
dom/workers/test/test_worker_interfaces.js
modules/libpref/init/all.js
testing/web-platform/meta/FileAPI/blob/Blob-constructor.html.ini
testing/web-platform/meta/html/dom/interfaces.html.ini
testing/web-platform/meta/webmessaging/Channel_MessagePort_initial_disabled.htm.ini
testing/web-platform/meta/webmessaging/Channel_MessagePort_onmessage_start.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_DataCloneErr.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_clone_port.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_clone_port_error.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_event_properties.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_ports_readonly_array.htm.ini
testing/web-platform/meta/webmessaging/Channel_postMessage_target_source.htm.ini
testing/web-platform/meta/webmessaging/Transferred_objects_unusable.sub.htm.ini
testing/web-platform/meta/webmessaging/event.ports.sub.htm.ini
testing/web-platform/meta/webmessaging/message-channels/001.html.ini
testing/web-platform/meta/webmessaging/message-channels/002.html.ini
testing/web-platform/meta/webmessaging/message-channels/003.html.ini
testing/web-platform/meta/webmessaging/message-channels/004.html.ini
testing/web-platform/meta/webmessaging/postMessage_MessagePorts_sorigin.htm.ini
testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xorigin.sub.htm.ini
testing/web-platform/meta/webmessaging/without-ports/023.html.ini
testing/web-platform/meta/webmessaging/without-ports/024.html.ini
testing/web-platform/meta/webmessaging/without-ports/025.html.ini
testing/web-platform/meta/workers/MessagePort_initial_disabled.htm.ini
testing/web-platform/meta/workers/MessagePort_onmessage_start.htm.ini
testing/web-platform/meta/workers/postMessage_clone_port.htm.ini
testing/web-platform/meta/workers/postMessage_clone_port_error.htm.ini
testing/web-platform/meta/workers/postMessage_target_source.htm.ini
testing/web-platform/meta/workers/semantics/interface-objects/001.worker.js.ini
testing/web-platform/meta/workers/semantics/multiple-workers/008.html.ini
--- a/dom/messagechannel/tests/test_messageChannel_pref.html
+++ b/dom/messagechannel/tests/test_messageChannel_pref.html
@@ -23,14 +23,20 @@ https://bugzilla.mozilla.org/show_bug.cg
       ok(what, "Should MessageChannel exist?");
     } catch(e) {
       ok(!what, "Should MessageChannel exist?");
     }
   }
 
   SimpleTest.waitForExplicitFinish();
 
-  runTest(false);
-  SpecialPowers.pushPrefEnv({"set": [["dom.messageChannel.enabled", true]]},
-                            function() { runTest(true); SimpleTest.finish(); });
+  SpecialPowers.pushPrefEnv({"set": [["dom.messageChannel.enabled", false]]},
+  function() {
+    runTest(false);
+    SpecialPowers.pushPrefEnv({"set": [["dom.messageChannel.enabled", true]]},
+    function() {
+      runTest(true);
+      SimpleTest.finish();
+    });
+  });
   </script>
 </body>
 </html>
--- a/dom/tests/mochitest/general/test_interfaces.html
+++ b/dom/tests/mochitest/general/test_interfaces.html
@@ -726,16 +726,18 @@ var interfaceNamesInGlobalScope =
     "MediaStreamEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaStreamTrackEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MediaStreamTrack",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     {name: "MenuBoxObject", xbl: true},
 // IMPORTANT: Do not change this list without review from a DOM peer!
+    "MessageChannel",
+// IMPORTANT: Do not change this list without review from a DOM peer!
     "MessageEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MessagePort",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MimeType",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MimeTypeArray",
 // IMPORTANT: Do not change this list without review from a DOM peer!
--- a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
+++ b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
@@ -142,16 +142,18 @@ var interfaceNamesInGlobalScope =
     "IDBRequest",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "IDBTransaction",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "IDBVersionChangeEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "ImageData",
 // IMPORTANT: Do not change this list without review from a DOM peer!
+    "MessageChannel",
+// IMPORTANT: Do not change this list without review from a DOM peer!
     "MessageEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MessagePort",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "Performance",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "PerformanceEntry",
 // IMPORTANT: Do not change this list without review from a DOM peer!
--- a/dom/workers/test/test_worker_interfaces.js
+++ b/dom/workers/test/test_worker_interfaces.js
@@ -134,16 +134,18 @@ var interfaceNamesInGlobalScope =
     "IDBRequest",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "IDBTransaction",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "IDBVersionChangeEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "ImageData",
 // IMPORTANT: Do not change this list without review from a DOM peer!
+    "MessageChannel",
+// IMPORTANT: Do not change this list without review from a DOM peer!
     "MessageEvent",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "MessagePort",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "Performance",
 // IMPORTANT: Do not change this list without review from a DOM peer!
     "PerformanceEntry",
 // IMPORTANT: Do not change this list without review from a DOM peer!
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4782,16 +4782,19 @@ pref("dom.caches.enabled", true);
 // supported will be disabled. This threshold can be adjusted to suit other
 // platforms; and set to 0 to disable the low-memory check altogether.
 pref("camera.control.low_memory_thresholdMB", 404);
 #endif
 
 // UDPSocket API
 pref("dom.udpsocket.enabled", false);
 
+// MessageChannel enabled by default.
+pref("dom.messageChannel.enabled", true);
+
 // Disable before keyboard events and after keyboard events by default.
 pref("dom.beforeAfterKeyboardEvent.enabled", false);
 
 // Presentation API
 pref("dom.presentation.enabled", false);
 pref("dom.presentation.tcp_server.debug", false);
 
 // Use raw ICU instead of CoreServices API in Unicode collation
--- a/testing/web-platform/meta/FileAPI/blob/Blob-constructor.html.ini
+++ b/testing/web-platform/meta/FileAPI/blob/Blob-constructor.html.ini
@@ -31,19 +31,16 @@
     expected: FAIL
 
   [Passing an platform object that supports indexed properties as the blobParts array should work (window).]
     expected: FAIL
 
   [Passing an platform object that supports indexed properties as the blobParts array should work (window with custom toString).]
     expected: FAIL
 
-  [Passing a platform array object as the blobParts array should work (MessagePort[\]).]
-    expected: FAIL
-
   [The 'endings' property should be ignored.]
     expected: FAIL
 
   [Passing object "/regex/" (index 4) for options should use the defaults.]
     expected: FAIL
 
   [Passing object "/regex/" (index 4) for options should use the defaults (with newlines).]
     expected: FAIL
--- a/testing/web-platform/meta/html/dom/interfaces.html.ini
+++ b/testing/web-platform/meta/html/dom/interfaces.html.ini
@@ -2377,34 +2377,16 @@
     expected: FAIL
 
   [ImageBitmap interface: attribute height]
     expected: FAIL
 
   [MessageEvent interface: operation initMessageEvent(DOMString,boolean,boolean,any,DOMString,DOMString,[object Object\],[object Object\],MessagePort)]
     expected: FAIL
 
-  [MessageChannel interface: existence and properties of interface object]
-    expected: FAIL
-
-  [MessageChannel interface object length]
-    expected: FAIL
-
-  [MessageChannel interface: existence and properties of interface prototype object]
-    expected: FAIL
-
-  [MessageChannel interface: existence and properties of interface prototype object's "constructor" property]
-    expected: FAIL
-
-  [MessageChannel interface: attribute port1]
-    expected: FAIL
-
-  [MessageChannel interface: attribute port2]
-    expected: FAIL
-
   [PortCollection interface: existence and properties of interface object]
     expected: FAIL
 
   [PortCollection interface object length]
     expected: FAIL
 
   [PortCollection interface: existence and properties of interface prototype object]
     expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_MessagePort_initial_disabled.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Channel_MessagePort_initial_disabled.htm]
-  type: testharness
-  expected: ERROR
-  [Test Description: A port message queue can be enabled or disabled, and is initially disabled.]
-    expected: NOTRUN
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_MessagePort_onmessage_start.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Channel_MessagePort_onmessage_start.htm]
-  type: testharness
-  expected: ERROR
-  [Test Description: The first time a MessagePort object's onmessage IDL attribute is set, the port's port message queue must be enabled, as if the start() method had been called.]
-    expected: NOTRUN
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_DataCloneErr.htm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[Channel_postMessage_DataCloneErr.htm]
-  type: testharness
-  [Throw a DataCloneError when a host object (e.g. a DOM node) is used with postMessage.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_clone_port.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Channel_postMessage_clone_port.htm]
-  type: testharness
-  expected: ERROR
-  [Test Description: Test Description: When the user agent is to clone a port original port, with the clone being owned by owner, it must return a new MessagePort object]
-    expected: NOTRUN
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_clone_port_error.htm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[Channel_postMessage_clone_port_error.htm]
-  type: testharness
-  [Test Description: Throw a DataCloneError if transfer array in postMessage contains source port.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_event_properties.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Channel_postMessage_event_properties.htm]
-  type: testharness
-  expected: ERROR
-  [Test Description: The postMessage() method - Create an event that uses the MessageEvent interface, with the name message, which does not bubble and is not cancelable.]
-    expected: NOTRUN
-
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_ports_readonly_array.htm.ini
+++ b/testing/web-platform/meta/webmessaging/Channel_postMessage_ports_readonly_array.htm.ini
@@ -1,6 +1,5 @@
 [Channel_postMessage_ports_readonly_array.htm]
   type: testharness
-  expected: ERROR
   [Test Description: The postMessage() method - Make new ports into a read only array.]
-    expected: NOTRUN
+    expected: FAIL
 
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Channel_postMessage_target_source.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Channel_postMessage_target_source.htm]
-  type: testharness
-  expected: ERROR
-  [Test Description: The postMessage() method - Let target port be the port with which source port is entangled, if any.]
-    expected: NOTRUN
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/Transferred_objects_unusable.sub.htm.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[Transferred_objects_unusable.sub.htm]
-  type: testharness
-  expected: TIMEOUT
-  [Test Description: Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.]
-    expected: NOTRUN
-
-  [MessageChannel is supported.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/event.ports.sub.htm.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[event.ports.sub.htm]
-  type: testharness
-  expected: TIMEOUT
-  [Test Description: event.ports returns the MessagePort array sent with the message.]
-    expected: NOTRUN
-
-  [MessageChannel is supported.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/message-channels/001.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[001.html]
-  type: testharness
-  [basic messagechannel test]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/message-channels/002.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[002.html]
-  type: testharness
-  [without start()]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/message-channels/003.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[003.html]
-  type: testharness
-  [onmessage implied start()]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/message-channels/004.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[004.html]
-  type: testharness
-  [cross-document channel]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_sorigin.htm.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[postMessage_MessagePorts_sorigin.htm]
-  type: testharness
-  expected: TIMEOUT
-  [Test Description: postMessage to same-origin iframe with MessagePort array containing 100 ports.]
-    expected: NOTRUN
-
-  [MessageChannel is supported.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/postMessage_MessagePorts_xorigin.sub.htm.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-[postMessage_MessagePorts_xorigin.sub.htm]
-  type: testharness
-  expected: TIMEOUT
-  [Test Description: postMessage to cross-origin iframe with MessagePort array containing 100 ports.]
-    expected: NOTRUN
-
-  [MessageChannel is supported.]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/without-ports/023.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[023.html]
-  type: testharness
-  [Object cloning: own properties only, don't follow prototype]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/without-ports/024.html.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[024.html]
-  type: testharness
-  [Object cloning: throw an exception if function values encountered]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/webmessaging/without-ports/025.html.ini
+++ /dev/null
@@ -1,8 +0,0 @@
-[025.html]
-  type: testharness
-  [MessagePort constructor properties]
-    expected: FAIL
-
-  [Worker MessageChannel's port should be an instance of MessagePort]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/workers/MessagePort_initial_disabled.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[MessagePort_initial_disabled.htm]
-  type: testharness
-  [ MessageChannel: port message queue is initially disabled ]
-    expected: FAIL
-    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=952139
-
deleted file mode 100644
--- a/testing/web-platform/meta/workers/MessagePort_onmessage_start.htm.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[MessagePort_onmessage_start.htm]
-  type: testharness
-  [ MessageChannel: port.onmessage enables message queue ]
-    expected: FAIL
-    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=952139
-
deleted file mode 100644
--- a/testing/web-platform/meta/workers/postMessage_clone_port.htm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[postMessage_clone_port.htm]
-  type: testharness
-  [ postMessage(): clone a port ]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/workers/postMessage_clone_port_error.htm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[postMessage_clone_port_error.htm]
-  type: testharness
-  [ postMessage(): cloning source port ]
-    expected: FAIL
-
deleted file mode 100644
--- a/testing/web-platform/meta/workers/postMessage_target_source.htm.ini
+++ /dev/null
@@ -1,5 +0,0 @@
-[postMessage_target_source.htm]
-  type: testharness
-  [ postMessage(): target port and source port ]
-    expected: FAIL
-
--- a/testing/web-platform/meta/workers/semantics/interface-objects/001.worker.js.ini
+++ b/testing/web-platform/meta/workers/semantics/interface-objects/001.worker.js.ini
@@ -1,19 +1,16 @@
 [001.worker]
   type: testharness
   [The ErrorEvent interface object should be exposed.]
     expected: FAIL
 
   [The SharedWorker interface object should be exposed.]
     expected: FAIL
 
-  [The MessageChannel interface object should be exposed.]
-    expected: FAIL
-
   [The FileList interface object should be exposed.]
     expected: FAIL
 
   [The ProgressEvent interface object should be exposed.]
     expected: FAIL
 
   [The CanvasProxy interface object should be exposed.]
     expected: FAIL
deleted file mode 100644
--- a/testing/web-platform/meta/workers/semantics/multiple-workers/008.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[008.html]
-  type: testharness
-  expected: ERROR
-  [messagechannel in shared worker]
-    expected: TIMEOUT
-