Closed scottohara closed 9 years ago
Further investigation of the webkit nightlies confirms that it's a webkit change (as opposed to a Chrome only issue). Webkit 537.6 (revision 126323) exhibits the same behaviour as phantomjs (ie. includes the trailing space after 50%). Webkit 537.8 (revision 127101), which was the very next nightly build, exhibits the same behaviour as Chrome 24 (ie. does not include the trailing space).
A diff of Webkit's /trunk/Source between those two revisions shows a significant number of changes
One of those changes to the file WebCore/css/StylePropertySet.cpp
seems the likely culprit:
Here you can clearly see that the old behaviour was to append "; ", which was changed to simply ";".
(This doesn't get us any closer to a resolution...we're still waiting for phantomjs to upgrade the version of webkit it uses; but it does confirm that the problem should resolve itself once that happens...assuming they move to 537.8 or later)
phantomjs 1.9.0 released; but unfortunately no upgrade to the underlying webkit version.
(This was always going to be likely after initial attempts at getting QtWebkit 2.3 working in Qt 4.8 failed...https://groups.google.com/forum/?fromgroups=#!topic/phantomjs/nXGCwSdsDk8)
Now we wait for phantomjs 2.0.0 (due sometime in June); which is planned to be ported to Qt 5.0, and bleeding edge webkit.
Previously, the HTML returned from progressBar.render() included style="width:50% " (single whitespace after % sign).
As of Chrome 24 (Webkit 537.17), it renders as style="width:50%" (no whitespace after % sign). Presumably this was a result of an upstream Webkit (or Chrome?) rendering engine change.
This caused the unit test for progressBar.render() to fail, so the test was modified to suit the new output (ie. sans whitespace).
However, it seems that phantomjs 1.8.1 (Webkit 534.34) is still rendering with the whitespace, meaning that the unit test now fails in headless mode.
Waiting for phantomjs to update to a newer Webkit build to see if this resolves the issue.