summaryrefslogtreecommitdiff
path: root/packages/frontend
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2023-08-13 05:29:13 +0200
committerGitHub <noreply@github.com>2023-08-13 12:29:13 +0900
commit2896fc6cb4f6f35df4b0a0c22c9be55ad3c8e19a (patch)
tree07a88b1b0308768b773fce6078e72bf043147835 /packages/frontend
parentbuild(deps): bump uesteibar/reviewer-lottery from 2 to 3 (#11500) (diff)
downloadmisskey-2896fc6cb4f6f35df4b0a0c22c9be55ad3c8e19a.tar.gz
misskey-2896fc6cb4f6f35df4b0a0c22c9be55ad3c8e19a.tar.bz2
misskey-2896fc6cb4f6f35df4b0a0c22c9be55ad3c8e19a.zip
fix(frontend/MkUrlPreview): allow fullscreen from tweets (#11712)
* fix(frontend/MkUrlPreview): allow fullscreen from tweets * Update url-preview.test.ts
Diffstat (limited to 'packages/frontend')
-rw-r--r--packages/frontend/src/components/MkUrlPreview.vue9
-rw-r--r--packages/frontend/test/url-preview.test.ts11
2 files changed, 18 insertions, 2 deletions
diff --git a/packages/frontend/src/components/MkUrlPreview.vue b/packages/frontend/src/components/MkUrlPreview.vue
index 1a194ae9db..1f9c336eee 100644
--- a/packages/frontend/src/components/MkUrlPreview.vue
+++ b/packages/frontend/src/components/MkUrlPreview.vue
@@ -28,7 +28,14 @@ SPDX-License-Identifier: AGPL-3.0-only
</template>
<template v-else-if="tweetId && tweetExpanded">
<div ref="twitter">
- <iframe ref="tweet" scrolling="no" frameborder="no" :style="{ position: 'relative', width: '100%', height: `${tweetHeight}px` }" :src="`https://platform.twitter.com/embed/index.html?embedId=${embedId}&amp;hideCard=false&amp;hideThread=false&amp;lang=en&amp;theme=${defaultStore.state.darkMode ? 'dark' : 'light'}&amp;id=${tweetId}`"></iframe>
+ <iframe
+ ref="tweet"
+ allow="fullscreen;web-share"
+ sandbox="allow-popups allow-scripts allow-same-origin"
+ scrolling="no"
+ :style="{ position: 'relative', width: '100%', height: `${tweetHeight}px`, border: 0 }"
+ :src="`https://platform.twitter.com/embed/index.html?embedId=${embedId}&amp;hideCard=false&amp;hideThread=false&amp;lang=en&amp;theme=${defaultStore.state.darkMode ? 'dark' : 'light'}&amp;id=${tweetId}`"
+ ></iframe>
</div>
<div :class="$style.action">
<MkButton :small="true" inline @click="tweetExpanded = false">
diff --git a/packages/frontend/test/url-preview.test.ts b/packages/frontend/test/url-preview.test.ts
index 1d43a628f2..b5fcf9bece 100644
--- a/packages/frontend/test/url-preview.test.ts
+++ b/packages/frontend/test/url-preview.test.ts
@@ -13,7 +13,7 @@ import MkUrlPreview from '@/components/MkUrlPreview.vue';
type SummalyResult = Awaited<ReturnType<typeof summaly>>;
-describe('MkMediaImage', () => {
+describe('MkUrlPreview', () => {
const renderPreviewBy = async (summary: Partial<SummalyResult>): Promise<RenderResult> => {
if (!summary.player) {
summary.player = {
@@ -143,4 +143,13 @@ describe('MkMediaImage', () => {
assert.exists(iframe, 'iframe should exist');
assert.strictEqual(iframe?.parentElement?.style.paddingTop, '200px');
});
+
+ test('Loading a tweet in iframe', async () => {
+ const iframe = await renderAndOpenPreview({
+ url: 'https://twitter.com/i/web/status/1685072521782325249',
+ });
+ assert.exists(iframe, 'iframe should exist');
+ assert.strictEqual(iframe?.getAttribute('allow'), 'fullscreen;web-share');
+ assert.strictEqual(iframe?.getAttribute('sandbox'), 'allow-popups allow-scripts allow-same-origin');
+ });
});