Title: [211154] trunk
Revision
211154
Author
[email protected]
Date
2017-01-25 10:32:05 -0800 (Wed, 25 Jan 2017)

Log Message

LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=167253

Patch by Antoine Quint <[email protected]> on 2017-01-25
Reviewed by Jon Lee.

Source/WebCore:

An IconButton loads its image asynchronously and waits for its load to obtain metrics. Once that happens,
its layout delegate needs to be notified that it needs a new layout. The test was a flaky failure because
the images would sometime load prior to layout, and sometime after, which would cause a failure. The test
is now robust with a controls layout happening after all buttons had loaded.

* Modules/modern-media-controls/controls/icon-button.js:
(IconButton.prototype._updateImage):
(IconButton):

LayoutTests:

This test should no longer be flaky, so let's not mark it as such anymore.

* platform/mac-wk1/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (211153 => 211154)


--- trunk/LayoutTests/ChangeLog	2017-01-25 18:26:52 UTC (rev 211153)
+++ trunk/LayoutTests/ChangeLog	2017-01-25 18:32:05 UTC (rev 211154)
@@ -1,3 +1,14 @@
+2017-01-25  Antoine Quint  <[email protected]>
+
+        LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=167253
+
+        Reviewed by Jon Lee.
+
+        This test should no longer be flaky, so let's not mark it as such anymore.
+
+        * platform/mac-wk1/TestExpectations:
+
 2017-01-25  Simon Fraser  <[email protected]>
 
         Revert r210882, removing support for background-repeat-x/y

Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (211153 => 211154)


--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2017-01-25 18:26:52 UTC (rev 211153)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2017-01-25 18:32:05 UTC (rev 211154)
@@ -299,8 +299,6 @@
 media/track/track-cues-enter-exit.html [ Pass Crash ]
 media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html [ Pass Timeout ]
 
-webkit.org/b/167253 media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html [ Pass Failure ]
-
 webkit.org/b/167320 [ Sierra Release ] media/modern-media-controls/placard-support/placard-support-pip.html [ Pass Crash ]
 
 webkit.org/b/167352 [ ElCapitan Debug ] media/modern-media-controls/rewind-button/rewind-button.html [ Pass Timeout ]

Modified: trunk/Source/WebCore/ChangeLog (211153 => 211154)


--- trunk/Source/WebCore/ChangeLog	2017-01-25 18:26:52 UTC (rev 211153)
+++ trunk/Source/WebCore/ChangeLog	2017-01-25 18:32:05 UTC (rev 211154)
@@ -1,3 +1,19 @@
+2017-01-25  Antoine Quint  <[email protected]>
+
+        LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is flaky
+        https://bugs.webkit.org/show_bug.cgi?id=167253
+
+        Reviewed by Jon Lee.
+
+        An IconButton loads its image asynchronously and waits for its load to obtain metrics. Once that happens,
+        its layout delegate needs to be notified that it needs a new layout. The test was a flaky failure because
+        the images would sometime load prior to layout, and sometime after, which would cause a failure. The test
+        is now robust with a controls layout happening after all buttons had loaded.
+
+        * Modules/modern-media-controls/controls/icon-button.js:
+        (IconButton.prototype._updateImage):
+        (IconButton):
+
 2017-01-25  Timothy Hatcher  <[email protected]>
 
         Fix the !HAVE(ACCESSIBILITY) build by properly instantiating AXObjectCache member timers.

Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js (211153 => 211154)


--- trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js	2017-01-25 18:26:52 UTC (rev 211153)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-button.js	2017-01-25 18:32:05 UTC (rev 211154)
@@ -103,10 +103,19 @@
 
     _updateImage()
     {
-        this.width = this._image.width / window.devicePixelRatio;
-        this.height = this._image.height / window.devicePixelRatio;
+        const width = this._image.width / window.devicePixelRatio;
+        const height = this._image.height / window.devicePixelRatio;
 
+        if (this.width === width && this.height === height)
+            return;
+
+        this.width = width;
+        this.height = height;
+
         this.needsLayout = true;
+
+        if (this.layoutDelegate)
+            this.layoutDelegate.needsLayout = true;
     }
 
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to