Closed Bug 1180516 Opened 9 years ago Closed 7 years ago

Intermittent Mulet REFTEST TEST-UNEXPECTED-FAIL | WARNING: USE_WIDGET_LAYERS disabled

Categories

(Testing :: Reftest, defect)

defect
Not set
normal

Tracking

(firefox42 affected)

RESOLVED INVALID
Tracking Status
firefox42 --- affected

People

(Reporter: philor, Unassigned)

References

Details

https://s3-us-west-2.amazonaws.com/taskcluster-public-artifacts/oTO8ZqlkQGGuRL8HFDCF8Q/0/public/logs/live_backing.log 17:37:36 INFO - REFTEST TEST-START | file:///home/worker/build/tests/reftest/tests/layout/reftests/scrolling/scroll-behavior-2.html 17:37:36 INFO - REFTEST TEST-LOAD | file:///home/worker/build/tests/reftest/tests/layout/reftests/scrolling/scroll-behavior-2.html | 601 / 1988 (30%) 17:37:36 INFO - REFTEST TEST-UNEXPECTED-FAIL | WARNING: USE_WIDGET_LAYERS disabled 17:37:36 INFO - REFTEST INFO | drawWindow flags = DRAWWINDOW_DRAW_CARET | DRAWWINDOW_DRAW_VIEW; window size = 800,1000; test browser size = 800,1000 17:37:36 INFO - REFTEST INFO | [CONTENT] MozInvalidateEvent didn't invalidate 17:37:36 INFO - REFTEST TEST-LOAD | file:///home/worker/build/tests/reftest/tests/layout/reftests/scrolling/scroll-behavior-2.html?ref | 601 / 1988 (30%) 17:37:36 INFO - REFTEST INFO | [CONTENT] MozInvalidateEvent didn't invalidate 17:37:36 INFO - REFTEST TEST-PASS | file:///home/worker/build/tests/reftest/tests/layout/reftests/scrolling/scroll-behavior-2.html | image comparison (==) ... 17:40:01 INFO - REFTEST TEST-START | Shutdown 17:40:01 INFO - 1436118001121 addons.xpi WARN Add-on reftest@mozilla.org is missing bootstrap method shutdown 17:40:01 INFO - -*- SettingsManager: Received: inner-window-destroyed for valid innerWindowID=4, cleanup. 17:40:01 INFO - 1436118001166 Marionette INFO Closed connection conn2 17:40:01 INFO - JavaScript error: chrome://reftest/content/reftest.jsm, line 2021: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIPropertyBag2.getPropertyAsAString] 17:40:15 INFO - *** UTM:SVC TimerManager:notify - notified @mozilla.org/browser/search-service;1 17:41:05 INFO - REFTEST TEST-UNEXPECTED-FAIL | Shutdown | application terminated with exit code 11
This is not an intermittent failure: All R5 mulet reftest jobs currently run into this failure, but something treats it in a special way and prevents this failure alone from turning the job orange. When something gets starred with this bug, it's usually because there is some other failure in the run, and it's that other failure that causes the orange. As for the question why scroll-behavior-2.html causes USE_WIDGET_LAYERS to be disabled: Mulet reftests run in a window that has chrome://b2g/content/shell.html as the window's root document. The reftest harness adds a <xul:browser> element into that HTML page and sets dimensions on that element. However, it seems like XUL elements in regular HTML display:block elements are treated as replaced elements that are layed out inside line layout boxes, and what happens is that the body element ends up being 4px higher than the <xul:browser> because the line layout adds a bit of space on the bottom. The result is that the body element has a scroll range of 4px. Usually this doesn't matter because it also has overflow:hidden. However, scroll-behavior-2.html calls scrollIntoView. Due to bug 796422, scrollIntoView ends up also scrolling the shell.html root scroll frame. (Mulet reftests don't use e10s, so the reftest is loaded in the same process as shell.html, and scrollIntoView just walks up the chain of scroll frames across documents in the same process.) Now the reftest <xul:browser> has moved up by four pixels, so its top is clipped. The reftest harness detects that the browser is no longer completely onscreen and turns off USE_WIDGET_LAYERS. I think there are two bugs here: One is bug 796422, and the other is that shell.html is scrollable in the first place. shell.css has this section: iframe { overflow: hidden; height: 100%; width: 100%; border: none; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 1; -moz-user-select: none; } So it avoids the problem for <iframe> browsers by pulling out of the regular flow, so that the iframe no longer has any influence on the body's scrollable range. I tried changing the selector of that rule to "iframe, *|browser", but it didn't fix the reftest failure. It looks like the rule didn't apply to the browser element at all. I don't know why.
Depends on: 796422
Mulet no longer exists.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.