Skip to content

Commit 3f5d069

Browse files
Merge branch 'master' into expose-is-vimeo-url
2 parents 21a4d48 + 96abf1d commit 3f5d069

11 files changed

+52
-31
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ You can use the library to make the embed for you. All you need is an empty
5454
element and the video id or vimeo.com url (and optional
5555
[embed options](#embed-options)).
5656

57+
**NOTE:** If the video [privacy settings](https://vimeo.zendesk.com/hc/en-us/articles/224817847-Privacy-settings-overview) are "Private", you will need to provide the full video URL as a `url` property.
58+
5759
```html
5860
<div id="made-in-ny"></div>
5961

dist/player.es.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! @vimeo/player v2.16.0 | (c) 2021 Vimeo | MIT License | https://github.com/vimeo/player.js */
1+
/*! @vimeo/player v2.16.1 | (c) 2021 Vimeo | MIT License | https://github.com/vimeo/player.js */
22
function _classCallCheck(instance, Constructor) {
33
if (!(instance instanceof Constructor)) {
44
throw new TypeError("Cannot call a class as a function");
@@ -1247,7 +1247,7 @@ var Player = /*#__PURE__*/function () {
12471247
return screenfull.exit();
12481248
};
12491249

1250-
screenfull.on('fullscreenchange', function () {
1250+
this.fullscreenchangeHandler = function () {
12511251
if (screenfull.isFullscreen) {
12521252
storeCallback(_this, 'event:exitFullscreen', exitFullscreen);
12531253
} else {
@@ -1258,7 +1258,9 @@ var Player = /*#__PURE__*/function () {
12581258
_this.ready().then(function () {
12591259
postMessage(_this, 'fullscreenchange', screenfull.isFullscreen);
12601260
});
1261-
});
1261+
};
1262+
1263+
screenfull.on('fullscreenchange', this.fullscreenchangeHandler);
12621264
}
12631265

12641266
return this;
@@ -1755,6 +1757,10 @@ var Player = /*#__PURE__*/function () {
17551757

17561758
_this5._window.removeEventListener('message', _this5._onMessage);
17571759

1760+
if (screenfull.isEnabled) {
1761+
screenfull.off('fullscreenchange', _this5.fullscreenchangeHandler);
1762+
}
1763+
17581764
resolve();
17591765
});
17601766
}

dist/player.js

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

dist/player.js.map

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

dist/player.min.js

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

dist/player.min.js.map

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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@vimeo/player",
3-
"version": "2.16.0",
3+
"version": "2.16.1",
44
"description": "Interact with and control an embedded Vimeo Player.",
55
"license": "MIT",
66
"author": "Vimeo <https://vimeo.com>",

src/player.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,7 @@ class Player {
131131

132132
if (screenfull.isEnabled) {
133133
const exitFullscreen = () => screenfull.exit();
134-
135-
screenfull.on('fullscreenchange', () => {
134+
this.fullscreenchangeHandler = () => {
136135
if (screenfull.isFullscreen) {
137136
storeCallback(this, 'event:exitFullscreen', exitFullscreen);
138137
}
@@ -143,7 +142,9 @@ class Player {
143142
this.ready().then(() => {
144143
postMessage(this, 'fullscreenchange', screenfull.isFullscreen);
145144
});
146-
});
145+
};
146+
147+
screenfull.on('fullscreenchange', this.fullscreenchangeHandler);
147148
}
148149

149150
return this;
@@ -551,7 +552,8 @@ class Player {
551552
// If not, just remove the iframe element.
552553
if (this.element.parentNode.parentNode && this._originalElement && this._originalElement !== this.element.parentNode) {
553554
this.element.parentNode.parentNode.removeChild(this.element.parentNode);
554-
} else {
555+
}
556+
else {
555557
this.element.parentNode.removeChild(this.element);
556558
}
557559
}
@@ -566,14 +568,19 @@ class Player {
566568
// If not, just remove the iframe element.
567569
if (iframe.parentNode.parentNode && this._originalElement && this._originalElement !== iframe.parentNode) {
568570
iframe.parentNode.parentNode.removeChild(iframe.parentNode);
569-
} else {
571+
}
572+
else {
570573
iframe.parentNode.removeChild(iframe);
571574
}
572575
}
573576
}
574577

575578
this._window.removeEventListener('message', this._onMessage);
576579

580+
if (screenfull.isEnabled) {
581+
screenfull.off('fullscreenchange', this.fullscreenchangeHandler);
582+
}
583+
577584
resolve();
578585
});
579586
}

test/embed-test.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ import html from './helpers/html';
33
import { getOEmbedParameters, getOEmbedData, createEmbed, initializeEmbeds, resizeEmbeds } from '../src/lib/embed';
44

55
test('getOEmbedParameters retrieves the params from data attributes', (t) => {
6-
const el = html`<div data-vimeo-id="2" data-vimeo-width="640" data-vimeo-autoplay></div>`;
6+
const el = html`<div data-vimeo-id="336812660" data-vimeo-width="640" data-vimeo-autoplay></div>`;
77
t.deepEqual(getOEmbedParameters(el), {
8-
id: '2',
8+
id: '336812660',
99
width: '640',
1010
autoplay: 1
1111
});
1212
});
1313

1414
test('getOEmbedParameters builds off of a defaults object', (t) => {
15-
const el = html`<div data-vimeo-id="2" data-vimeo-width="640" data-vimeo-autoplay></div>`;
15+
const el = html`<div data-vimeo-id="336812660" data-vimeo-width="640" data-vimeo-autoplay></div>`;
1616
t.deepEqual(getOEmbedParameters(el, { loop: true }), {
17-
id: '2',
17+
id: '336812660',
1818
width: '640',
1919
autoplay: 1,
2020
loop: true
@@ -41,27 +41,27 @@ test('createEmbed should throw if there’s no element', (t) => {
4141

4242
test('createEmbed returns the already-initialized iframe', (t) => {
4343
const container = html`<div data-vimeo-initialized></div>`;
44-
const iframe = html`<iframe src="https://player.vimeo.com/2"></iframe>`;
44+
const iframe = html`<iframe src="https://player.vimeo.com/336812660"></iframe>`;
4545
container.appendChild(iframe);
4646
t.deepEqual(createEmbed({ html: 'html' }, container), iframe);
4747
});
4848

4949
test('createEmbed makes an iframe from the oembed data', (t) => {
5050
const container = html`<div></div>`;
51-
const markup = '<iframe src="https://player.vimeo.com/2"></iframe>';
51+
const markup = '<iframe src="https://player.vimeo.com/336812660"></iframe>';
5252

5353
const embed = createEmbed({ html: markup }, container);
5454
t.true(container.getAttribute('data-vimeo-initialized') === 'true');
55-
t.deepEqual(embed.outerHTML, html`<iframe src="https://player.vimeo.com/2"></iframe>`.outerHTML);
55+
t.deepEqual(embed.outerHTML, html`<iframe src="https://player.vimeo.com/336812660"></iframe>`.outerHTML);
5656
});
5757

5858
test('createEmbed returns the iframe from a responsive embed', (t) => {
5959
const container = html`<div></div>`;
60-
const markup = '<div style="position:relative;padding-bottom:42.5%;height:0"><iframe src="https://player.vimeo.com/video/2" style="position:absolute;top:0;left:0;width:100%;height:100%" frameborder="0"></iframe></div>';
60+
const markup = '<div style="position:relative;padding-bottom:42.5%;height:0"><iframe src="https://player.vimeo.com/video/336812660" style="position:absolute;top:0;left:0;width:100%;height:100%" frameborder="0"></iframe></div>';
6161

6262
const embed = createEmbed({ html: markup }, container);
6363
t.true(container.getAttribute('data-vimeo-initialized') === 'true');
64-
t.deepEqual(embed.outerHTML, html`<iframe src="https://player.vimeo.com/video/2" style="position:absolute;top:0;left:0;width:100%;height:100%" frameborder="0"></iframe>`.outerHTML);
64+
t.deepEqual(embed.outerHTML, html`<iframe src="https://player.vimeo.com/video/336812660" style="position:absolute;top:0;left:0;width:100%;height:100%" frameborder="0"></iframe>`.outerHTML);
6565
});
6666

6767
test('initializeEmbeds should create embeds', async (t) => {

test/functions-test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ test('isVimeoUrl identifies *.vimeo.com only', (t) => {
4545
t.true(isVimeoUrl('https://notvimeo.com') === false);
4646
t.true(isVimeoUrl('https://vimeo.someone.com') === false);
4747
t.true(isVimeoUrl('https://player.vimeo.com/video/123') === true);
48-
t.true(isVimeoUrl('https://vimeo.com/2') === true);
48+
t.true(isVimeoUrl('https://vimeo.com/336812660') === true);
4949
t.true(isVimeoUrl('https://vimeo.com.evil.net') === false);
5050
t.true(isVimeoUrl('http://player.vimeo.com.evil.com') === false);
5151
t.true(isVimeoUrl('https://player.vimeozcom') === false);
5252
t.true(isVimeoUrl('https://www2vimeo.com') === false);
5353
});
5454

5555
test('getVimeoUrl correctly returns a url from the embed parameters', (t) => {
56-
t.true(getVimeoUrl({ id: 2 }) === 'https://vimeo.com/2');
57-
t.true(getVimeoUrl({ url: 'http://vimeo.com/2' }) === 'https://vimeo.com/2');
58-
t.true(getVimeoUrl({ url: 'https://vimeo.com/2' }) === 'https://vimeo.com/2');
56+
t.true(getVimeoUrl({ id: 336812660 }) === 'https://vimeo.com/336812660');
57+
t.true(getVimeoUrl({ url: 'http://vimeo.com/336812660' }) === 'https://vimeo.com/336812660');
58+
t.true(getVimeoUrl({ url: 'https://vimeo.com/336812660' }) === 'https://vimeo.com/336812660');
5959

6060
});
6161

test/helpers/browser-env.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import { JSDOM } from 'jsdom';
33

44
const html = `<body>
5-
<div id="test_player" data-vimeo-id="2"></div>
5+
<div id="test_player" data-vimeo-id="336812660"></div>
66
<div class="multiple">
7-
<iframe class="two" src="https://player.vimeo.com/video/2"></iframe>
7+
<iframe class="two" src="https://player.vimeo.com/video/336812660"></iframe>
88
<iframe class="one" src="https://player.vimeo.com/video/76979871"></iframe>
99
</div>
1010
</body>`;

0 commit comments

Comments
 (0)