gecko/editor/libeditor/base/nsEditorUtils.h
Wes Kocher 731dbac067 Backed out 6 changesets (bug 1028559, bug 1028565) for android mochitest bustage on a CLOSED TREE
Backed out changeset fdd74c065e5d (bug 1028565)
Backed out changeset 5e9777d38052 (bug 1028565)
Backed out changeset 3510bcdba3fc (bug 1028565)
Backed out changeset 62ad3254903e (bug 1028565)
Backed out changeset e7557f70acfe (bug 1028565)
Backed out changeset 5b1b527abe47 (bug 1028559)

--HG--
rename : editor/composer/nsIEditingSession.idl => editor/composer/public/nsIEditingSession.idl
rename : editor/composer/crashtests/351236-1.html => editor/composer/src/crashtests/351236-1.html
rename : editor/composer/crashtests/407062-1.html => editor/composer/src/crashtests/407062-1.html
rename : editor/composer/crashtests/419563-1.xhtml => editor/composer/src/crashtests/419563-1.xhtml
rename : editor/composer/crashtests/428844-1-inner.xhtml => editor/composer/src/crashtests/428844-1-inner.xhtml
rename : editor/composer/crashtests/428844-1.html => editor/composer/src/crashtests/428844-1.html
rename : editor/composer/crashtests/461049-1.html => editor/composer/src/crashtests/461049-1.html
rename : editor/composer/crashtests/crashtests.list => editor/composer/src/crashtests/crashtests.list
rename : editor/composer/crashtests/removing-editable-xslt-inner.xhtml => editor/composer/src/crashtests/removing-editable-xslt-inner.xhtml
rename : editor/composer/crashtests/removing-editable-xslt.html => editor/composer/src/crashtests/removing-editable-xslt.html
rename : editor/composer/nsComposeTxtSrvFilter.cpp => editor/composer/src/nsComposeTxtSrvFilter.cpp
rename : editor/composer/nsComposeTxtSrvFilter.h => editor/composer/src/nsComposeTxtSrvFilter.h
rename : editor/composer/nsComposerCommands.cpp => editor/composer/src/nsComposerCommands.cpp
rename : editor/composer/nsComposerCommands.h => editor/composer/src/nsComposerCommands.h
rename : editor/composer/nsComposerCommandsUpdater.cpp => editor/composer/src/nsComposerCommandsUpdater.cpp
rename : editor/composer/nsComposerCommandsUpdater.h => editor/composer/src/nsComposerCommandsUpdater.h
rename : editor/composer/nsComposerController.cpp => editor/composer/src/nsComposerController.cpp
rename : editor/composer/nsComposerController.h => editor/composer/src/nsComposerController.h
rename : editor/composer/nsComposerDocumentCommands.cpp => editor/composer/src/nsComposerDocumentCommands.cpp
rename : editor/composer/nsComposerRegistration.cpp => editor/composer/src/nsComposerRegistration.cpp
rename : editor/composer/nsEditingSession.cpp => editor/composer/src/nsEditingSession.cpp
rename : editor/composer/nsEditingSession.h => editor/composer/src/nsEditingSession.h
rename : editor/composer/nsEditorSpellCheck.cpp => editor/composer/src/nsEditorSpellCheck.cpp
rename : editor/composer/nsEditorSpellCheck.h => editor/composer/src/nsEditorSpellCheck.h
rename : editor/composer/res/EditorOverride.css => editor/composer/src/res/EditorOverride.css
rename : editor/composer/res/grabber.gif => editor/composer/src/res/grabber.gif
rename : editor/composer/res/table-add-column-after-active.gif => editor/composer/src/res/table-add-column-after-active.gif
rename : editor/composer/res/table-add-column-after-hover.gif => editor/composer/src/res/table-add-column-after-hover.gif
rename : editor/composer/res/table-add-column-after.gif => editor/composer/src/res/table-add-column-after.gif
rename : editor/composer/res/table-add-column-before-active.gif => editor/composer/src/res/table-add-column-before-active.gif
rename : editor/composer/res/table-add-column-before-hover.gif => editor/composer/src/res/table-add-column-before-hover.gif
rename : editor/composer/res/table-add-column-before.gif => editor/composer/src/res/table-add-column-before.gif
rename : editor/composer/res/table-add-row-after-active.gif => editor/composer/src/res/table-add-row-after-active.gif
rename : editor/composer/res/table-add-row-after-hover.gif => editor/composer/src/res/table-add-row-after-hover.gif
rename : editor/composer/res/table-add-row-after.gif => editor/composer/src/res/table-add-row-after.gif
rename : editor/composer/res/table-add-row-before-active.gif => editor/composer/src/res/table-add-row-before-active.gif
rename : editor/composer/res/table-add-row-before-hover.gif => editor/composer/src/res/table-add-row-before-hover.gif
rename : editor/composer/res/table-add-row-before.gif => editor/composer/src/res/table-add-row-before.gif
rename : editor/composer/res/table-remove-column-active.gif => editor/composer/src/res/table-remove-column-active.gif
rename : editor/composer/res/table-remove-column-hover.gif => editor/composer/src/res/table-remove-column-hover.gif
rename : editor/composer/res/table-remove-column.gif => editor/composer/src/res/table-remove-column.gif
rename : editor/composer/res/table-remove-row-active.gif => editor/composer/src/res/table-remove-row-active.gif
rename : editor/composer/res/table-remove-row-hover.gif => editor/composer/src/res/table-remove-row-hover.gif
rename : editor/composer/res/table-remove-row.gif => editor/composer/src/res/table-remove-row.gif
rename : editor/composer/res/text_caret.png => editor/composer/src/res/text_caret.png
rename : editor/composer/res/text_caret@1.5x.png => editor/composer/src/res/text_caret@1.5x.png
rename : editor/composer/res/text_caret@2.25x.png => editor/composer/src/res/text_caret@2.25x.png
rename : editor/composer/res/text_caret@2x.png => editor/composer/src/res/text_caret@2x.png
rename : editor/composer/res/text_caret_tilt_left.png => editor/composer/src/res/text_caret_tilt_left.png
rename : editor/composer/res/text_caret_tilt_left@1.5x.png => editor/composer/src/res/text_caret_tilt_left@1.5x.png
rename : editor/composer/res/text_caret_tilt_left@2.25x.png => editor/composer/src/res/text_caret_tilt_left@2.25x.png
rename : editor/composer/res/text_caret_tilt_left@2x.png => editor/composer/src/res/text_caret_tilt_left@2x.png
rename : editor/composer/res/text_caret_tilt_right.png => editor/composer/src/res/text_caret_tilt_right.png
rename : editor/composer/res/text_caret_tilt_right@1.5x.png => editor/composer/src/res/text_caret_tilt_right@1.5x.png
rename : editor/composer/res/text_caret_tilt_right@2.25x.png => editor/composer/src/res/text_caret_tilt_right@2.25x.png
rename : editor/composer/res/text_caret_tilt_right@2x.png => editor/composer/src/res/text_caret_tilt_right@2x.png
rename : editor/composer/res/text_selection_handle.png => editor/composer/src/res/text_selection_handle.png
rename : editor/composer/res/text_selection_handle@1.5.png => editor/composer/src/res/text_selection_handle@1.5.png
rename : editor/composer/res/text_selection_handle@2.png => editor/composer/src/res/text_selection_handle@2.png
rename : editor/nsIContentFilter.idl => editor/idl/nsIContentFilter.idl
rename : editor/nsIDocumentStateListener.idl => editor/idl/nsIDocumentStateListener.idl
rename : editor/nsIEditActionListener.idl => editor/idl/nsIEditActionListener.idl
rename : editor/nsIEditor.idl => editor/idl/nsIEditor.idl
rename : editor/nsIEditorIMESupport.idl => editor/idl/nsIEditorIMESupport.idl
rename : editor/nsIEditorMailSupport.idl => editor/idl/nsIEditorMailSupport.idl
rename : editor/nsIEditorObserver.idl => editor/idl/nsIEditorObserver.idl
rename : editor/nsIEditorSpellCheck.idl => editor/idl/nsIEditorSpellCheck.idl
rename : editor/nsIEditorStyleSheets.idl => editor/idl/nsIEditorStyleSheets.idl
rename : editor/nsIHTMLAbsPosEditor.idl => editor/idl/nsIHTMLAbsPosEditor.idl
rename : editor/nsIHTMLEditor.idl => editor/idl/nsIHTMLEditor.idl
rename : editor/nsIHTMLInlineTableEditor.idl => editor/idl/nsIHTMLInlineTableEditor.idl
rename : editor/nsIHTMLObjectResizeListener.idl => editor/idl/nsIHTMLObjectResizeListener.idl
rename : editor/nsIHTMLObjectResizer.idl => editor/idl/nsIHTMLObjectResizer.idl
rename : editor/nsIPlaintextEditor.idl => editor/idl/nsIPlaintextEditor.idl
rename : editor/nsITableEditor.idl => editor/idl/nsITableEditor.idl
rename : editor/nsIURIRefObject.idl => editor/idl/nsIURIRefObject.idl
rename : editor/nsPIEditorTransaction.idl => editor/idl/nsPIEditorTransaction.idl
rename : editor/libeditor/ChangeAttributeTxn.cpp => editor/libeditor/base/ChangeAttributeTxn.cpp
rename : editor/libeditor/ChangeAttributeTxn.h => editor/libeditor/base/ChangeAttributeTxn.h
rename : editor/libeditor/ChangeCSSInlineStyleTxn.cpp => editor/libeditor/base/ChangeCSSInlineStyleTxn.cpp
rename : editor/libeditor/ChangeCSSInlineStyleTxn.h => editor/libeditor/base/ChangeCSSInlineStyleTxn.h
rename : editor/libeditor/CreateElementTxn.cpp => editor/libeditor/base/CreateElementTxn.cpp
rename : editor/libeditor/CreateElementTxn.h => editor/libeditor/base/CreateElementTxn.h
rename : editor/libeditor/DeleteNodeTxn.cpp => editor/libeditor/base/DeleteNodeTxn.cpp
rename : editor/libeditor/DeleteNodeTxn.h => editor/libeditor/base/DeleteNodeTxn.h
rename : editor/libeditor/DeleteRangeTxn.cpp => editor/libeditor/base/DeleteRangeTxn.cpp
rename : editor/libeditor/DeleteRangeTxn.h => editor/libeditor/base/DeleteRangeTxn.h
rename : editor/libeditor/DeleteTextTxn.cpp => editor/libeditor/base/DeleteTextTxn.cpp
rename : editor/libeditor/DeleteTextTxn.h => editor/libeditor/base/DeleteTextTxn.h
rename : editor/libeditor/EditActionListener.h => editor/libeditor/base/EditActionListener.h
rename : editor/libeditor/EditAggregateTxn.cpp => editor/libeditor/base/EditAggregateTxn.cpp
rename : editor/libeditor/EditAggregateTxn.h => editor/libeditor/base/EditAggregateTxn.h
rename : editor/libeditor/EditTxn.cpp => editor/libeditor/base/EditTxn.cpp
rename : editor/libeditor/EditTxn.h => editor/libeditor/base/EditTxn.h
rename : editor/libeditor/IMETextTxn.cpp => editor/libeditor/base/IMETextTxn.cpp
rename : editor/libeditor/IMETextTxn.h => editor/libeditor/base/IMETextTxn.h
rename : editor/libeditor/InsertElementTxn.cpp => editor/libeditor/base/InsertElementTxn.cpp
rename : editor/libeditor/InsertElementTxn.h => editor/libeditor/base/InsertElementTxn.h
rename : editor/libeditor/InsertTextTxn.cpp => editor/libeditor/base/InsertTextTxn.cpp
rename : editor/libeditor/InsertTextTxn.h => editor/libeditor/base/InsertTextTxn.h
rename : editor/libeditor/JoinElementTxn.cpp => editor/libeditor/base/JoinElementTxn.cpp
rename : editor/libeditor/JoinElementTxn.h => editor/libeditor/base/JoinElementTxn.h
rename : editor/libeditor/PlaceholderTxn.cpp => editor/libeditor/base/PlaceholderTxn.cpp
rename : editor/libeditor/PlaceholderTxn.h => editor/libeditor/base/PlaceholderTxn.h
rename : editor/libeditor/SetDocTitleTxn.cpp => editor/libeditor/base/SetDocTitleTxn.cpp
rename : editor/libeditor/SetDocTitleTxn.h => editor/libeditor/base/SetDocTitleTxn.h
rename : editor/libeditor/SplitElementTxn.cpp => editor/libeditor/base/SplitElementTxn.cpp
rename : editor/libeditor/SplitElementTxn.h => editor/libeditor/base/SplitElementTxn.h
rename : editor/libeditor/crashtests/336104.html => editor/libeditor/base/crashtests/336104.html
rename : editor/libeditor/crashtests/382527-1.html => editor/libeditor/base/crashtests/382527-1.html
rename : editor/libeditor/crashtests/402172-1.html => editor/libeditor/base/crashtests/402172-1.html
rename : editor/libeditor/crashtests/407079-1.html => editor/libeditor/base/crashtests/407079-1.html
rename : editor/libeditor/crashtests/407256-1.html => editor/libeditor/base/crashtests/407256-1.html
rename : editor/libeditor/crashtests/430624-1.html => editor/libeditor/base/crashtests/430624-1.html
rename : editor/libeditor/crashtests/459613-iframe.html => editor/libeditor/base/crashtests/459613-iframe.html
rename : editor/libeditor/crashtests/459613.html => editor/libeditor/base/crashtests/459613.html
rename : editor/libeditor/crashtests/475132-1.xhtml => editor/libeditor/base/crashtests/475132-1.xhtml
rename : editor/libeditor/crashtests/633709.xhtml => editor/libeditor/base/crashtests/633709.xhtml
rename : editor/libeditor/crashtests/636074-1.html => editor/libeditor/base/crashtests/636074-1.html
rename : editor/libeditor/crashtests/713427-1.html => editor/libeditor/base/crashtests/713427-1.html
rename : editor/libeditor/crashtests/713427-2.xhtml => editor/libeditor/base/crashtests/713427-2.xhtml
rename : editor/libeditor/crashtests/762183.html => editor/libeditor/base/crashtests/762183.html
rename : editor/libeditor/crashtests/766360.html => editor/libeditor/base/crashtests/766360.html
rename : editor/libeditor/crashtests/766413.html => editor/libeditor/base/crashtests/766413.html
rename : editor/libeditor/crashtests/766845.xhtml => editor/libeditor/base/crashtests/766845.xhtml
rename : editor/libeditor/crashtests/768765.html => editor/libeditor/base/crashtests/768765.html
rename : editor/libeditor/crashtests/771749.html => editor/libeditor/base/crashtests/771749.html
rename : editor/libeditor/crashtests/772282.html => editor/libeditor/base/crashtests/772282.html
rename : editor/libeditor/crashtests/776323.html => editor/libeditor/base/crashtests/776323.html
rename : editor/libeditor/crashtests/crashtests.list => editor/libeditor/base/crashtests/crashtests.list
rename : editor/libeditor/nsEditProperty.h => editor/libeditor/base/nsEditProperty.h
rename : editor/libeditor/nsEditPropertyAtomList.h => editor/libeditor/base/nsEditPropertyAtomList.h
rename : editor/libeditor/nsEditRules.h => editor/libeditor/base/nsEditRules.h
rename : editor/libeditor/nsEditor.cpp => editor/libeditor/base/nsEditor.cpp
rename : editor/libeditor/nsEditor.h => editor/libeditor/base/nsEditor.h
rename : editor/libeditor/nsEditorCommands.cpp => editor/libeditor/base/nsEditorCommands.cpp
rename : editor/libeditor/nsEditorCommands.h => editor/libeditor/base/nsEditorCommands.h
rename : editor/libeditor/nsEditorController.cpp => editor/libeditor/base/nsEditorController.cpp
rename : editor/libeditor/nsEditorController.h => editor/libeditor/base/nsEditorController.h
rename : editor/libeditor/nsEditorEventListener.cpp => editor/libeditor/base/nsEditorEventListener.cpp
rename : editor/libeditor/nsEditorEventListener.h => editor/libeditor/base/nsEditorEventListener.h
rename : editor/libeditor/nsEditorUtils.cpp => editor/libeditor/base/nsEditorUtils.cpp
rename : editor/libeditor/nsEditorUtils.h => editor/libeditor/base/nsEditorUtils.h
rename : editor/libeditor/nsIAbsorbingTransaction.h => editor/libeditor/base/nsIAbsorbingTransaction.h
rename : editor/libeditor/nsSelectionState.cpp => editor/libeditor/base/nsSelectionState.cpp
rename : editor/libeditor/nsSelectionState.h => editor/libeditor/base/nsSelectionState.h
rename : editor/libeditor/nsStyleSheetTxns.cpp => editor/libeditor/base/nsStyleSheetTxns.cpp
rename : editor/libeditor/nsStyleSheetTxns.h => editor/libeditor/base/nsStyleSheetTxns.h
rename : editor/libeditor/tests/chrome.ini => editor/libeditor/base/tests/chrome.ini
rename : editor/libeditor/tests/file_bug586662.html => editor/libeditor/base/tests/file_bug586662.html
rename : editor/libeditor/tests/mochitest.ini => editor/libeditor/base/tests/mochitest.ini
rename : editor/libeditor/tests/moz.build => editor/libeditor/base/tests/moz.build
rename : editor/libeditor/tests/test_bug408231.html => editor/libeditor/base/tests/test_bug408231.html
rename : editor/libeditor/tests/test_bug46555.html => editor/libeditor/base/tests/test_bug46555.html
rename : editor/libeditor/tests/test_bug502673.html => editor/libeditor/base/tests/test_bug502673.html
rename : editor/libeditor/tests/test_bug514156.html => editor/libeditor/base/tests/test_bug514156.html
rename : editor/libeditor/tests/test_bug567213.html => editor/libeditor/base/tests/test_bug567213.html
rename : editor/libeditor/tests/test_bug586662.html => editor/libeditor/base/tests/test_bug586662.html
rename : editor/libeditor/tests/test_bug599983.html => editor/libeditor/base/tests/test_bug599983.html
rename : editor/libeditor/tests/test_bug599983.xul => editor/libeditor/base/tests/test_bug599983.xul
rename : editor/libeditor/tests/test_bug646194.xul => editor/libeditor/base/tests/test_bug646194.xul
rename : editor/libeditor/tests/test_bug742261.html => editor/libeditor/base/tests/test_bug742261.html
rename : editor/libeditor/tests/test_bug773262.html => editor/libeditor/base/tests/test_bug773262.html
rename : editor/libeditor/tests/test_bug795785.html => editor/libeditor/base/tests/test_bug795785.html
rename : editor/libeditor/tests/test_dragdrop.html => editor/libeditor/base/tests/test_dragdrop.html
rename : editor/libeditor/tests/test_selection_move_commands.xul => editor/libeditor/base/tests/test_selection_move_commands.xul
rename : editor/nsEditorCID.h => editor/public/nsEditorCID.h
rename : editor/txmgr/nsITransaction.idl => editor/txmgr/idl/nsITransaction.idl
rename : editor/txmgr/nsITransactionList.idl => editor/txmgr/idl/nsITransactionList.idl
rename : editor/txmgr/nsITransactionListener.idl => editor/txmgr/idl/nsITransactionListener.idl
rename : editor/txmgr/nsITransactionManager.idl => editor/txmgr/idl/nsITransactionManager.idl
rename : editor/txmgr/nsTransactionManagerCID.h => editor/txmgr/public/nsTransactionManagerCID.h
rename : editor/txmgr/nsTransactionItem.cpp => editor/txmgr/src/nsTransactionItem.cpp
rename : editor/txmgr/nsTransactionItem.h => editor/txmgr/src/nsTransactionItem.h
rename : editor/txmgr/nsTransactionList.cpp => editor/txmgr/src/nsTransactionList.cpp
rename : editor/txmgr/nsTransactionList.h => editor/txmgr/src/nsTransactionList.h
rename : editor/txmgr/nsTransactionManager.cpp => editor/txmgr/src/nsTransactionManager.cpp
rename : editor/txmgr/nsTransactionManager.h => editor/txmgr/src/nsTransactionManager.h
rename : editor/txmgr/nsTransactionManagerFactory.cpp => editor/txmgr/src/nsTransactionManagerFactory.cpp
rename : editor/txmgr/nsTransactionStack.cpp => editor/txmgr/src/nsTransactionStack.cpp
rename : editor/txmgr/nsTransactionStack.h => editor/txmgr/src/nsTransactionStack.h
rename : editor/txtsvc/nsIInlineSpellChecker.idl => editor/txtsvc/public/nsIInlineSpellChecker.idl
rename : editor/txtsvc/nsISpellChecker.h => editor/txtsvc/public/nsISpellChecker.h
rename : editor/txtsvc/nsITextService.h => editor/txtsvc/public/nsITextService.h
rename : editor/txtsvc/nsITextServicesDocument.h => editor/txtsvc/public/nsITextServicesDocument.h
rename : editor/txtsvc/nsITextServicesFilter.idl => editor/txtsvc/public/nsITextServicesFilter.idl
rename : editor/txtsvc/nsTextServicesCID.h => editor/txtsvc/public/nsTextServicesCID.h
rename : editor/txtsvc/nsFilteredContentIterator.cpp => editor/txtsvc/src/nsFilteredContentIterator.cpp
rename : editor/txtsvc/nsFilteredContentIterator.h => editor/txtsvc/src/nsFilteredContentIterator.h
rename : editor/txtsvc/nsTSAtomList.h => editor/txtsvc/src/nsTSAtomList.h
rename : editor/txtsvc/nsTextServicesDocument.cpp => editor/txtsvc/src/nsTextServicesDocument.cpp
rename : editor/txtsvc/nsTextServicesDocument.h => editor/txtsvc/src/nsTextServicesDocument.h
rename : editor/txtsvc/nsTextServicesFactory.cpp => editor/txtsvc/src/nsTextServicesFactory.cpp
rename : xpcom/string/nsAString.h => xpcom/string/public/nsAString.h
rename : xpcom/string/nsAlgorithm.h => xpcom/string/public/nsAlgorithm.h
rename : xpcom/string/nsCharTraits.h => xpcom/string/public/nsCharTraits.h
rename : xpcom/string/nsDependentString.h => xpcom/string/public/nsDependentString.h
rename : xpcom/string/nsDependentSubstring.h => xpcom/string/public/nsDependentSubstring.h
rename : xpcom/string/nsEmbedString.h => xpcom/string/public/nsEmbedString.h
rename : xpcom/string/nsLiteralString.h => xpcom/string/public/nsLiteralString.h
rename : xpcom/string/nsPrintfCString.h => xpcom/string/public/nsPrintfCString.h
rename : xpcom/string/nsPromiseFlatString.h => xpcom/string/public/nsPromiseFlatString.h
rename : xpcom/string/nsReadableUtils.h => xpcom/string/public/nsReadableUtils.h
rename : xpcom/string/nsString.h => xpcom/string/public/nsString.h
rename : xpcom/string/nsStringBuffer.h => xpcom/string/public/nsStringBuffer.h
rename : xpcom/string/nsStringFwd.h => xpcom/string/public/nsStringFwd.h
rename : xpcom/string/nsStringIterator.h => xpcom/string/public/nsStringIterator.h
rename : xpcom/string/nsSubstring.h => xpcom/string/public/nsSubstring.h
rename : xpcom/string/nsSubstringTuple.h => xpcom/string/public/nsSubstringTuple.h
rename : xpcom/string/nsTDependentString.h => xpcom/string/public/nsTDependentString.h
rename : xpcom/string/nsTDependentSubstring.h => xpcom/string/public/nsTDependentSubstring.h
rename : xpcom/string/nsTLiteralString.h => xpcom/string/public/nsTLiteralString.h
rename : xpcom/string/nsTPromiseFlatString.h => xpcom/string/public/nsTPromiseFlatString.h
rename : xpcom/string/nsTString.h => xpcom/string/public/nsTString.h
rename : xpcom/string/nsTSubstring.h => xpcom/string/public/nsTSubstring.h
rename : xpcom/string/nsTSubstringTuple.h => xpcom/string/public/nsTSubstringTuple.h
rename : xpcom/string/nsUTF8Utils.h => xpcom/string/public/nsUTF8Utils.h
rename : xpcom/string/nsXPCOMStrings.h => xpcom/string/public/nsXPCOMStrings.h
rename : xpcom/string/nsXPIDLString.h => xpcom/string/public/nsXPIDLString.h
rename : xpcom/string/string-template-def-char.h => xpcom/string/public/string-template-def-char.h
rename : xpcom/string/string-template-def-unichar.h => xpcom/string/public/string-template-def-unichar.h
rename : xpcom/string/string-template-undef.h => xpcom/string/public/string-template-undef.h
rename : xpcom/string/nsDependentString.cpp => xpcom/string/src/nsDependentString.cpp
rename : xpcom/string/nsDependentSubstring.cpp => xpcom/string/src/nsDependentSubstring.cpp
rename : xpcom/string/nsPromiseFlatString.cpp => xpcom/string/src/nsPromiseFlatString.cpp
rename : xpcom/string/nsReadableUtils.cpp => xpcom/string/src/nsReadableUtils.cpp
rename : xpcom/string/nsString.cpp => xpcom/string/src/nsString.cpp
rename : xpcom/string/nsStringComparator.cpp => xpcom/string/src/nsStringComparator.cpp
rename : xpcom/string/nsStringObsolete.cpp => xpcom/string/src/nsStringObsolete.cpp
rename : xpcom/string/nsSubstring.cpp => xpcom/string/src/nsSubstring.cpp
rename : xpcom/string/nsSubstringTuple.cpp => xpcom/string/src/nsSubstringTuple.cpp
rename : xpcom/string/nsTDependentString.cpp => xpcom/string/src/nsTDependentString.cpp
rename : xpcom/string/nsTDependentSubstring.cpp => xpcom/string/src/nsTDependentSubstring.cpp
rename : xpcom/string/nsTPromiseFlatString.cpp => xpcom/string/src/nsTPromiseFlatString.cpp
rename : xpcom/string/nsTString.cpp => xpcom/string/src/nsTString.cpp
rename : xpcom/string/nsTStringComparator.cpp => xpcom/string/src/nsTStringComparator.cpp
rename : xpcom/string/nsTStringObsolete.cpp => xpcom/string/src/nsTStringObsolete.cpp
rename : xpcom/string/nsTSubstring.cpp => xpcom/string/src/nsTSubstring.cpp
rename : xpcom/string/nsTSubstringTuple.cpp => xpcom/string/src/nsTSubstringTuple.cpp
rename : xpcom/string/nsUTF8UtilsSSE2.cpp => xpcom/string/src/nsUTF8UtilsSSE2.cpp
2014-06-24 18:32:55 -07:00

256 lines
6.5 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef nsEditorUtils_h__
#define nsEditorUtils_h__
#include "nsCOMPtr.h"
#include "nsDebug.h"
#include "nsEditor.h"
#include "nsIDOMNode.h"
#include "nsIEditor.h"
#include "nscore.h"
class nsIAtom;
class nsIContentIterator;
class nsIDOMDocument;
class nsIDOMRange;
class nsISelection;
template <class E> class nsCOMArray;
/***************************************************************************
* stack based helper class for batching a collection of txns inside a
* placeholder txn.
*/
class MOZ_STACK_CLASS nsAutoPlaceHolderBatch
{
private:
nsCOMPtr<nsIEditor> mEd;
public:
nsAutoPlaceHolderBatch( nsIEditor *aEd, nsIAtom *atom) : mEd(do_QueryInterface(aEd))
{ if (mEd) mEd->BeginPlaceHolderTransaction(atom); }
~nsAutoPlaceHolderBatch() { if (mEd) mEd->EndPlaceHolderTransaction(); }
};
/***************************************************************************
* stack based helper class for batching a collection of txns.
* Note: I changed this to use placeholder batching so that we get
* proper selection save/restore across undo/redo.
*/
class MOZ_STACK_CLASS nsAutoEditBatch : public nsAutoPlaceHolderBatch
{
public:
nsAutoEditBatch( nsIEditor *aEd) : nsAutoPlaceHolderBatch(aEd,nullptr) {}
~nsAutoEditBatch() {}
};
/***************************************************************************
* stack based helper class for saving/restoring selection. Note that this
* assumes that the nodes involved are still around afterwards!
*/
class MOZ_STACK_CLASS nsAutoSelectionReset
{
private:
/** ref-counted reference to the selection that we are supposed to restore */
nsRefPtr<mozilla::dom::Selection> mSel;
nsEditor *mEd; // non-owning ref to nsEditor
public:
/** constructor responsible for remembering all state needed to restore aSel */
nsAutoSelectionReset(mozilla::dom::Selection* aSel, nsEditor* aEd);
/** destructor restores mSel to its former state */
~nsAutoSelectionReset();
/** Abort: cancel selection saver */
void Abort();
};
/***************************************************************************
* stack based helper class for StartOperation()/EndOperation() sandwich
*/
class MOZ_STACK_CLASS nsAutoRules
{
public:
nsAutoRules(nsEditor *ed, EditAction action,
nsIEditor::EDirection aDirection) :
mEd(ed), mDoNothing(false)
{
if (mEd && !mEd->mAction) // mAction will already be set if this is nested call
{
mEd->StartOperation(action, aDirection);
}
else mDoNothing = true; // nested calls will end up here
}
~nsAutoRules()
{
if (mEd && !mDoNothing)
{
mEd->EndOperation();
}
}
protected:
nsEditor *mEd;
bool mDoNothing;
};
/***************************************************************************
* stack based helper class for turning off active selection adjustment
* by low level transactions
*/
class MOZ_STACK_CLASS nsAutoTxnsConserveSelection
{
public:
nsAutoTxnsConserveSelection(nsEditor *ed) : mEd(ed), mOldState(true)
{
if (mEd)
{
mOldState = mEd->GetShouldTxnSetSelection();
mEd->SetShouldTxnSetSelection(false);
}
}
~nsAutoTxnsConserveSelection()
{
if (mEd)
{
mEd->SetShouldTxnSetSelection(mOldState);
}
}
protected:
nsEditor *mEd;
bool mOldState;
};
/***************************************************************************
* stack based helper class for batching reflow and paint requests.
*/
class MOZ_STACK_CLASS nsAutoUpdateViewBatch
{
public:
nsAutoUpdateViewBatch(nsEditor *ed) : mEd(ed)
{
NS_ASSERTION(mEd, "null mEd pointer!");
if (mEd)
mEd->BeginUpdateViewBatch();
}
~nsAutoUpdateViewBatch()
{
if (mEd)
mEd->EndUpdateViewBatch();
}
protected:
nsEditor *mEd;
};
/******************************************************************************
* some helper classes for iterating the dom tree
*****************************************************************************/
class nsBoolDomIterFunctor
{
public:
virtual bool operator()(nsIDOMNode* aNode)=0;
};
class MOZ_STACK_CLASS nsDOMIterator
{
public:
nsDOMIterator();
virtual ~nsDOMIterator();
nsresult Init(nsIDOMRange* aRange);
nsresult Init(nsIDOMNode* aNode);
nsresult AppendList(nsBoolDomIterFunctor& functor,
nsCOMArray<nsIDOMNode>& arrayOfNodes) const;
protected:
nsCOMPtr<nsIContentIterator> mIter;
};
class MOZ_STACK_CLASS nsDOMSubtreeIterator : public nsDOMIterator
{
public:
nsDOMSubtreeIterator();
virtual ~nsDOMSubtreeIterator();
nsresult Init(nsIDOMRange* aRange);
};
class nsTrivialFunctor : public nsBoolDomIterFunctor
{
public:
virtual bool operator()(nsIDOMNode* aNode) // used to build list of all nodes iterator covers
{
return true;
}
};
/******************************************************************************
* general dom point utility struct
*****************************************************************************/
struct MOZ_STACK_CLASS DOMPoint
{
nsCOMPtr<nsINode> node;
int32_t offset;
DOMPoint(nsINode* aNode, int32_t aOffset)
: node(aNode)
, offset(aOffset)
{}
DOMPoint(nsIDOMNode* aNode, int32_t aOffset)
: node(do_QueryInterface(aNode))
, offset(aOffset)
{}
void SetPoint(nsINode* aNode, int32_t aOffset)
{
node = aNode;
offset = aOffset;
}
void SetPoint(nsIDOMNode* aNode, int32_t aOffset)
{
node = do_QueryInterface(aNode);
offset = aOffset;
}
};
class nsEditorUtils
{
public:
static bool IsDescendantOf(nsINode* aNode, nsINode* aParent, int32_t* aOffset = 0);
static bool IsDescendantOf(nsIDOMNode *aNode, nsIDOMNode *aParent, int32_t *aOffset = 0);
static bool IsLeafNode(nsIDOMNode *aNode);
};
class nsIDOMEvent;
class nsISimpleEnumerator;
class nsITransferable;
class nsEditorHookUtils
{
public:
static bool DoInsertionHook(nsIDOMDocument *aDoc, nsIDOMEvent *aEvent,
nsITransferable *aTrans);
private:
static nsresult GetHookEnumeratorFromDocument(nsIDOMDocument *aDoc,
nsISimpleEnumerator **aEnumerator);
};
#endif // nsEditorUtils_h__