Skip to content

Commit 4a2795e

Browse files
Merge pull request #319 from adobe-commerce-tier-4/Tier4-Kings-PR-03-21-2024
[Support Tier-4-Kings glo28218] 03.21.2024 Regular delivery of bugfixes and improvements
2 parents 6cc30b8 + d8c0908 commit 4a2795e

File tree

12 files changed

+44
-6
lines changed

12 files changed

+44
-6
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Data/VideoData.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@
5757
<data key="value">http://www.youtube.com/watch?v=slOtnjsbff0</data>
5858
<data key="renderedValue">https://www.youtube.com/embed/slOtnjsbff0</data>
5959
</entity>
60+
<entity name="PageBuilderVideoUrl_YouTube_Nocookie" type="pagebuilder_video_url_property">
61+
<data key="name">Video URL</data>
62+
<data key="section">general</data>
63+
<data key="fieldName">video_source</data>
64+
<data key="value">https://www.youtube-nocookie.com/embed/slOtnjsbff0</data>
65+
<data key="renderedValue">https://www.youtube-nocookie.com/embed/slOtnjsbff0</data>
66+
</entity>
6067
<entity name="PageBuilderVideoUrl_Vimeo_Embedded" type="pagebuilder_video_url_property">
6168
<data key="name">Video URL</data>
6269
<data key="section">general</data>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderVideoTest/VideoValidateURLTest.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,18 @@
9191
<argument name="page" value="VideoOnStage"/>
9292
<argument name="url" value="PageBuilderVideoUrl_YouTube_Insecure"/>
9393
</actionGroup>
94+
<!-- Update to YouTube Nocookie -->
95+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageYouTubeNocookie">
96+
<argument name="contentType" value="PageBuilderVideoContentType"/>
97+
</actionGroup>
98+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterVideoUrlYouTubeNocookie">
99+
<argument name="property" value="PageBuilderVideoUrl_YouTube_Nocookie"/>
100+
</actionGroup>
101+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsNocookie"/>
102+
<actionGroup ref="validateVideoWithOnlyVideoUrl" stepKey="validateYouTubeNocookieStage">
103+
<argument name="page" value="VideoOnStage"/>
104+
<argument name="url" value="PageBuilderVideoUrl_YouTube_Nocookie"/>
105+
</actionGroup>
94106
<!-- Update to Vimeo Embedded-->
95107
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStageVimeoEmbedded">
96108
<argument name="contentType" value="PageBuilderVideoContentType"/>

app/code/Magento/PageBuilder/etc/di.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@
363363
<arguments>
364364
<argument name="allowedHosts" xsi:type="array">
365365
<item name="youtube" xsi:type="string">youtube.com</item>
366+
<item name="youtube-nocookie" xsi:type="string">youtube-nocookie.com</item>
366367
<item name="vimeo" xsi:type="string">vimeo.com</item>
367368
</argument>
368369
</arguments>

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/video/converter/attribute/src.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/video/converter/attribute/videosrc.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/video/master.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/js/content-type/video/preview.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/js/form/element/validator-rules-mixin.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,8 @@ define([
193193

194194
href = (href || '').replace(/^\s+/, '').replace(/\s+$/, '');
195195

196-
return validateIsUrl(href) && (href.match(/youtube\.com|youtu\.be/) || href.match(/vimeo\.com/));
196+
return validateIsUrl(href)
197+
&& (href.match(/youtube\.com|youtu\.be|youtube-nocookie\.com/) || href.match(/vimeo\.com/));
197198
},
198199
$.mage.__('Please enter a valid video URL.')
199200
);
@@ -208,7 +209,7 @@ define([
208209
href = (href || '').replace(/^\s+/, '').replace(/\s+$/, '');
209210

210211
return validateIsUrl(href) && (
211-
href.match(/youtube\.com|youtu\.be/) ||
212+
href.match(/youtube\.com|youtu\.be|youtube-nocookie\.com/) ||
212213
href.match(/vimeo\.com/) ||
213214
href.match(/\.(mp4|ogv|webm)(?!\w)/)
214215
);

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/video/converter/attribute/src.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,16 @@ export default class Src implements ConverterInterface {
3838

3939
const youtubeRegExp = new RegExp("^(?:https?:\/\/|\/\/)?(?:www\\.|m\\.)?" +
4040
"(?:youtu\\.be\/|youtube\\.com\/(?:embed\/|v\/|watch\\?v=|watch\\?.+&v=))([\\w-]{11})(?![\\w-])");
41+
const youtubeNoCookieRegExp = new RegExp("^(?:https?:\/\/|\/\/)?(?:www\\.|m\\.)?" +
42+
"(?:youtube-nocookie\\.com\/(?:embed\/|v\/|watch\\?v=|watch\\?.+&v=))([\\w-]{11})(?![\\w-])");
4143
const vimeoRegExp = new RegExp("https?:\/\/(?:www\\.|player\\.)?vimeo.com\/(?:channels\/" +
4244
"(?:\\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\\d+)\/video\/|video\/|)(\\d+)(?:$|\/|\\?)");
4345
const fileRegExp = new RegExp("^(?:https:|http:)?\\/\\/.*[\\\\\\/].+\\.(webm|mp4|ogv)(?!\w)");
4446

4547
if (youtubeRegExp.test(value)) {
4648
return "https://www.youtube.com/embed/" + youtubeRegExp.exec(value)[1];
49+
} else if (youtubeNoCookieRegExp.test(value)) {
50+
return "https://www.youtube-nocookie.com/embed/" + youtubeNoCookieRegExp.exec(value)[1];
4751
} else if (vimeoRegExp.test(value)) {
4852
return "https://player.vimeo.com/video/" + vimeoRegExp.exec(value)[3] + "?title=0&byline=0&portrait=0";
4953
} else if (fileRegExp.test(value)) {

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/content-type/video/converter/attribute/videosrc.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,17 @@ export default class VideoSrc implements ConverterInterface {
9999

100100
const youtubeRegExp = new RegExp("^(?:https?:\/\/|\/\/)?(?:www\\.|m\\.)?" +
101101
"(?:youtu\\.be\/|youtube\\.com\/(?:embed\/|v\/|watch\\?v=|watch\\?.+&v=))([\\w-]{11})(?![\\w-])");
102+
const youtubeNoCookieRegExp = new RegExp("^(?:https?:\/\/|\/\/)?(?:www\\.|m\\.)?" +
103+
"(?:youtube-nocookie\\.com\/(?:embed\/|v\/|watch\\?v=|watch\\?.+&v=))([\\w-]{11})(?![\\w-])");
102104
const vimeoRegExp = new RegExp("https?:\/\/(?:www\\.|player\\.)?vimeo.com\/(?:channels\/" +
103105
"(?:\\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\\d+)\/video\/|video\/|)(\\d+)(?:$|\/|\\?)");
104106

105107
if (youtubeRegExp.test(value)) {
106108
return "https://www.youtube.com/embed/" + youtubeRegExp.exec(value)[1] +
107109
VideoSrc.parseYoutubeGetParams(value, data);
110+
} else if (youtubeNoCookieRegExp.test(value)) {
111+
return "https://www.youtube-nocookie.com/embed/" + youtubeNoCookieRegExp.exec(value)[1] +
112+
VideoSrc.parseYoutubeGetParams(value, data);
108113
} else if (vimeoRegExp.test(value)) {
109114
return "https://player.vimeo.com/video/" + vimeoRegExp.exec(value)[3] +
110115
"?title=0&byline=0&portrait=0" + (data.autoplay === "true" ? "&autoplay=1&autopause=0&muted=1" : "");

0 commit comments

Comments
 (0)