| Index: third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
|
| index 9156bba583b6c602b3a8cc84b4db479d0b50a85d..87666f21b4fbeb866e3c2dd572ee077afbd92cb6 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp
|
| @@ -293,12 +293,27 @@ bool isDocumentCrossOrigin(Document& document) {
|
| return frame && frame->isCrossOriginSubframe();
|
| }
|
|
|
| +bool isDocumentWhitelisted(Document& document) {
|
| + DCHECK(document.settings());
|
| +
|
| + const String& whitelistScope =
|
| + document.settings()->getMediaPlaybackGestureWhitelistScope();
|
| + if (whitelistScope.isNull() || whitelistScope.isEmpty())
|
| + return false;
|
| +
|
| + return document.url().getString().startsWith(whitelistScope);
|
| +}
|
| +
|
| // Return true if and only if the document settings specifies media playback
|
| // requires user gesture.
|
| bool computeLockedPendingUserGesture(Document& document) {
|
| if (!document.settings())
|
| return false;
|
|
|
| + if (isDocumentWhitelisted(document)) {
|
| + return false;
|
| + }
|
| +
|
| if (document.settings()->getCrossOriginMediaPlaybackRequiresUserGesture() &&
|
| isDocumentCrossOrigin(document)) {
|
| return true;
|
|
|