Backed out changeset a653a439a39b (bug 1483905)for build bustages on webauthn/WebAuthnTransactionChild.cpp:35 CLOSED TREE
authorarthur.iakab <aiakab@mozilla.com>
Mon, 01 Oct 2018 14:11:57 +0300
changeset 494703 e6bcb33bea547e442f0a1c5c857f3655aaf7eae5
parent 494702 a653a439a39b5513169c2bf31353c49b57922a81
child 494704 9ead07a717dfed858e88956b2aa91f7bc5cd7898
push id9984
push userffxbld-merge
push dateMon, 15 Oct 2018 21:07:35 +0000
treeherdermozilla-beta@183d27ea8570 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1483905
milestone64.0a1
backs outa653a439a39b5513169c2bf31353c49b57922a81
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
Backed out changeset a653a439a39b (bug 1483905)for build bustages on webauthn/WebAuthnTransactionChild.cpp:35 CLOSED TREE
dom/webauthn/WebAuthnTransactionChild.cpp
dom/webauthn/tests/get_assertion_dead_object.html
dom/webauthn/tests/mochitest.ini
dom/webauthn/tests/test_webauthn_get_assertion_dead_object.html
--- a/dom/webauthn/WebAuthnTransactionChild.cpp
+++ b/dom/webauthn/WebAuthnTransactionChild.cpp
@@ -23,55 +23,40 @@ WebAuthnTransactionChild::WebAuthnTransa
 mozilla::ipc::IPCResult
 WebAuthnTransactionChild::RecvConfirmRegister(const uint64_t& aTransactionId,
                                               const WebAuthnMakeCredentialResult& aResult)
 {
   if (NS_WARN_IF(!mManager)) {
     return IPC_FAIL_NO_REASON(this);
   }
 
-  // We don't own the reference to mManager. We need to prevent its refcount
-  // going to 0 while we call anything that can reach the call to
-  // StopListeningForVisibilityEvents in WebAuthnManager::ClearTransaction
-  // (often via WebAuthnManager::RejectTransaction).
-  RefPtr<WebAuthnManagerBase> kungFuDeathGrip(mManager);
   mManager->FinishMakeCredential(aTransactionId, aResult);
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult
 WebAuthnTransactionChild::RecvConfirmSign(const uint64_t& aTransactionId,
                                           const WebAuthnGetAssertionResult& aResult)
 {
   if (NS_WARN_IF(!mManager)) {
     return IPC_FAIL_NO_REASON(this);
   }
 
-  // We don't own the reference to mManager. We need to prevent its refcount
-  // going to 0 while we call anything that can reach the call to
-  // StopListeningForVisibilityEvents in WebAuthnManager::ClearTransaction
-  // (often via WebAuthnManager::RejectTransaction).
-  RefPtr<WebAuthnManagerBase> kungFuDeathGrip(mManager);
   mManager->FinishGetAssertion(aTransactionId, aResult);
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult
 WebAuthnTransactionChild::RecvAbort(const uint64_t& aTransactionId,
                                     const nsresult& aError)
 {
   if (NS_WARN_IF(!mManager)) {
     return IPC_FAIL_NO_REASON(this);
   }
 
-  // We don't own the reference to mManager. We need to prevent its refcount
-  // going to 0 while we call anything that can reach the call to
-  // StopListeningForVisibilityEvents in WebAuthnManager::ClearTransaction
-  // (often via WebAuthnManager::RejectTransaction).
-  RefPtr<WebAuthnManagerBase> kungFuDeathGrip(mManager);
   mManager->RequestAborted(aTransactionId, aError);
   return IPC_OK();
 }
 
 void
 WebAuthnTransactionChild::ActorDestroy(ActorDestroyReason why)
 {
   // Called by either a __delete__ message from the parent, or when the
deleted file mode 100644
--- a/dom/webauthn/tests/get_assertion_dead_object.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset=utf-8>
-</head>
-<body>
-<script type="text/javascript">
-  window.addEventListener('load', function() {
-    let o = [];
-    o[0] = window.navigator;
-    document.writeln('');
-    // Since the USB token is enabled by default, this will pop up a notification that the
-    // user can insert/interact with it. Since this is just a test, this won't happen. The
-    // request will eventually time out.
-    // Unfortunately the minimum timeout is 15 seconds.
-    o[0].credentials.get({ publicKey: { challenge: new Uint8Array(128), timeout: 15000 } });
-    o.forEach((n, i) => o[i] = null);
-  });
-</script>
-</body>
-</html>
--- a/dom/webauthn/tests/mochitest.ini
+++ b/dom/webauthn/tests/mochitest.ini
@@ -1,22 +1,20 @@
 [DEFAULT]
 support-files =
   cbor.js
   u2futil.js
   pkijs/*
-  get_assertion_dead_object.html
 skip-if = !e10s
 scheme = https
 
 [test_webauthn_abort_signal.html]
 [test_webauthn_attestation_conveyance.html]
 [test_webauthn_authenticator_selection.html]
 [test_webauthn_authenticator_transports.html]
 [test_webauthn_loopback.html]
 [test_webauthn_no_token.html]
 [test_webauthn_make_credential.html]
 [test_webauthn_get_assertion.html]
-[test_webauthn_get_assertion_dead_object.html]
 [test_webauthn_override_request.html]
 [test_webauthn_store_credential.html]
 [test_webauthn_sameorigin.html]
 [test_webauthn_isplatformauthenticatoravailable.html]
deleted file mode 100644
--- a/dom/webauthn/tests/test_webauthn_get_assertion_dead_object.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<head>
-  <title>Test for GetAssertion on dead object</title>
-  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
-  <script type="text/javascript" src="/tests/SimpleTest/AddTask.js"></script>
-  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-
-  <h1>Test for GetAssertion on dead object</h1>
-  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1483905">Mozilla Bug 1483905</a>
-
-  <script class="testbody" type="text/javascript">
-    "use strict";
-    SimpleTest.waitForExplicitFinish();
-    SimpleTest.requestFlakyTimeout(
-      "Due to the nature of this test, there's no way for the window we're opening to signal " +
-      "that it's done (the `document.writeln('')` is essential and basically clears any state " +
-      "we could use). So, we have to wait at least 15 seconds for the webauthn call to time out.");
-    let win = window.open("https://example.com/tests/dom/webauthn/tests/get_assertion_dead_object.html");
-    setTimeout(() => {
-      win.close();
-      SimpleTest.finish();
-    }, 20000);
-  </script>
-
-</body>
-</html>