- Revision
- 213994
- Author
- commit-qu...@webkit.org
- Date
- 2017-03-15 11:21:18 -0700 (Wed, 15 Mar 2017)
Log Message
[Modern Media Controls] Tracks menu overlaps controls bar in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=169670
<rdar://problem/31060086>
Source/WebCore:
Patch by Antoine Quint <grao...@apple.com> on 2017-03-15
Reviewed by Eric Carlson.
It used to be that the top of the tracks button was the same as the top of the controls
bar, but that changed when we fixed https://bugs.webkit.org/show_bug.cgi?id=169412. We
now use the top of the controls bar to computed the y-position for the tracks panel.
We are not adding a new test, instead we're unflaking a test that started failing
reliably once we fixed https://bugs.webkit.org/show_bug.cgi?id=169412.
* Modules/modern-media-controls/controls/macos-media-controls.js:
(MacOSMediaControls.prototype.showTracksPanel):
LayoutTests:
Patch by Antoine Quint <grao...@apple.com> on 2017-03-15
Reviewed by Eric Carlson.
Unflake a test that checks the tracks panel position in fullscreen.
* media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt:
* media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html:
* platform/mac/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (213993 => 213994)
--- trunk/LayoutTests/ChangeLog 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/LayoutTests/ChangeLog 2017-03-15 18:21:18 UTC (rev 213994)
@@ -1,5 +1,19 @@
2017-03-15 Antoine Quint <grao...@apple.com>
+ [Modern Media Controls] Tracks menu overlaps controls bar in fullscreen
+ https://bugs.webkit.org/show_bug.cgi?id=169670
+ <rdar://problem/31060086>
+
+ Reviewed by Eric Carlson.
+
+ Unflake a test that checks the tracks panel position in fullscreen.
+
+ * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt:
+ * media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html:
+ * platform/mac/TestExpectations:
+
+2017-03-15 Antoine Quint <grao...@apple.com>
+
[Modern Media Controls] Captions do not default to Auto when language is changed
https://bugs.webkit.org/show_bug.cgi?id=169675
<rdar://problem/30423369>
Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt (213993 => 213994)
--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen-expected.txt 2017-03-15 18:21:18 UTC (rev 213994)
@@ -3,8 +3,14 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS shadowRoot.querySelector('.tracks-panel').style.right is "217px"
-PASS shadowRoot.querySelector('.tracks-panel').style.bottom is "101px"
+PASS internals.shadowRoot(media).querySelector("button.fullscreen") became different from null
+PASS internals.shadowRoot(media).querySelector("button.fullscreen").getBoundingClientRect().width became different from 0
+PASS internals.shadowRoot(media).querySelector("button.tracks") became different from null
+PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().width became different from 0
+PASS internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right became 583
+PASS internals.shadowRoot(media).querySelector('.tracks-panel') became different from null
+PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.right is "217px"
+PASS internals.shadowRoot(media).querySelector('.tracks-panel').style.bottom is "101px"
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html (213993 => 213994)
--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html 2017-03-15 18:21:18 UTC (rev 213994)
@@ -1,5 +1,6 @@
<!DOCTYPE html>
<script src=""
+<script src="" type="text/_javascript_"></script>
<body>
<video src="" style="width: 320px; height: 240px;" controls autoplay></video>
<script type="text/_javascript_">
@@ -9,21 +10,18 @@
description("Showing the tracks panel in fullscreen.");
const media = document.querySelector("video");
-const shadowRoot = window.internals.shadowRoot(media);
-media.addEventListener("webkitbeginfullscreen", () => {
- debug("webkitbeginfullscreen");
-});
-
media.addEventListener("webkitfullscreenchange", () => {
- if (media.webkitDisplayingFullscreen) {
- window.requestAnimationFrame(() => {
- clickOnButton("tracks");
- window.requestAnimationFrame(() => {
- window.requestAnimationFrame(() => {
- shouldBeEqualToString("shadowRoot.querySelector('.tracks-panel').style.right", "217px");
- shouldBeEqualToString("shadowRoot.querySelector('.tracks-panel').style.bottom", "101px");
+ if (!media.webkitDisplayingFullscreen)
+ return;
+ shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.tracks")`, "null", () => {
+ shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().width`, "0", () => {
+ shouldBecomeEqual(`internals.shadowRoot(media).querySelector("button.tracks").getBoundingClientRect().right`, "583", () => {
+ pressOnElement(internals.shadowRoot(media).querySelector("button.tracks"));
+ shouldBecomeDifferent(`internals.shadowRoot(media).querySelector('.tracks-panel')`, "null", () => {
+ shouldBeEqualToString("internals.shadowRoot(media).querySelector('.tracks-panel').style.right", "217px");
+ shouldBeEqualToString("internals.shadowRoot(media).querySelector('.tracks-panel').style.bottom", "101px");
debug("");
media.remove();
finishJSTest();
@@ -30,22 +28,18 @@
});
});
});
- }
+ });
});
media.addEventListener("play", () => {
media.pause();
- window.requestAnimationFrame(() => clickOnButton("fullscreen"));
+ shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.fullscreen")`, "null", () => {
+ shouldBecomeDifferent(`internals.shadowRoot(media).querySelector("button.fullscreen").getBoundingClientRect().width`, "0", () => {
+ pressOnElement(internals.shadowRoot(media).querySelector(`button.fullscreen`));
+ });
+ });
});
-function clickOnButton(name)
-{
- const bounds = shadowRoot.querySelector(`button.${name}`).getBoundingClientRect();
- eventSender.mouseMoveTo(bounds.left + 1, bounds.top + 1);
- eventSender.mouseDown();
- eventSender.mouseUp();
-}
-
</script>
<script src=""
</body>
Modified: trunk/LayoutTests/platform/mac/TestExpectations (213993 => 213994)
--- trunk/LayoutTests/platform/mac/TestExpectations 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2017-03-15 18:21:18 UTC (rev 213994)
@@ -1488,7 +1488,6 @@
webkit.org/b/165386 media/modern-media-controls/seek-backward-support/seek-backward-support.html [ Pass Timeout ]
webkit.org/b/169158 media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html [ Pass Failure ]
-webkit.org/b/167373 media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html [ Pass Failure ]
webkit.org/b/169568 media/modern-media-controls/volume-down-support/volume-down-support.html [ Pass Failure ]
Modified: trunk/Source/WebCore/ChangeLog (213993 => 213994)
--- trunk/Source/WebCore/ChangeLog 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/Source/WebCore/ChangeLog 2017-03-15 18:21:18 UTC (rev 213994)
@@ -1,3 +1,21 @@
+2017-03-15 Antoine Quint <grao...@apple.com>
+
+ [Modern Media Controls] Tracks menu overlaps controls bar in fullscreen
+ https://bugs.webkit.org/show_bug.cgi?id=169670
+ <rdar://problem/31060086>
+
+ Reviewed by Eric Carlson.
+
+ It used to be that the top of the tracks button was the same as the top of the controls
+ bar, but that changed when we fixed https://bugs.webkit.org/show_bug.cgi?id=169412. We
+ now use the top of the controls bar to computed the y-position for the tracks panel.
+
+ We are not adding a new test, instead we're unflaking a test that started failing
+ reliably once we fixed https://bugs.webkit.org/show_bug.cgi?id=169412.
+
+ * Modules/modern-media-controls/controls/macos-media-controls.js:
+ (MacOSMediaControls.prototype.showTracksPanel):
+
2017-03-14 Jon Lee <jon...@apple.com>
Clean up RTCPeerConnection IDL
Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js (213993 => 213994)
--- trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js 2017-03-15 18:15:33 UTC (rev 213993)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-media-controls.js 2017-03-15 18:21:18 UTC (rev 213994)
@@ -51,9 +51,10 @@
this.tracksPanel.presentInParent(this);
const controlsBounds = this.element.getBoundingClientRect();
+ const controlsBarBounds = this.controlsBar.element.getBoundingClientRect();
const tracksButtonBounds = this.tracksButton.element.getBoundingClientRect();
this.tracksPanel.rightX = this.width - (tracksButtonBounds.right - controlsBounds.left);
- this.tracksPanel.bottomY = this.height - (tracksButtonBounds.top - controlsBounds.top) + 1;
+ this.tracksPanel.bottomY = this.height - (controlsBarBounds.top - controlsBounds.top) + 1;
this.tracksPanel.maxHeight = this.height - this.tracksPanel.bottomY - 10;
}