Partial fix for bug 141900 (Text entry fields in forms excruciatingly slow.)

mozilla/content/base/public/nsISelectionController.idl
  mozilla/content/base/src/nsSelection.cpp
  mozilla/editor/composer/src/nsEditorShell.cpp
  mozilla/editor/idl/nsIPlaintextEditor.idl
  mozilla/editor/libeditor/base/nsEditor.cpp
  mozilla/editor/libeditor/base/nsEditor.h
  mozilla/editor/libeditor/html/nsHTMLDataTransfer.cpp
  mozilla/editor/libeditor/html/nsHTMLEditor.cpp
  mozilla/editor/libeditor/text/nsEditorEventListeners.cpp
  mozilla/editor/libeditor/text/nsPlaintextDataTransfer.cpp
  mozilla/editor/libeditor/text/nsPlaintextEditor.cpp
  mozilla/editor/txtsvc/src/nsTextServicesDocument.cpp
  mozilla/editor/ui/dialogs/content/EdTableProps.js
  mozilla/embedding/components/find/src/nsWebBrowserFind.cpp
  mozilla/extensions/xmlterm/base/mozXMLTermSession.cpp
  mozilla/layout/base/public/nsIFrameSelection.h
  mozilla/layout/html/base/src/nsPresShell.cpp
  mozilla/layout/html/forms/src/nsGfxTextControlFrame2.cpp
  mozilla/mailnews/compose/src/nsMsgCompose.cpp
  mozilla/xpfe/browser/resources/content/viewPartialSource.js

    - Added aIsSynchronous arg to the ScrollSelectionIntoView()
      method of nsISelectionController and nsIFrameSelection.
      Updated all callers to pass new arg.

    - Modified selection to post a plevent to call which does the
      call to ScrollIntoView() in the async ScrollIntoView() case.

    - Edits in text widgets now use asynchronous reflow, paint,
      and scroll processing full time.

    - Removed redundant ScrollSelectionIntoView() calls in the
      editor event listeners.

    - Editor IME code now forced to flush reflows and paints before
      getting caret coordinates.

r=jfrancis@netscape.com  sr=waterson@netscape.com


git-svn-id: svn://10.0.0.236/trunk@123236 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kin%netscape.com
2002-06-13 20:35:12 +00:00
parent d3afab8273
commit fa152a3def
21 changed files with 221 additions and 143 deletions

View File

@@ -900,11 +900,7 @@ NS_IMETHODIMP nsHTMLEditor::InsertFromTransferable(nsITransferable *transferable
// Try to scroll the selection into view if the paste/drop succeeded
if (NS_SUCCEEDED(rv))
{
nsCOMPtr<nsISelectionController> selCon;
if (NS_SUCCEEDED(GetSelectionController(getter_AddRefs(selCon))) && selCon)
selCon->ScrollSelectionIntoView(nsISelectionController::SELECTION_NORMAL, nsISelectionController::SELECTION_FOCUS_REGION);
}
ScrollSelectionIntoView(PR_FALSE);
return rv;
}