Closed Bug 1401072 Opened 8 years ago Closed 7 years ago

Intermittent browser/base/content/test/performance/browser_urlbar_search_reflows.js | Unused expected reflow: ["adjustHeight@chrome://global/content/bindings/autocomplete.xml","onxblpopupshown@chrome://global/content/bindings/autocomplete.xml"]

Categories

(Firefox :: Address Bar, defect, P5)

defect

Tracking

()

RESOLVED FIXED
Firefox 60
Tracking Status
firefox60 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: mconley)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

See Also: → 1401432
See Also: → 1399660
I suspect I'm about to re-open this by landing bug 1434376. Thankfully, I have a patch that seems to fix it.
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Comment on attachment 8953796 [details] Bug 1401072 - Update browser_urlbar_search_reflows to accomodate DOM dirtying done in setTimeout. https://reviewboard.mozilla.org/r/222988/#review228864 I'm ok with the current patch if it stops an intermittent we are seeing, but see the following comments for possible future improvements. ::: browser/base/content/test/performance/browser_urlbar_search_reflows.js:166 (Diff revision 1) > popup.onResultsAdded = () => { > dirtyFrameFn(); > oldResultsAdded(); > }; > > + win.setTimeout = (fn, ms) => { Is this something that should go in the head file? If I understand correctly, you are saying that at setTimeout callback does reflows here, should we automatically ensure the test waits at least as long as the longest setTimeout that has been requested since we started the test? (ie. could this reduce intermittents?) I see the test already uses requestIdleCallback to workaround these timeouts. Is this more reliably than using our own timeout (with a slightly longer time than the longest timeout detected)? Should we move that instead to our reflow observer code? ::: browser/base/content/test/performance/browser_urlbar_search_reflows.js:169 (Diff revision 1) > }; > > + win.setTimeout = (fn, ms) => { > + oldSetTimeout(() => { > + dirtyFrameFn(); > + fn(); I hope: - nothing is using the setTimeout form where 'fn' is a string rather than a function. (Hopefully we have eslint coverage to ban that deprecated form) - nothing expects clearTimeout to work.
Attachment #8953796 - Flags: review?(florian) → review+
Comment on attachment 8953796 [details] Bug 1401072 - Update browser_urlbar_search_reflows to accomodate DOM dirtying done in setTimeout. https://reviewboard.mozilla.org/r/222988/#review228864 > Is this something that should go in the head file? > > If I understand correctly, you are saying that at setTimeout callback does reflows here, should we automatically ensure the test waits at least as long as the longest setTimeout that has been requested since we started the test? (ie. could this reduce intermittents?) > > I see the test already uses requestIdleCallback to workaround these timeouts. Is this more reliably than using our own timeout (with a slightly longer time than the longest timeout detected)? Should we move that instead to our reflow observer code? Yeah, I think opening a bug to maybe try moving setTimeout wrapping into the head.js is a good idea. I'll file a follow-up after this lands. > I hope: > - nothing is using the setTimeout form where 'fn' is a string rather than a function. (Hopefully we have eslint coverage to ban that deprecated form) > - nothing expects clearTimeout to work. I can't see instances of the string form of `setTimeout` in the URLbar code, so that's good. I _do_, however, see usage of clearTimeout. I can get that to work if I properly return the old setTimeout function value though, so I'll do that. Thanks!
Pushed by mconley@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/17857acb21a5 Update browser_urlbar_search_reflows to accomodate DOM dirtying done in setTimeout. r=florian
See Also: → 1441005
Blocks: 1434376
Status: REOPENED → RESOLVED
Closed: 8 years ago7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 60
Assignee: nobody → mconley
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: