From b367e5554fd77ad071f89c14888448fd4bd09454 Mon Sep 17 00:00:00 2001 From: Olga Gerchikov Date: Mon, 8 Nov 2021 10:19:06 -0800 Subject: [PATCH] Reject requestPresenter if presentation area does not belong to the document. Throw NotAllowedError Dom exception if presentation area is not in the document. Bug: 1258357 Change-Id: Icb2ccadf4a5ca88c726da53200217c7b4a441378 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3261544 Reviewed-by: Kent Tamura Commit-Queue: Olga Gerchikov Cr-Commit-Position: refs/heads/main@{#939431} --- ...Presenter-returns-valid-promise.tentative.window.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/delegated-ink/requestPresenter-returns-valid-promise.tentative.window.js b/delegated-ink/requestPresenter-returns-valid-promise.tentative.window.js index 6cbc69d0155c50..b804c8e3f2a510 100644 --- a/delegated-ink/requestPresenter-returns-valid-promise.tentative.window.js +++ b/delegated-ink/requestPresenter-returns-valid-promise.tentative.window.js @@ -6,6 +6,14 @@ promise_test(t => { return promise_rejects_js(t, TypeError, navigator.ink.requestPresenter('invalid-param')); }, "Receive rejected promise for an invalid param."); +promise_test(t => { + var canvas = document.createElement("canvas"); + var fragment = document.createElement("template").content; + fragment.appendChild(canvas); + return promise_rejects_dom(t, 'NotAllowedError', + navigator.ink.requestPresenter({presentationArea: canvas})); +}, "Received rejected promise for presentation area not in the document."); + promise_test(() => { return navigator.ink.requestPresenter(); }, "Received fulfilled promise for no param"); @@ -20,4 +28,4 @@ promise_test(() => { promise_test(() => { return navigator.ink.requestPresenter({presentationArea: null}); -}, "Received fulfilled promise for dictionary param with valid element."); \ No newline at end of file +}, "Received fulfilled promise for dictionary param with valid element.");