From 238b58a6497ea8a7bc82b083802f6f89b34ee05b Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:28:17 -0500 Subject: [PATCH 1/3] feat(content): add content-fullscreen class when fullscreen is applied --- core/src/components/content/content.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/components/content/content.tsx b/core/src/components/content/content.tsx index 361939f7c27..72b156fafe0 100644 --- a/core/src/components/content/content.tsx +++ b/core/src/components/content/content.tsx @@ -462,6 +462,7 @@ export class Content implements ComponentInterface { role={isMainContent ? 'main' : undefined} class={createColorClasses(this.color, { [mode]: true, + 'content-fullscreen': this.fullscreen, 'content-sizing': hostContext('ion-popover', this.el), overscroll: forceOverscroll, [`content-${rtl}`]: true, From 23f883a5ee9c279130e22abb6a5037f12c19295b Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:28:27 -0500 Subject: [PATCH 2/3] test(content): add e2e test checking for content-fullscreen class --- .../content/test/fullscreen/content.e2e.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/core/src/components/content/test/fullscreen/content.e2e.ts b/core/src/components/content/test/fullscreen/content.e2e.ts index d0d0d1f4e5d..c00c246a32e 100644 --- a/core/src/components/content/test/fullscreen/content.e2e.ts +++ b/core/src/components/content/test/fullscreen/content.e2e.ts @@ -13,5 +13,33 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co await expect(page).toHaveScreenshot(screenshot(`content-fullscreen`)); }); + + test('should have content-fullscreen class when fullscreen is true', async ({ page }) => { + await page.setContent( + ` + +

Hello

+
+ `, + config + ); + + const content = page.locator('ion-content'); + await expect(content).toHaveClass(/content-fullscreen/); + }); + + test('should not have content-fullscreen class when fullscreen is false', async ({ page }) => { + await page.setContent( + ` + +

Hello

+
+ `, + config + ); + + const content = page.locator('ion-content'); + await expect(content).not.toHaveClass(/content-fullscreen/); + }); }); }); From 39819f5eff51bc9c7e8cf2e169a836a852a8a6bb Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Mon, 26 Jan 2026 15:45:34 -0500 Subject: [PATCH 3/3] test(content): add comment explaining why test is needed --- core/src/components/content/test/fullscreen/content.e2e.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/components/content/test/fullscreen/content.e2e.ts b/core/src/components/content/test/fullscreen/content.e2e.ts index c00c246a32e..8fb7e9a9f22 100644 --- a/core/src/components/content/test/fullscreen/content.e2e.ts +++ b/core/src/components/content/test/fullscreen/content.e2e.ts @@ -14,6 +14,11 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co await expect(page).toHaveScreenshot(screenshot(`content-fullscreen`)); }); + /** + * The content-fullscreen class is added when fullscreen is true. The + * fullscreen attribute is not reflected in Angular, Vue, or React, so + * the class is needed for users to create custom themes. + */ test('should have content-fullscreen class when fullscreen is true', async ({ page }) => { await page.setContent( `