This patch refines the logic of recalculate() in the DomTreeUpdater in the following two aspects:
- Previously, recalculate() tests whether there are pending updates/BBs awaiting deletion and then do recalculation under Lazy UpdateStrategy; and do recalculation immediately under Eager UpdateStrategy. (The former behavior is inherited from the DeferredDominance class). This is an inconsistency between two strategies and there is no obvious reason to do this. So the behavior is changed to always recalculate available trees when calling recalculate().
- Fix the issue of when DTU under Lazy UpdateStrategy holds nothing but with BBs awaiting deletion, after calling recalculate(), BBs awaiting deletion aren't flushed. An additional unittest is added to cover this case.