Title: [209194] trunk
Revision
209194
Author
grao...@webkit.org
Date
2016-12-01 13:10:16 -0800 (Thu, 01 Dec 2016)

Log Message

[Modern Media Controls] Turn off text selection
https://bugs.webkit.org/show_bug.cgi?id=165261

Reviewed by Dean Jackson.

We turn off text selection and force a non-text cursor for all text in media controls.

Tests: media/modern-media-controls/airplay-placard/airplay-placard-text-section.html
       media/modern-media-controls/pip-placard/pip-placard-text-section.html
       media/modern-media-controls/status-label/status-label-text-selection.html

* Modules/modern-media-controls/controls/media-controls.css:
(.media-controls):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (209193 => 209194)


--- trunk/LayoutTests/ChangeLog	2016-12-01 20:33:05 UTC (rev 209193)
+++ trunk/LayoutTests/ChangeLog	2016-12-01 21:10:16 UTC (rev 209194)
@@ -1,3 +1,19 @@
+2016-12-01  Antoine Quint  <grao...@apple.com>
+
+        [Modern Media Controls] Turn off text selection
+        https://bugs.webkit.org/show_bug.cgi?id=165261
+
+        Reviewed by Dean Jackson.
+
+        New tests to check that text selection is turned off for StatusLabel, AirplayPlacard and PiPPlacard.
+
+        * media/modern-media-controls/airplay-placard/airplay-placard-text-section-expected.txt: Added.
+        * media/modern-media-controls/airplay-placard/airplay-placard-text-section.html: Added.
+        * media/modern-media-controls/pip-placard/pip-placard-text-section-expected.txt: Added.
+        * media/modern-media-controls/pip-placard/pip-placard-text-section.html: Added.
+        * media/modern-media-controls/status-label/status-label-text-selection-expected.txt: Added.
+        * media/modern-media-controls/status-label/status-label-text-selection.html: Added.
+
 2016-12-01  Chris Dumez  <cdu...@apple.com>
 
         Parameter to DOMStringList.contains() should be mandatory

Added: trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section-expected.txt (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section-expected.txt	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,14 @@
+Testing that text selection is turned off for AirplayPlacard.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(document.querySelector('.title')).webkitUserSelect is "none"
+PASS window.getComputedStyle(document.querySelector('.title')).cursor is "default"
+PASS window.getComputedStyle(document.querySelector('.description')).webkitUserSelect is "none"
+PASS window.getComputedStyle(document.querySelector('.description')).cursor is "default"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,28 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+window.jsTestIsAsync = true;
+
+description("Testing that text selection is turned off for <code>AirplayPlacard</code>.");
+
+const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
+mediaControls.showPlacard(mediaControls.airplayPlacard);
+document.body.appendChild(mediaControls.element);
+
+scheduler.frameDidFire = function()
+{
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.title')).webkitUserSelect", "none");
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.title')).cursor", "default");
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).webkitUserSelect", "none");
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).cursor", "default");
+
+    mediaControls.element.remove();
+    debug("");
+    finishJSTest();
+};
+
+</script>
+<script src=""
+</body>

Added: trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section-expected.txt (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section-expected.txt	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,12 @@
+Testing that text selection is turned off for PiPPlacard.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(document.querySelector('.description')).webkitUserSelect is "none"
+PASS window.getComputedStyle(document.querySelector('.description')).cursor is "default"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,26 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+window.jsTestIsAsync = true;
+
+description("Testing that text selection is turned off for <code>PiPPlacard</code>.");
+
+const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
+mediaControls.showPlacard(mediaControls.pipPlacard);
+document.body.appendChild(mediaControls.element);
+
+scheduler.frameDidFire = function()
+{
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).webkitUserSelect", "none");
+    shouldBeEqualToString("window.getComputedStyle(document.querySelector('.description')).cursor", "default");
+
+    mediaControls.element.remove();
+    debug("");
+    finishJSTest();
+};
+
+</script>
+<script src=""
+</body>

Added: trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection-expected.txt (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection-expected.txt	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,12 @@
+Testing that text selection is turned off for StatusLabel.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(mediaControls.statusLabel.element).webkitUserSelect is "none"
+PASS window.getComputedStyle(mediaControls.statusLabel.element).cursor is "default"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection.html (0 => 209194)


--- trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/status-label/status-label-text-selection.html	2016-12-01 21:10:16 UTC (rev 209194)
@@ -0,0 +1,26 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+window.jsTestIsAsync = true;
+
+description("Testing that text selection is turned off for <code>StatusLabel</code>.");
+
+const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
+mediaControls.showsStartButton = false;
+mediaControls.statusLabel.text = "Hello";
+document.body.appendChild(mediaControls.element);
+
+scheduler.frameDidFire = function()
+{
+    shouldBeEqualToString("window.getComputedStyle(mediaControls.statusLabel.element).webkitUserSelect", "none");
+    shouldBeEqualToString("window.getComputedStyle(mediaControls.statusLabel.element).cursor", "default");
+    mediaControls.element.remove();
+    debug("");
+    finishJSTest();
+};
+
+</script>
+<script src=""
+</body>

Modified: trunk/Source/WebCore/ChangeLog (209193 => 209194)


--- trunk/Source/WebCore/ChangeLog	2016-12-01 20:33:05 UTC (rev 209193)
+++ trunk/Source/WebCore/ChangeLog	2016-12-01 21:10:16 UTC (rev 209194)
@@ -1,3 +1,19 @@
+2016-12-01  Antoine Quint  <grao...@apple.com>
+
+        [Modern Media Controls] Turn off text selection
+        https://bugs.webkit.org/show_bug.cgi?id=165261
+
+        Reviewed by Dean Jackson.
+
+        We turn off text selection and force a non-text cursor for all text in media controls.
+
+        Tests: media/modern-media-controls/airplay-placard/airplay-placard-text-section.html
+               media/modern-media-controls/pip-placard/pip-placard-text-section.html
+               media/modern-media-controls/status-label/status-label-text-selection.html
+
+        * Modules/modern-media-controls/controls/media-controls.css:
+        (.media-controls):
+
 2016-12-01  Chris Dumez  <cdu...@apple.com>
 
         Parameter to DOMStringList.contains() should be mandatory

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.css (209193 => 209194)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.css	2016-12-01 20:33:05 UTC (rev 209193)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.css	2016-12-01 21:10:16 UTC (rev 209194)
@@ -32,6 +32,8 @@
 .media-controls {
     position: relative;
     font-family: -apple-system;
+    -webkit-user-select: none;
+    cursor: default;
 }
 
 .media-controls > .controls-bar {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to