| Index: Source/modules/presentation/PresentationRequest.cpp
|
| diff --git a/Source/modules/presentation/PresentationRequest.cpp b/Source/modules/presentation/PresentationRequest.cpp
|
| index 63f8aa2b4bbeda17b2af28b4d2738fad84e4dbfb..04b209a8cd634a693adddfb955c5ec1123727b60 100644
|
| --- a/Source/modules/presentation/PresentationRequest.cpp
|
| +++ b/Source/modules/presentation/PresentationRequest.cpp
|
| @@ -19,6 +19,7 @@
|
| #include "modules/presentation/PresentationError.h"
|
| #include "modules/presentation/PresentationSession.h"
|
| #include "modules/presentation/PresentationSessionCallbacks.h"
|
| +#include "platform/UserGestureIndicator.h"
|
|
|
| namespace blink {
|
|
|
| @@ -82,6 +83,11 @@ ScriptPromise PresentationRequest::start(ScriptState* scriptState)
|
| ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
|
| ScriptPromise promise = resolver->promise();
|
|
|
| + if (!UserGestureIndicator::processingUserGesture()) {
|
| + resolver->reject(DOMException::create(InvalidAccessError, "PresentationRequest::start() requires user gesture."));
|
| + return promise;
|
| + }
|
| +
|
| WebPresentationClient* client = presentationClient(executionContext());
|
| if (!client) {
|
| resolver->reject(DOMException::create(InvalidStateError, "The PresentationRequest is no longer associated to a frame."));
|
|
|