[DL]: Add promise rejection reasons.

This patch adds reasons for rejection for each promise that is rejected.

R=chrishtr@chromium.org

Bug: 882663
Change-Id: I3317862ca5bf8cd76ad7309d61f7ec38e76c9e4d
Reviewed-on: https://chromium-review.googlesource.com/c/1452493
Commit-Queue: vmpstr <vmpstr@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629265}
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.cc b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
index 0e71f25..f2b5de4 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context.cc
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
@@ -10,6 +10,7 @@
 #include "third_party/blink/renderer/core/display_lock/unyielding_display_lock_budget.h"
 #include "third_party/blink/renderer/core/display_lock/yielding_display_lock_budget.h"
 #include "third_party/blink/renderer/core/dom/document.h"
+#include "third_party/blink/renderer/core/dom/dom_exception.h"
 #include "third_party/blink/renderer/core/dom/element.h"
 #include "third_party/blink/renderer/core/dom/node_computed_style.h"
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
@@ -27,11 +28,22 @@
 // sec.
 double kDefaultLockTimeoutMs = 1000.;
 
+namespace rejection_names {
+const char* kElementIsUnlocked = "Element is unlocked.";
+const char* kExecutionContextDestroyed = "Execution context destroyed.";
+const char* kContainmentNotSatisfied =
+    "Containment requirement is not satisfied.";
+const char* kElementIsDisconnected = "Element is disconnected.";
+const char* kLockCommitted = "Lock commit was requested.";
+}  // namespace rejection_names
+
 // Helper function that returns an immediately rejected promise.
-ScriptPromise GetRejectedPromise(ScriptState* script_state) {
+ScriptPromise GetRejectedPromise(ScriptState* script_state,
+                                 const char* rejection_reason) {
   auto* resolver = ScriptPromiseResolver::Create(script_state);
   auto promise = resolver->Promise();
-  resolver->Reject();
+  resolver->Reject(DOMException::Create(DOMExceptionCode::kNotAllowedError,
+                                        rejection_reason));
   return promise;
 }
 
@@ -92,9 +104,9 @@
 }
 
 void DisplayLockContext::ContextDestroyed(ExecutionContext*) {
-  FinishUpdateResolver(kReject);
-  FinishCommitResolver(kReject);
-  FinishAcquireResolver(kReject);
+  FinishUpdateResolver(kReject, rejection_names::kExecutionContextDestroyed);
+  FinishCommitResolver(kReject, rejection_names::kExecutionContextDestroyed);
+  FinishAcquireResolver(kReject, rejection_names::kExecutionContextDestroyed);
   CancelTimeoutTask();
   state_ = kUnlocked;
 }
@@ -154,7 +166,8 @@
   // Reject if we're unlocked or disconnected.
   if (state_ == kUnlocked || state_ == kPendingAcquire ||
       !element_->isConnected()) {
-    return GetRejectedPromise(script_state);
+    return GetRejectedPromise(script_state,
+                              rejection_names::kElementIsUnlocked);
   }
 
   // If we have a resolver, then we're at least updating already, just return
@@ -223,20 +236,24 @@
   return commit_resolver_->Promise();
 }
 
-void DisplayLockContext::FinishUpdateResolver(ResolverState state) {
-  FinishResolver(&update_resolver_, state);
+void DisplayLockContext::FinishUpdateResolver(ResolverState state,
+                                              const char* rejection_reason) {
+  FinishResolver(&update_resolver_, state, rejection_reason);
 }
 
-void DisplayLockContext::FinishCommitResolver(ResolverState state) {
-  FinishResolver(&commit_resolver_, state);
+void DisplayLockContext::FinishCommitResolver(ResolverState state,
+                                              const char* rejection_reason) {
+  FinishResolver(&commit_resolver_, state, rejection_reason);
 }
 
-void DisplayLockContext::FinishAcquireResolver(ResolverState state) {
-  FinishResolver(&acquire_resolver_, state);
+void DisplayLockContext::FinishAcquireResolver(ResolverState state,
+                                               const char* rejection_reason) {
+  FinishResolver(&acquire_resolver_, state, rejection_reason);
 }
 
 void DisplayLockContext::FinishResolver(Member<ScriptPromiseResolver>* resolver,
-                                        ResolverState state) {
+                                        ResolverState state,
+                                        const char* rejection_reason) {
   if (!*resolver)
     return;
   switch (state) {
@@ -252,7 +269,9 @@
                                     WrapPersistent(resolver->Get())));
       break;
     case kReject:
-      (*resolver)->Reject();
+      DCHECK(rejection_reason);
+      (*resolver)->Reject(DOMException::Create(
+          DOMExceptionCode::kNotAllowedError, rejection_reason));
       break;
     case kDetach:
       (*resolver)->Detach();
@@ -279,9 +298,9 @@
   // by script.
   if (!ElementSupportsDisplayLocking()) {
     bool should_stay_locked = state_ == kUpdating && !commit_resolver_;
-    FinishUpdateResolver(kReject);
-    FinishCommitResolver(kReject);
-    FinishAcquireResolver(kReject);
+    FinishUpdateResolver(kReject, rejection_names::kContainmentNotSatisfied);
+    FinishCommitResolver(kReject, rejection_names::kContainmentNotSatisfied);
+    FinishAcquireResolver(kReject, rejection_names::kContainmentNotSatisfied);
     state_ = should_stay_locked ? kLocked : kUnlocked;
     return;
   }
@@ -347,8 +366,8 @@
   // layout object level. This confirms that containment should apply.
   if (!ElementSupportsDisplayLocking()) {
     bool should_stay_locked = state_ == kUpdating && !commit_resolver_;
-    FinishUpdateResolver(kReject);
-    FinishCommitResolver(kReject);
+    FinishUpdateResolver(kReject, rejection_names::kContainmentNotSatisfied);
+    FinishCommitResolver(kReject, rejection_names::kContainmentNotSatisfied);
     state_ = should_stay_locked ? kLocked : kUnlocked;
   }
 }
@@ -401,7 +420,7 @@
     update_budget_.reset();
     CancelTimeoutTask();
     // Note that we reject the update, but resolve the commit.
-    FinishUpdateResolver(kReject);
+    FinishUpdateResolver(kReject, rejection_names::kElementIsDisconnected);
     FinishCommitResolver(kResolve);
     return;
   }
@@ -409,7 +428,7 @@
   // If we have just started to acquire, we can unlock immediately since we
   // didn't have a chance to lock yet.
   if (state_ == kPendingAcquire) {
-    FinishAcquireResolver(kReject);
+    FinishAcquireResolver(kReject, rejection_names::kLockCommitted);
     FinishCommitResolver(kResolve);
     CancelTimeoutTask();
     state_ = kUnlocked;
@@ -565,7 +584,7 @@
 void DisplayLockContext::DidFinishLifecycleUpdate() {
   if (state_ == kPendingAcquire) {
     if (!ElementSupportsDisplayLocking()) {
-      FinishAcquireResolver(kReject);
+      FinishAcquireResolver(kReject, rejection_names::kContainmentNotSatisfied);
       CancelTimeoutTask();
       state_ = kUnlocked;
       return;
@@ -600,7 +619,7 @@
   // If we became disconnected for any reason, then we should reject the
   // update promise and go back to the locked state.
   if (!element_ || !element_->isConnected()) {
-    FinishUpdateResolver(kReject);
+    FinishUpdateResolver(kReject, rejection_names::kElementIsDisconnected);
     update_budget_.reset();
 
     if (commit_resolver_) {
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.h b/third_party/blink/renderer/core/display_lock/display_lock_context.h
index 2866014..bd6368a 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context.h
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context.h
@@ -214,10 +214,13 @@
 
   // Helper functions to resolve the update/commit promises.
   enum ResolverState { kResolve, kReject, kDetach };
-  void FinishUpdateResolver(ResolverState);
-  void FinishCommitResolver(ResolverState);
-  void FinishAcquireResolver(ResolverState);
-  void FinishResolver(Member<ScriptPromiseResolver>*, ResolverState);
+  void FinishUpdateResolver(ResolverState, const char* reject_reason = nullptr);
+  void FinishCommitResolver(ResolverState, const char* reject_reason = nullptr);
+  void FinishAcquireResolver(ResolverState,
+                             const char* reject_reason = nullptr);
+  void FinishResolver(Member<ScriptPromiseResolver>*,
+                      ResolverState,
+                      const char* reject_reason);
 
   // Returns true if the element supports display locking. Note that this can
   // only be called if the style is clean. It checks the layout object if it
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-after-resize.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-after-resize.html
index 1c975f3..0a7558c 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-after-resize.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-after-resize.html
@@ -45,7 +45,7 @@
   container.id = "large";
   container.displayLock.acquire({ timeout: Infinity }).then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-commit.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-commit.html
index 147d246..60aebdaa 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-commit.html
@@ -42,7 +42,7 @@
 
     container.displayLock.commit().then(
       () => { finishTest("PASS"); },
-      () => { finishTest("FAIL"); });
+      (e) => { finishTest("FAIL " + e.message); });
   });
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-commit-resolves.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-commit-resolves.html
index 770f51c..a284c0a 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-commit-resolves.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-commit-resolves.html
@@ -43,7 +43,7 @@
 
   container.displayLock.commit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-update-and-commit.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-update-and-commit.html
index ccff550..7cb721ad 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-update-and-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-immediate-update-and-commit.html
@@ -43,7 +43,7 @@
 
   container.displayLock.updateAndCommit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-added-containment.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-added-containment.html
index 78bb213..06889e3c 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-added-containment.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-added-containment.html
@@ -40,7 +40,7 @@
   container.classList = "contained";
   container.displayLock.acquire({ timeout: Infinity }).then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment-expected.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment-expected.html
index 4c990bd..f7f5df11 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment-expected.html
@@ -13,5 +13,5 @@
 }
 </style>
 
-<div id="log">PASS</div>
+<div id="log">PASS Containment requirement is not satisfied.</div>
 <div id="container"></div>
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment.html
index 9f3e566..24be35bb 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-on-no-containment.html
@@ -36,7 +36,7 @@
   let container = document.getElementById("container");
   container.displayLock.acquire({ timeout: Infinity }).then(
     () => { finishTest("FAIL"); },
-    () => { finishTest("PASS"); });
+    (e) => { finishTest("PASS " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit-expected.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit-expected.html
index 9801e1a..a8b4d2c 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit-expected.html
@@ -14,5 +14,5 @@
 }
 </style>
 
-<div id="log">PASS</div>
+<div id="log">PASS Lock commit was requested.</div>
 <div id="container"><div id="child"></div></div>
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit.html b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit.html
index e957bce..de31effe 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/acquire-rejects-after-immediate-commit.html
@@ -37,7 +37,7 @@
   let container = document.getElementById("container");
   container.displayLock.acquire({ timeout: Infinity }).then(
     () => { finishTest("FAIL"); },
-    () => { finishTest("PASS"); });
+    (e) => { finishTest("PASS " + e.message); });
 
   let child = document.createElement("div");
   child.id = "child";
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/nested-acquire.html b/third_party/blink/web_tests/display-lock/lock-after-append/nested-acquire.html
index 04c8737..8cf58c8 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/nested-acquire.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/nested-acquire.html
@@ -47,7 +47,7 @@
   inner.appendChild(document.createElement("div"));
   inner.displayLock.acquire().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/nested-commit.html b/third_party/blink/web_tests/display-lock/lock-after-append/nested-commit.html
index 6163793..d9a8f85 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/nested-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/nested-commit.html
@@ -49,7 +49,7 @@
   inner.appendChild(document.createElement("div"));
   inner.displayLock.commit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/nested-update-and-commit.html b/third_party/blink/web_tests/display-lock/lock-after-append/nested-update-and-commit.html
index aedda3ecb..5e3f17d 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/nested-update-and-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/nested-update-and-commit.html
@@ -49,7 +49,7 @@
   inner.appendChild(document.createElement("div"));
   inner.displayLock.updateAndCommit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-after-append/nested-update.html b/third_party/blink/web_tests/display-lock/lock-after-append/nested-update.html
index 41d5d7f..f3f7ea0 100644
--- a/third_party/blink/web_tests/display-lock/lock-after-append/nested-update.html
+++ b/third_party/blink/web_tests/display-lock/lock-after-append/nested-update.html
@@ -49,7 +49,7 @@
   inner.appendChild(document.createElement("div"));
   inner.displayLock.update().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-commit.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-commit.html
index 9473670..e867935 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-commit.html
@@ -44,7 +44,7 @@
 
     container.displayLock.commit().then(
       () => { finishTest("PASS"); },
-      () => { finishTest("FAIL"); });
+      (e) => { finishTest("FAIL " + e.message); });
   });
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-and-commit.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-and-commit.html
index 2ff1ffd..d8df777 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-and-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-and-commit.html
@@ -44,7 +44,7 @@
 
     container.displayLock.updateAndCommit().then(
       () => { finishTest("PASS"); },
-      () => { finishTest("FAIL"); });
+      (e) => { finishTest("FAIL " + e.message); });
   });
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-commit.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-commit.html
index 0747bce..8141a62 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-commit.html
@@ -45,7 +45,7 @@
     container.displayLock.update().then(() => {
       container.displayLock.commit().then(
         () => { finishTest("PASS"); },
-        () => { finishTest("FAIL"); });
+        (e) => { finishTest("FAIL " + e.message); });
     });
   });
 }
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit-expected.html
index 590a7e63..e2d291f 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit-expected.html
@@ -9,6 +9,6 @@
 }
 </style>
 
-<div id="log">PASS</div>
+<div id="log">PASS Element is disconnected.</div>
 <div id="container"></div>
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit.html
index 96e7334..43c92b1 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-commit.html
@@ -36,9 +36,9 @@
     document.body.appendChild(container);
     container.displayLock.update().then(
       () => { finishTest("FAIL"); },
-      () => {
+      (e) => {
         document.body.appendChild(container);
-        finishTest("PASS");
+        finishTest("PASS " + e.message);
       });
     container.remove();
     container.displayLock.commit();
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-expected.html
index 1333caeb..9f2eee17 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove-expected.html
@@ -1,4 +1,4 @@
 <!doctype HTML>
 
-<div id="log">PASS</div>
+<div id="log">PASS Element is disconnected.</div>
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove.html b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove.html
index ababf1a..ef43615 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/acquire-update-remove.html
@@ -35,7 +35,7 @@
     document.body.appendChild(container);
     container.displayLock.update().then(
       () => { finishTest("FAIL"); },
-      () => { finishTest("PASS"); });
+      (e) => { finishTest("PASS " + e.message); });
     container.remove();
   });
 }
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-added-containment.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-added-containment.html
index 2fb3306..d1eec04 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-added-containment.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-added-containment.html
@@ -36,7 +36,7 @@
 
   container.displayLock.commit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails-expected.html
index a1a74ba..a9f1693 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails-expected.html
@@ -1,3 +1,3 @@
 <!doctype HTML>
 
-<div id="log">PASS</div>
+<div id="log">PASS Containment requirement is not satisfied.</div>
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails.html
index 7a862e4b..6efa463 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-inline-fails.html
@@ -32,7 +32,7 @@
   document.body.appendChild(container);
   container.displayLock.commit().then(
     () => { finishTest("FAIL"); },
-    () => { finishTest("PASS"); });
+    (e) => { finishTest("PASS " + e.message); });
 }
 
 window.onload = acquire;
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails-expected.html
index a1a74ba..a9f1693 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails-expected.html
@@ -1,3 +1,3 @@
 <!doctype HTML>
 
-<div id="log">PASS</div>
+<div id="log">PASS Containment requirement is not satisfied.</div>
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails.html
index 13d9513..16d06626 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-on-no-containment-fails.html
@@ -25,7 +25,7 @@
   document.body.appendChild(container);
   container.displayLock.commit().then(
     () => { finishTest("FAIL"); },
-    () => { finishTest("PASS"); });
+    (e) => { finishTest("PASS " + e.message); });
 }
 
 window.onload = acquire;
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-while-disconnected.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-while-disconnected.html
index d639493..c386c96 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-while-disconnected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-while-disconnected.html
@@ -37,7 +37,7 @@
         document.body.appendChild(container);
         finishTest("PASS");
       },
-      () => { finishTest("FAIL"); });
+      (e) => { finishTest("FAIL " + e.message); });
   });
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/commit-without-acquire.html b/third_party/blink/web_tests/display-lock/lock-before-append/commit-without-acquire.html
index 569daa6..784f7cd 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/commit-without-acquire.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/commit-without-acquire.html
@@ -37,7 +37,7 @@
   container.id = "container";
   container.displayLock.commit().then(
       () => { finishTest("PASS"); },
-      () => { finishTest("FAIL"); });
+      (e) => { finishTest("FAIL " + e.message); });
   document.body.appendChild(container);
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/multiple-acquires-all-succeed.html b/third_party/blink/web_tests/display-lock/lock-before-append/multiple-acquires-all-succeed.html
index d5624b84d..c0535f2 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/multiple-acquires-all-succeed.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/multiple-acquires-all-succeed.html
@@ -55,7 +55,7 @@
     ]).then(() => {
       container.displayLock.commit().then(
         () => { finishTest("PASS"); },
-        () => { finishTest("FAIL"); });
+        (e) => { finishTest("FAIL " + e.message); });
     });
   });
 }
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/update-and-commit.html b/third_party/blink/web_tests/display-lock/lock-before-append/update-and-commit.html
index 4740a11..3f04f77 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/update-and-commit.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/update-and-commit.html
@@ -32,7 +32,7 @@
   container.id = "container";
   container.displayLock.updateAndCommit().then(
     () => { finishTest("PASS"); },
-    () => { finishTest("FAIL"); });
+    (e) => { finishTest("FAIL " + e.message); });
 }
 
 window.onload = runTest;
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected-expected.html
index 1333caeb..4a2df4f 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected-expected.html
@@ -1,4 +1,3 @@
 <!doctype HTML>
 
-<div id="log">PASS</div>
-
+<div id="log">PASS Element is unlocked.</div>
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected.html b/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected.html
index 92ab9f43..c83e15eb 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/update-while-disconnected.html
@@ -25,7 +25,7 @@
   container.displayLock.acquire({ timeout: Infinity }).then(() => {
     container.displayLock.update().then(
       () => { finishTest("FAIL"); },
-      () => { finishTest("PASS"); });
+      (e) => { finishTest("PASS " + e.message); });
   });
 }
 
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails-expected.html b/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails-expected.html
index cab4e96f..13d6a8bb 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails-expected.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails-expected.html
@@ -9,5 +9,5 @@
 }
 </style>
 
-<div id="log">PASS</div>
+<div id="log">PASS Element is unlocked.</div>
 <div id="container"></div>
diff --git a/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails.html b/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails.html
index 8ded5d6..e310186 100644
--- a/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails.html
+++ b/third_party/blink/web_tests/display-lock/lock-before-append/update-without-acquire-fails.html
@@ -37,7 +37,7 @@
   container.id = "container";
   container.displayLock.update().then(
       () => { finishTest("FAIL"); },
-      () => { finishTest("PASS"); });
+      (e) => { finishTest("PASS " + e.message); });
   document.body.appendChild(container);
 }