QA/Firefox3.6/TestPlan:Interruptible Reflow

From MozillaWiki
< QA
Jump to: navigation, search

Interruptible Reflow

  • Development Status: - Complete (05-05-2009), with ongoing regression fixing - see dependency list for bug 67752
  • Feature Testing: - In progress (date)
  • Team: Developer [bz], QA [jgriffin]

Overview

Interruptible reflow allows layout to be interrupted at user events, such as moving or clicking the mouse, resizing the browser window, etc. This improves performance during incremental page load, window resizing, form interactions, and the like.

Things We Test

List the tests we have where applicable:

  • Unit tests
    • Reftests: there are a couple of reftests checked in as part of bug 67752, and a much larger group that is awaiting review and checkin as part of bug 481740.
  • Top-site testing
    • For manual top-site testing, testers can exercise interruptible reflow code by performing certain operations during page load and layout. Such actions should not impact final layout nor cause other problems.
      • resizing the browser window
      • clicking on the page (form controls or non-interactive elements)
      • moving the mouse around over the page
      • moving the tab that the page is being loaded in
    • For Tomcat's automated top-site testing, he'll try a run with the following env variables set, which cause ireflow to be triggered on a timer instead of via user events. This will help identify ireflow-related crashes.
      • export GECKO_REFLOW_INTERRUPT_MODE=counter
      • export GECKO_REFLOW_INTERRUPT_CHECKS_TO_SKIP=1
      • export GECKO_REFLOW_INTERRUPT_FREQUENCY=1
  • Litmus tests
    • Instructions similar to those above under manual top-site testing have been added to Litmus Layout tests that involve loading real-world websites.

Things We Don't Test

  • Performance

Reference

  • Tracking bugs
    • bug 67752 - need to implement interruptible reflow
    • bug 481740 - test framework for interruptible reflow - trigger a reflow interrupt on textnode containing vertical tab