Skip to content

Commit 1baf6ed

Browse files
[Modern Media Controls] iOS may attempt to load fullscreen icon variants
https://bugs.webkit.org/show_bug.cgi?id=169608 <rdar://problem/31037369> Patch by Antoine Quint <[email protected]> on 2017-03-14 Reviewed by Eric Carlson. Source/WebCore: Only return fullscreen or compact variants for macOS. * Modules/modern-media-controls/controls/icon-service.js: (const.iconService.new.IconService.prototype._fileNameAndPlatformForIconNameAndLayoutTraits): (const.iconService.new.IconService): LayoutTests: Amend an existing test to check that we disregard fullscreen and compact variants on iOS. * media/modern-media-controls/icon-service/icon-service-expected.txt: * media/modern-media-controls/icon-service/icon-service.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@213900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent bedbb49 commit 1baf6ed

File tree

5 files changed

+42
-4
lines changed

5 files changed

+42
-4
lines changed

LayoutTests/ChangeLog

+13
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
2017-03-14 Antoine Quint <[email protected]>
2+
3+
[Modern Media Controls] iOS may attempt to load fullscreen icon variants
4+
https://bugs.webkit.org/show_bug.cgi?id=169608
5+
<rdar://problem/31037369>
6+
7+
Reviewed by Eric Carlson.
8+
9+
Amend an existing test to check that we disregard fullscreen and compact variants on iOS.
10+
11+
* media/modern-media-controls/icon-service/icon-service-expected.txt:
12+
* media/modern-media-controls/icon-service/icon-service.html:
13+
114
2017-03-14 Antoine Quint <[email protected]>
215

316
[Modern Media Controls] Controls are laid out incorrectly with RTL languages

LayoutTests/media/modern-media-controls/icon-service/icon-service-expected.txt

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS
88
PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS).src.includes("iOS/pause@") is true
99
PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS | LayoutTraits.Fullscreen).src.includes("macOS/pause-fullscreen@") is true
1010

11+
Checking fullscreen or compact layout traits are ignored on iOS
12+
PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS | LayoutTraits.Fullscreen) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS) is true
13+
PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS | LayoutTraits.Compact) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS) is true
14+
1115
Checking requested images are cached
1216
PASS iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS) is true
1317
PASS successfullyParsed is true

LayoutTests/media/modern-media-controls/icon-service/icon-service.html

+5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
shouldBeTrue('iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS).src.includes("iOS/pause@")');
1515
shouldBeTrue('iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS | LayoutTraits.Fullscreen).src.includes("macOS/pause-fullscreen@")');
1616

17+
debug("");
18+
debug("Checking fullscreen or compact layout traits are ignored on iOS");
19+
shouldBeTrue('iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS | LayoutTraits.Fullscreen) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS)');
20+
shouldBeTrue('iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS | LayoutTraits.Compact) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.iOS)');
21+
1722
debug("");
1823
debug("Checking requested images are cached");
1924
shouldBeTrue('iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS) === iconService.imageForIconNameAndLayoutTraits(Icons.Pause, LayoutTraits.macOS)');

Source/WebCore/ChangeLog

+14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
2017-03-14 Antoine Quint <[email protected]>
2+
3+
[Modern Media Controls] iOS may attempt to load fullscreen icon variants
4+
https://bugs.webkit.org/show_bug.cgi?id=169608
5+
<rdar://problem/31037369>
6+
7+
Reviewed by Eric Carlson.
8+
9+
Only return fullscreen or compact variants for macOS.
10+
11+
* Modules/modern-media-controls/controls/icon-service.js:
12+
(const.iconService.new.IconService.prototype._fileNameAndPlatformForIconNameAndLayoutTraits):
13+
(const.iconService.new.IconService):
14+
115
2017-03-14 Antoine Quint <[email protected]>
216

317
[Modern Media Controls] Controls are laid out incorrectly with RTL languages

Source/WebCore/Modules/modern-media-controls/controls/icon-service.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,12 @@ const iconService = new class IconService {
8989
else
9090
throw "Could not identify icon's platform from layout traits.";
9191

92-
if (layoutTraits & LayoutTraits.Fullscreen && IconsWithFullscreenVariants.includes(iconName))
93-
iconName += "-fullscreen";
94-
else if (layoutTraits & LayoutTraits.Compact && IconsWithCompactVariants.includes(iconName))
95-
iconName += "-compact";
92+
if (layoutTraits & LayoutTraits.macOS) {
93+
if (layoutTraits & LayoutTraits.Fullscreen && IconsWithFullscreenVariants.includes(iconName))
94+
iconName += "-fullscreen";
95+
else if (layoutTraits & LayoutTraits.Compact && IconsWithCompactVariants.includes(iconName))
96+
iconName += "-compact";
97+
}
9698

9799
const fileName = `${iconName}@${window.devicePixelRatio}x`;
98100

0 commit comments

Comments
 (0)