Fix for bug 30958: Reflow commands are now processed asynchronously all the time. The semantics of the API for queuing and processing reflow commands has changed. Now, AppendReflowCommand() initiates an asynchronous reflow event and all reflow command processing happens when that event fires. It is no longer possible for consumers outside the presentation shell to call ProcessReflowCommands() synchronously. Because of this change, reflow locks are no longer needed and have been removed.

This commit is contained in:
nisheeth@netscape.com
2000-04-17 07:13:57 +00:00
parent 9c23f5c8bc
commit 9b73f043d0
19 changed files with 778 additions and 955 deletions

View File

@@ -761,11 +761,9 @@ FrameManager::HandlePLEvent(CantRenderReplacedElementEvent* aEvent) {
// Notify the style system and then process any reflow commands that
// are generated
nsCOMPtr<nsIPresContext> presContext;
frameManager->mPresShell->EnterReflowLock();
nsCOMPtr<nsIPresContext> presContext;
frameManager->mPresShell->GetPresContext(getter_AddRefs(presContext));
frameManager->mStyleSet->CantRenderReplacedElement(presContext, aEvent->mFrame);
frameManager->mPresShell->ExitReflowLock(PR_TRUE);
frameManager->mStyleSet->CantRenderReplacedElement(presContext, aEvent->mFrame);
}
}