Backed out 6 changesets (bug 1028559, bug 1028565) for android mochitest bustage on a CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Tue, 24 Jun 2014 18:32:55 -0700
changeset 211405 71f6b8a9b2e8cb698a495eb29d7611cb030073a9
parent 211404 26d6c067ee0de58aa64297a03804b9e6ce72154e
child 211406 59b0072d64aa5bebe2906b1778727d8172ac0f84
push id3857
push userraliiev@mozilla.com
push dateTue, 02 Sep 2014 16:39:23 +0000
treeherdermozilla-beta@5638b907b505 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1028559, 1028565
milestone33.0a1
backs outfdd74c065e5d743bd4d1a3044b2e76727dfb60f0
5e9777d3805262d3179babc853832594c63a966b
3510bcdba3fc25f2bd35327fb234e62cffc609fb
62ad3254903e92e3814652dac400f00956b0a347
e7557f70acfebc3d0ea300ea1d78d63854d9c3cb
5b1b527abe473a64fa9dedf7b487d453eb2e078a
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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)
content/html/content/src/moz.build
editor/composer/crashtests/351236-1.html
editor/composer/crashtests/407062-1.html
editor/composer/crashtests/419563-1.xhtml
editor/composer/crashtests/428844-1-inner.xhtml
editor/composer/crashtests/428844-1.html
editor/composer/crashtests/461049-1.html
editor/composer/crashtests/crashtests.list
editor/composer/crashtests/removing-editable-xslt-inner.xhtml
editor/composer/crashtests/removing-editable-xslt.html
editor/composer/moz.build
editor/composer/nsComposeTxtSrvFilter.cpp
editor/composer/nsComposeTxtSrvFilter.h
editor/composer/nsComposerCommands.cpp
editor/composer/nsComposerCommands.h
editor/composer/nsComposerCommandsUpdater.cpp
editor/composer/nsComposerCommandsUpdater.h
editor/composer/nsComposerController.cpp
editor/composer/nsComposerController.h
editor/composer/nsComposerDocumentCommands.cpp
editor/composer/nsComposerRegistration.cpp
editor/composer/nsEditingSession.cpp
editor/composer/nsEditingSession.h
editor/composer/nsEditorSpellCheck.cpp
editor/composer/nsEditorSpellCheck.h
editor/composer/nsIEditingSession.idl
editor/composer/public/moz.build
editor/composer/public/nsIEditingSession.idl
editor/composer/res/EditorOverride.css
editor/composer/res/grabber.gif
editor/composer/res/table-add-column-after-active.gif
editor/composer/res/table-add-column-after-hover.gif
editor/composer/res/table-add-column-after.gif
editor/composer/res/table-add-column-before-active.gif
editor/composer/res/table-add-column-before-hover.gif
editor/composer/res/table-add-column-before.gif
editor/composer/res/table-add-row-after-active.gif
editor/composer/res/table-add-row-after-hover.gif
editor/composer/res/table-add-row-after.gif
editor/composer/res/table-add-row-before-active.gif
editor/composer/res/table-add-row-before-hover.gif
editor/composer/res/table-add-row-before.gif
editor/composer/res/table-remove-column-active.gif
editor/composer/res/table-remove-column-hover.gif
editor/composer/res/table-remove-column.gif
editor/composer/res/table-remove-row-active.gif
editor/composer/res/table-remove-row-hover.gif
editor/composer/res/table-remove-row.gif
editor/composer/res/text_caret.png
editor/composer/res/text_caret@1.5x.png
editor/composer/res/text_caret@2.25x.png
editor/composer/res/text_caret@2x.png
editor/composer/res/text_caret_tilt_left.png
editor/composer/res/text_caret_tilt_left@1.5x.png
editor/composer/res/text_caret_tilt_left@2.25x.png
editor/composer/res/text_caret_tilt_left@2x.png
editor/composer/res/text_caret_tilt_right.png
editor/composer/res/text_caret_tilt_right@1.5x.png
editor/composer/res/text_caret_tilt_right@2.25x.png
editor/composer/res/text_caret_tilt_right@2x.png
editor/composer/res/text_selection_handle.png
editor/composer/res/text_selection_handle@1.5.png
editor/composer/res/text_selection_handle@2.png
editor/composer/src/crashtests/351236-1.html
editor/composer/src/crashtests/407062-1.html
editor/composer/src/crashtests/419563-1.xhtml
editor/composer/src/crashtests/428844-1-inner.xhtml
editor/composer/src/crashtests/428844-1.html
editor/composer/src/crashtests/461049-1.html
editor/composer/src/crashtests/crashtests.list
editor/composer/src/crashtests/removing-editable-xslt-inner.xhtml
editor/composer/src/crashtests/removing-editable-xslt.html
editor/composer/src/moz.build
editor/composer/src/nsComposeTxtSrvFilter.cpp
editor/composer/src/nsComposeTxtSrvFilter.h
editor/composer/src/nsComposerCommands.cpp
editor/composer/src/nsComposerCommands.h
editor/composer/src/nsComposerCommandsUpdater.cpp
editor/composer/src/nsComposerCommandsUpdater.h
editor/composer/src/nsComposerController.cpp
editor/composer/src/nsComposerController.h
editor/composer/src/nsComposerDocumentCommands.cpp
editor/composer/src/nsComposerRegistration.cpp
editor/composer/src/nsEditingSession.cpp
editor/composer/src/nsEditingSession.h
editor/composer/src/nsEditorSpellCheck.cpp
editor/composer/src/nsEditorSpellCheck.h
editor/composer/src/res/EditorOverride.css
editor/composer/src/res/grabber.gif
editor/composer/src/res/table-add-column-after-active.gif
editor/composer/src/res/table-add-column-after-hover.gif
editor/composer/src/res/table-add-column-after.gif
editor/composer/src/res/table-add-column-before-active.gif
editor/composer/src/res/table-add-column-before-hover.gif
editor/composer/src/res/table-add-column-before.gif
editor/composer/src/res/table-add-row-after-active.gif
editor/composer/src/res/table-add-row-after-hover.gif
editor/composer/src/res/table-add-row-after.gif
editor/composer/src/res/table-add-row-before-active.gif
editor/composer/src/res/table-add-row-before-hover.gif
editor/composer/src/res/table-add-row-before.gif
editor/composer/src/res/table-remove-column-active.gif
editor/composer/src/res/table-remove-column-hover.gif
editor/composer/src/res/table-remove-column.gif
editor/composer/src/res/table-remove-row-active.gif
editor/composer/src/res/table-remove-row-hover.gif
editor/composer/src/res/table-remove-row.gif
editor/composer/src/res/text_caret.png
editor/composer/src/res/text_caret@1.5x.png
editor/composer/src/res/text_caret@2.25x.png
editor/composer/src/res/text_caret@2x.png
editor/composer/src/res/text_caret_tilt_left.png
editor/composer/src/res/text_caret_tilt_left@1.5x.png
editor/composer/src/res/text_caret_tilt_left@2.25x.png
editor/composer/src/res/text_caret_tilt_left@2x.png
editor/composer/src/res/text_caret_tilt_right.png
editor/composer/src/res/text_caret_tilt_right@1.5x.png
editor/composer/src/res/text_caret_tilt_right@2.25x.png
editor/composer/src/res/text_caret_tilt_right@2x.png
editor/composer/src/res/text_selection_handle.png
editor/composer/src/res/text_selection_handle@1.5.png
editor/composer/src/res/text_selection_handle@2.png
editor/crashtests.list
editor/idl/moz.build
editor/idl/nsIContentFilter.idl
editor/idl/nsIDocumentStateListener.idl
editor/idl/nsIEditActionListener.idl
editor/idl/nsIEditor.idl
editor/idl/nsIEditorIMESupport.idl
editor/idl/nsIEditorMailSupport.idl
editor/idl/nsIEditorObserver.idl
editor/idl/nsIEditorSpellCheck.idl
editor/idl/nsIEditorStyleSheets.idl
editor/idl/nsIHTMLAbsPosEditor.idl
editor/idl/nsIHTMLEditor.idl
editor/idl/nsIHTMLInlineTableEditor.idl
editor/idl/nsIHTMLObjectResizeListener.idl
editor/idl/nsIHTMLObjectResizer.idl
editor/idl/nsIPlaintextEditor.idl
editor/idl/nsITableEditor.idl
editor/idl/nsIURIRefObject.idl
editor/idl/nsPIEditorTransaction.idl
editor/libeditor/ChangeAttributeTxn.cpp
editor/libeditor/ChangeAttributeTxn.h
editor/libeditor/ChangeCSSInlineStyleTxn.cpp
editor/libeditor/ChangeCSSInlineStyleTxn.h
editor/libeditor/CreateElementTxn.cpp
editor/libeditor/CreateElementTxn.h
editor/libeditor/DeleteNodeTxn.cpp
editor/libeditor/DeleteNodeTxn.h
editor/libeditor/DeleteRangeTxn.cpp
editor/libeditor/DeleteRangeTxn.h
editor/libeditor/DeleteTextTxn.cpp
editor/libeditor/DeleteTextTxn.h
editor/libeditor/EditActionListener.h
editor/libeditor/EditAggregateTxn.cpp
editor/libeditor/EditAggregateTxn.h
editor/libeditor/EditTxn.cpp
editor/libeditor/EditTxn.h
editor/libeditor/IMETextTxn.cpp
editor/libeditor/IMETextTxn.h
editor/libeditor/InsertElementTxn.cpp
editor/libeditor/InsertElementTxn.h
editor/libeditor/InsertTextTxn.cpp
editor/libeditor/InsertTextTxn.h
editor/libeditor/JoinElementTxn.cpp
editor/libeditor/JoinElementTxn.h
editor/libeditor/PlaceholderTxn.cpp
editor/libeditor/PlaceholderTxn.h
editor/libeditor/SetDocTitleTxn.cpp
editor/libeditor/SetDocTitleTxn.h
editor/libeditor/SplitElementTxn.cpp
editor/libeditor/SplitElementTxn.h
editor/libeditor/base/ChangeAttributeTxn.cpp
editor/libeditor/base/ChangeAttributeTxn.h
editor/libeditor/base/ChangeCSSInlineStyleTxn.cpp
editor/libeditor/base/ChangeCSSInlineStyleTxn.h
editor/libeditor/base/CreateElementTxn.cpp
editor/libeditor/base/CreateElementTxn.h
editor/libeditor/base/DeleteNodeTxn.cpp
editor/libeditor/base/DeleteNodeTxn.h
editor/libeditor/base/DeleteRangeTxn.cpp
editor/libeditor/base/DeleteRangeTxn.h
editor/libeditor/base/DeleteTextTxn.cpp
editor/libeditor/base/DeleteTextTxn.h
editor/libeditor/base/EditActionListener.h
editor/libeditor/base/EditAggregateTxn.cpp
editor/libeditor/base/EditAggregateTxn.h
editor/libeditor/base/EditTxn.cpp
editor/libeditor/base/EditTxn.h
editor/libeditor/base/IMETextTxn.cpp
editor/libeditor/base/IMETextTxn.h
editor/libeditor/base/InsertElementTxn.cpp
editor/libeditor/base/InsertElementTxn.h
editor/libeditor/base/InsertTextTxn.cpp
editor/libeditor/base/InsertTextTxn.h
editor/libeditor/base/JoinElementTxn.cpp
editor/libeditor/base/JoinElementTxn.h
editor/libeditor/base/PlaceholderTxn.cpp
editor/libeditor/base/PlaceholderTxn.h
editor/libeditor/base/SetDocTitleTxn.cpp
editor/libeditor/base/SetDocTitleTxn.h
editor/libeditor/base/SplitElementTxn.cpp
editor/libeditor/base/SplitElementTxn.h
editor/libeditor/base/crashtests/336104.html
editor/libeditor/base/crashtests/382527-1.html
editor/libeditor/base/crashtests/402172-1.html
editor/libeditor/base/crashtests/407079-1.html
editor/libeditor/base/crashtests/407256-1.html
editor/libeditor/base/crashtests/430624-1.html
editor/libeditor/base/crashtests/459613-iframe.html
editor/libeditor/base/crashtests/459613.html
editor/libeditor/base/crashtests/475132-1.xhtml
editor/libeditor/base/crashtests/633709.xhtml
editor/libeditor/base/crashtests/636074-1.html
editor/libeditor/base/crashtests/713427-1.html
editor/libeditor/base/crashtests/713427-2.xhtml
editor/libeditor/base/crashtests/762183.html
editor/libeditor/base/crashtests/766360.html
editor/libeditor/base/crashtests/766413.html
editor/libeditor/base/crashtests/766845.xhtml
editor/libeditor/base/crashtests/768765.html
editor/libeditor/base/crashtests/771749.html
editor/libeditor/base/crashtests/772282.html
editor/libeditor/base/crashtests/776323.html
editor/libeditor/base/crashtests/crashtests.list
editor/libeditor/base/moz.build
editor/libeditor/base/nsEditProperty.h
editor/libeditor/base/nsEditPropertyAtomList.h
editor/libeditor/base/nsEditRules.h
editor/libeditor/base/nsEditor.cpp
editor/libeditor/base/nsEditor.h
editor/libeditor/base/nsEditorCommands.cpp
editor/libeditor/base/nsEditorCommands.h
editor/libeditor/base/nsEditorController.cpp
editor/libeditor/base/nsEditorController.h
editor/libeditor/base/nsEditorEventListener.cpp
editor/libeditor/base/nsEditorEventListener.h
editor/libeditor/base/nsEditorUtils.cpp
editor/libeditor/base/nsEditorUtils.h
editor/libeditor/base/nsIAbsorbingTransaction.h
editor/libeditor/base/nsSelectionState.cpp
editor/libeditor/base/nsSelectionState.h
editor/libeditor/base/nsStyleSheetTxns.cpp
editor/libeditor/base/nsStyleSheetTxns.h
editor/libeditor/base/tests/chrome.ini
editor/libeditor/base/tests/file_bug586662.html
editor/libeditor/base/tests/mochitest.ini
editor/libeditor/base/tests/moz.build
editor/libeditor/base/tests/test_bug408231.html
editor/libeditor/base/tests/test_bug46555.html
editor/libeditor/base/tests/test_bug502673.html
editor/libeditor/base/tests/test_bug514156.html
editor/libeditor/base/tests/test_bug567213.html
editor/libeditor/base/tests/test_bug586662.html
editor/libeditor/base/tests/test_bug599983.html
editor/libeditor/base/tests/test_bug599983.xul
editor/libeditor/base/tests/test_bug646194.xul
editor/libeditor/base/tests/test_bug742261.html
editor/libeditor/base/tests/test_bug773262.html
editor/libeditor/base/tests/test_bug795785.html
editor/libeditor/base/tests/test_dragdrop.html
editor/libeditor/base/tests/test_selection_move_commands.xul
editor/libeditor/crashtests/336104.html
editor/libeditor/crashtests/382527-1.html
editor/libeditor/crashtests/402172-1.html
editor/libeditor/crashtests/407079-1.html
editor/libeditor/crashtests/407256-1.html
editor/libeditor/crashtests/430624-1.html
editor/libeditor/crashtests/459613-iframe.html
editor/libeditor/crashtests/459613.html
editor/libeditor/crashtests/475132-1.xhtml
editor/libeditor/crashtests/633709.xhtml
editor/libeditor/crashtests/636074-1.html
editor/libeditor/crashtests/713427-1.html
editor/libeditor/crashtests/713427-2.xhtml
editor/libeditor/crashtests/762183.html
editor/libeditor/crashtests/766360.html
editor/libeditor/crashtests/766413.html
editor/libeditor/crashtests/766845.xhtml
editor/libeditor/crashtests/768765.html
editor/libeditor/crashtests/771749.html
editor/libeditor/crashtests/772282.html
editor/libeditor/crashtests/776323.html
editor/libeditor/crashtests/crashtests.list
editor/libeditor/html/moz.build
editor/libeditor/moz.build
editor/libeditor/nsEditProperty.h
editor/libeditor/nsEditPropertyAtomList.h
editor/libeditor/nsEditRules.h
editor/libeditor/nsEditor.cpp
editor/libeditor/nsEditor.h
editor/libeditor/nsEditorCommands.cpp
editor/libeditor/nsEditorCommands.h
editor/libeditor/nsEditorController.cpp
editor/libeditor/nsEditorController.h
editor/libeditor/nsEditorEventListener.cpp
editor/libeditor/nsEditorEventListener.h
editor/libeditor/nsEditorUtils.cpp
editor/libeditor/nsEditorUtils.h
editor/libeditor/nsIAbsorbingTransaction.h
editor/libeditor/nsSelectionState.cpp
editor/libeditor/nsSelectionState.h
editor/libeditor/nsStyleSheetTxns.cpp
editor/libeditor/nsStyleSheetTxns.h
editor/libeditor/tests/chrome.ini
editor/libeditor/tests/file_bug586662.html
editor/libeditor/tests/mochitest.ini
editor/libeditor/tests/moz.build
editor/libeditor/tests/test_bug408231.html
editor/libeditor/tests/test_bug46555.html
editor/libeditor/tests/test_bug502673.html
editor/libeditor/tests/test_bug514156.html
editor/libeditor/tests/test_bug567213.html
editor/libeditor/tests/test_bug586662.html
editor/libeditor/tests/test_bug599983.html
editor/libeditor/tests/test_bug599983.xul
editor/libeditor/tests/test_bug646194.xul
editor/libeditor/tests/test_bug742261.html
editor/libeditor/tests/test_bug773262.html
editor/libeditor/tests/test_bug795785.html
editor/libeditor/tests/test_dragdrop.html
editor/libeditor/tests/test_selection_move_commands.xul
editor/libeditor/text/moz.build
editor/moz.build
editor/nsEditorCID.h
editor/nsIContentFilter.idl
editor/nsIDocumentStateListener.idl
editor/nsIEditActionListener.idl
editor/nsIEditor.idl
editor/nsIEditorIMESupport.idl
editor/nsIEditorMailSupport.idl
editor/nsIEditorObserver.idl
editor/nsIEditorSpellCheck.idl
editor/nsIEditorStyleSheets.idl
editor/nsIHTMLAbsPosEditor.idl
editor/nsIHTMLEditor.idl
editor/nsIHTMLInlineTableEditor.idl
editor/nsIHTMLObjectResizeListener.idl
editor/nsIHTMLObjectResizer.idl
editor/nsIPlaintextEditor.idl
editor/nsITableEditor.idl
editor/nsIURIRefObject.idl
editor/nsPIEditorTransaction.idl
editor/public/moz.build
editor/public/nsEditorCID.h
editor/txmgr/idl/moz.build
editor/txmgr/idl/nsITransaction.idl
editor/txmgr/idl/nsITransactionList.idl
editor/txmgr/idl/nsITransactionListener.idl
editor/txmgr/idl/nsITransactionManager.idl
editor/txmgr/moz.build
editor/txmgr/nsITransaction.idl
editor/txmgr/nsITransactionList.idl
editor/txmgr/nsITransactionListener.idl
editor/txmgr/nsITransactionManager.idl
editor/txmgr/nsTransactionItem.cpp
editor/txmgr/nsTransactionItem.h
editor/txmgr/nsTransactionList.cpp
editor/txmgr/nsTransactionList.h
editor/txmgr/nsTransactionManager.cpp
editor/txmgr/nsTransactionManager.h
editor/txmgr/nsTransactionManagerCID.h
editor/txmgr/nsTransactionManagerFactory.cpp
editor/txmgr/nsTransactionStack.cpp
editor/txmgr/nsTransactionStack.h
editor/txmgr/public/moz.build
editor/txmgr/public/nsTransactionManagerCID.h
editor/txmgr/src/moz.build
editor/txmgr/src/nsTransactionItem.cpp
editor/txmgr/src/nsTransactionItem.h
editor/txmgr/src/nsTransactionList.cpp
editor/txmgr/src/nsTransactionList.h
editor/txmgr/src/nsTransactionManager.cpp
editor/txmgr/src/nsTransactionManager.h
editor/txmgr/src/nsTransactionManagerFactory.cpp
editor/txmgr/src/nsTransactionStack.cpp
editor/txmgr/src/nsTransactionStack.h
editor/txtsvc/moz.build
editor/txtsvc/nsFilteredContentIterator.cpp
editor/txtsvc/nsFilteredContentIterator.h
editor/txtsvc/nsIInlineSpellChecker.idl
editor/txtsvc/nsISpellChecker.h
editor/txtsvc/nsITextService.h
editor/txtsvc/nsITextServicesDocument.h
editor/txtsvc/nsITextServicesFilter.idl
editor/txtsvc/nsTSAtomList.h
editor/txtsvc/nsTextServicesCID.h
editor/txtsvc/nsTextServicesDocument.cpp
editor/txtsvc/nsTextServicesDocument.h
editor/txtsvc/nsTextServicesFactory.cpp
editor/txtsvc/public/moz.build
editor/txtsvc/public/nsIInlineSpellChecker.idl
editor/txtsvc/public/nsISpellChecker.h
editor/txtsvc/public/nsITextService.h
editor/txtsvc/public/nsITextServicesDocument.h
editor/txtsvc/public/nsITextServicesFilter.idl
editor/txtsvc/public/nsTextServicesCID.h
editor/txtsvc/src/moz.build
editor/txtsvc/src/nsFilteredContentIterator.cpp
editor/txtsvc/src/nsFilteredContentIterator.h
editor/txtsvc/src/nsTSAtomList.h
editor/txtsvc/src/nsTextServicesDocument.cpp
editor/txtsvc/src/nsTextServicesDocument.h
editor/txtsvc/src/nsTextServicesFactory.cpp
extensions/spellcheck/hunspell/src/moz.build
extensions/spellcheck/src/moz.build
layout/build/moz.build
layout/forms/moz.build
toolkit/content/license.html
xpcom/string/moz.build
xpcom/string/nsAString.h
xpcom/string/nsAlgorithm.h
xpcom/string/nsCharTraits.h
xpcom/string/nsDependentString.cpp
xpcom/string/nsDependentString.h
xpcom/string/nsDependentSubstring.cpp
xpcom/string/nsDependentSubstring.h
xpcom/string/nsEmbedString.h
xpcom/string/nsLiteralString.h
xpcom/string/nsPrintfCString.h
xpcom/string/nsPromiseFlatString.cpp
xpcom/string/nsPromiseFlatString.h
xpcom/string/nsReadableUtils.cpp
xpcom/string/nsReadableUtils.h
xpcom/string/nsString.cpp
xpcom/string/nsString.h
xpcom/string/nsStringBuffer.h
xpcom/string/nsStringComparator.cpp
xpcom/string/nsStringFwd.h
xpcom/string/nsStringIterator.h
xpcom/string/nsStringObsolete.cpp
xpcom/string/nsSubstring.cpp
xpcom/string/nsSubstring.h
xpcom/string/nsSubstringTuple.cpp
xpcom/string/nsSubstringTuple.h
xpcom/string/nsTDependentString.cpp
xpcom/string/nsTDependentString.h
xpcom/string/nsTDependentSubstring.cpp
xpcom/string/nsTDependentSubstring.h
xpcom/string/nsTLiteralString.h
xpcom/string/nsTPromiseFlatString.cpp
xpcom/string/nsTPromiseFlatString.h
xpcom/string/nsTString.cpp
xpcom/string/nsTString.h
xpcom/string/nsTStringComparator.cpp
xpcom/string/nsTStringObsolete.cpp
xpcom/string/nsTSubstring.cpp
xpcom/string/nsTSubstring.h
xpcom/string/nsTSubstringTuple.cpp
xpcom/string/nsTSubstringTuple.h
xpcom/string/nsUTF8Utils.h
xpcom/string/nsUTF8UtilsSSE2.cpp
xpcom/string/nsXPCOMStrings.h
xpcom/string/nsXPIDLString.h
xpcom/string/public/moz.build
xpcom/string/public/nsAString.h
xpcom/string/public/nsAlgorithm.h
xpcom/string/public/nsCharTraits.h
xpcom/string/public/nsDependentString.h
xpcom/string/public/nsDependentSubstring.h
xpcom/string/public/nsEmbedString.h
xpcom/string/public/nsLiteralString.h
xpcom/string/public/nsPrintfCString.h
xpcom/string/public/nsPromiseFlatString.h
xpcom/string/public/nsReadableUtils.h
xpcom/string/public/nsString.h
xpcom/string/public/nsStringBuffer.h
xpcom/string/public/nsStringFwd.h
xpcom/string/public/nsStringIterator.h
xpcom/string/public/nsSubstring.h
xpcom/string/public/nsSubstringTuple.h
xpcom/string/public/nsTDependentString.h
xpcom/string/public/nsTDependentSubstring.h
xpcom/string/public/nsTLiteralString.h
xpcom/string/public/nsTPromiseFlatString.h
xpcom/string/public/nsTString.h
xpcom/string/public/nsTSubstring.h
xpcom/string/public/nsTSubstringTuple.h
xpcom/string/public/nsUTF8Utils.h
xpcom/string/public/nsXPCOMStrings.h
xpcom/string/public/nsXPIDLString.h
xpcom/string/public/string-template-def-char.h
xpcom/string/public/string-template-def-unichar.h
xpcom/string/public/string-template-undef.h
xpcom/string/src/moz.build
xpcom/string/src/nsDependentString.cpp
xpcom/string/src/nsDependentSubstring.cpp
xpcom/string/src/nsPromiseFlatString.cpp
xpcom/string/src/nsReadableUtils.cpp
xpcom/string/src/nsString.cpp
xpcom/string/src/nsStringComparator.cpp
xpcom/string/src/nsStringObsolete.cpp
xpcom/string/src/nsSubstring.cpp
xpcom/string/src/nsSubstringTuple.cpp
xpcom/string/src/nsTDependentString.cpp
xpcom/string/src/nsTDependentSubstring.cpp
xpcom/string/src/nsTPromiseFlatString.cpp
xpcom/string/src/nsTString.cpp
xpcom/string/src/nsTStringComparator.cpp
xpcom/string/src/nsTStringObsolete.cpp
xpcom/string/src/nsTSubstring.cpp
xpcom/string/src/nsTSubstringTuple.cpp
xpcom/string/src/nsUTF8UtilsSSE2.cpp
xpcom/string/string-template-def-char.h
xpcom/string/string-template-def-unichar.h
xpcom/string/string-template-undef.h
--- a/content/html/content/src/moz.build
+++ b/content/html/content/src/moz.build
@@ -168,19 +168,19 @@ FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '/content/base/src',
     '/content/canvas/src',
     '/content/html/document/src',
     '/content/media/',
     '/content/xul/content/src',
     '/dom/base',
     '/dom/xbl',
-    '/editor/libeditor',
+    '/editor/libeditor/base',
     '/editor/libeditor/text',
-    '/editor/txmgr',
+    '/editor/txmgr/src',
     '/layout/forms',
     '/layout/generic',
     '/layout/style',
     '/layout/tables',
     '/layout/xul',
     '/netwerk/base/src',
 ]
 
--- a/editor/composer/moz.build
+++ b/editor/composer/moz.build
@@ -1,65 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
+PARALLEL_DIRS += ['public', 'src']
 TEST_DIRS += ['test']
-
-XPIDL_SOURCES += [
-    'nsIEditingSession.idl',
-]
-
-XPIDL_MODULE = 'composer'
-
-UNIFIED_SOURCES += [
-    'nsComposerCommands.cpp',
-    'nsComposerCommandsUpdater.cpp',
-    'nsComposerController.cpp',
-    'nsComposerDocumentCommands.cpp',
-    'nsComposerRegistration.cpp',
-    'nsComposeTxtSrvFilter.cpp',
-    'nsEditingSession.cpp',
-    'nsEditorSpellCheck.cpp',
-]
-
-FAIL_ON_WARNINGS = True
-
-FINAL_LIBRARY = 'xul'
-RESOURCE_FILES += [
-    'res/EditorOverride.css',
-    'res/grabber.gif',
-    'res/table-add-column-after-active.gif',
-    'res/table-add-column-after-hover.gif',
-    'res/table-add-column-after.gif',
-    'res/table-add-column-before-active.gif',
-    'res/table-add-column-before-hover.gif',
-    'res/table-add-column-before.gif',
-    'res/table-add-row-after-active.gif',
-    'res/table-add-row-after-hover.gif',
-    'res/table-add-row-after.gif',
-    'res/table-add-row-before-active.gif',
-    'res/table-add-row-before-hover.gif',
-    'res/table-add-row-before.gif',
-    'res/table-remove-column-active.gif',
-    'res/table-remove-column-hover.gif',
-    'res/table-remove-column.gif',
-    'res/table-remove-row-active.gif',
-    'res/table-remove-row-hover.gif',
-    'res/table-remove-row.gif',
-    'res/text_caret.png',
-    'res/text_caret@1.5x.png',
-    'res/text_caret@2.25x.png',
-    'res/text_caret@2x.png',
-    'res/text_caret_tilt_left.png',
-    'res/text_caret_tilt_left@1.5x.png',
-    'res/text_caret_tilt_left@2.25x.png',
-    'res/text_caret_tilt_left@2x.png',
-    'res/text_caret_tilt_right.png',
-    'res/text_caret_tilt_right@1.5x.png',
-    'res/text_caret_tilt_right@2.25x.png',
-    'res/text_caret_tilt_right@2x.png',
-    'res/text_selection_handle.png',
-    'res/text_selection_handle@1.5.png',
-    'res/text_selection_handle@2.png',
-]
new file mode 100644
--- /dev/null
+++ b/editor/composer/public/moz.build
@@ -0,0 +1,12 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+    'nsIEditingSession.idl',
+]
+
+XPIDL_MODULE = 'composer'
+
rename from editor/composer/nsIEditingSession.idl
rename to editor/composer/public/nsIEditingSession.idl
rename from editor/composer/crashtests/351236-1.html
rename to editor/composer/src/crashtests/351236-1.html
rename from editor/composer/crashtests/407062-1.html
rename to editor/composer/src/crashtests/407062-1.html
rename from editor/composer/crashtests/419563-1.xhtml
rename to editor/composer/src/crashtests/419563-1.xhtml
rename from editor/composer/crashtests/428844-1-inner.xhtml
rename to editor/composer/src/crashtests/428844-1-inner.xhtml
rename from editor/composer/crashtests/428844-1.html
rename to editor/composer/src/crashtests/428844-1.html
rename from editor/composer/crashtests/461049-1.html
rename to editor/composer/src/crashtests/461049-1.html
rename from editor/composer/crashtests/crashtests.list
rename to editor/composer/src/crashtests/crashtests.list
rename from editor/composer/crashtests/removing-editable-xslt-inner.xhtml
rename to editor/composer/src/crashtests/removing-editable-xslt-inner.xhtml
rename from editor/composer/crashtests/removing-editable-xslt.html
rename to editor/composer/src/crashtests/removing-editable-xslt.html
new file mode 100644
--- /dev/null
+++ b/editor/composer/src/moz.build
@@ -0,0 +1,57 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+UNIFIED_SOURCES += [
+    'nsComposerCommands.cpp',
+    'nsComposerCommandsUpdater.cpp',
+    'nsComposerController.cpp',
+    'nsComposerDocumentCommands.cpp',
+    'nsComposerRegistration.cpp',
+    'nsComposeTxtSrvFilter.cpp',
+    'nsEditingSession.cpp',
+    'nsEditorSpellCheck.cpp',
+]
+
+FAIL_ON_WARNINGS = True
+
+FINAL_LIBRARY = 'xul'
+RESOURCE_FILES += [
+    'res/EditorOverride.css',
+    'res/grabber.gif',
+    'res/table-add-column-after-active.gif',
+    'res/table-add-column-after-hover.gif',
+    'res/table-add-column-after.gif',
+    'res/table-add-column-before-active.gif',
+    'res/table-add-column-before-hover.gif',
+    'res/table-add-column-before.gif',
+    'res/table-add-row-after-active.gif',
+    'res/table-add-row-after-hover.gif',
+    'res/table-add-row-after.gif',
+    'res/table-add-row-before-active.gif',
+    'res/table-add-row-before-hover.gif',
+    'res/table-add-row-before.gif',
+    'res/table-remove-column-active.gif',
+    'res/table-remove-column-hover.gif',
+    'res/table-remove-column.gif',
+    'res/table-remove-row-active.gif',
+    'res/table-remove-row-hover.gif',
+    'res/table-remove-row.gif',
+    'res/text_caret.png',
+    'res/text_caret@1.5x.png',
+    'res/text_caret@2.25x.png',
+    'res/text_caret@2x.png',
+    'res/text_caret_tilt_left.png',
+    'res/text_caret_tilt_left@1.5x.png',
+    'res/text_caret_tilt_left@2.25x.png',
+    'res/text_caret_tilt_left@2x.png',
+    'res/text_caret_tilt_right.png',
+    'res/text_caret_tilt_right@1.5x.png',
+    'res/text_caret_tilt_right@2.25x.png',
+    'res/text_caret_tilt_right@2x.png',
+    'res/text_selection_handle.png',
+    'res/text_selection_handle@1.5.png',
+    'res/text_selection_handle@2.png',
+]
rename from editor/composer/nsComposeTxtSrvFilter.cpp
rename to editor/composer/src/nsComposeTxtSrvFilter.cpp
rename from editor/composer/nsComposeTxtSrvFilter.h
rename to editor/composer/src/nsComposeTxtSrvFilter.h
rename from editor/composer/nsComposerCommands.cpp
rename to editor/composer/src/nsComposerCommands.cpp
rename from editor/composer/nsComposerCommands.h
rename to editor/composer/src/nsComposerCommands.h
rename from editor/composer/nsComposerCommandsUpdater.cpp
rename to editor/composer/src/nsComposerCommandsUpdater.cpp
rename from editor/composer/nsComposerCommandsUpdater.h
rename to editor/composer/src/nsComposerCommandsUpdater.h
rename from editor/composer/nsComposerController.cpp
rename to editor/composer/src/nsComposerController.cpp
rename from editor/composer/nsComposerController.h
rename to editor/composer/src/nsComposerController.h
rename from editor/composer/nsComposerDocumentCommands.cpp
rename to editor/composer/src/nsComposerDocumentCommands.cpp
rename from editor/composer/nsComposerRegistration.cpp
rename to editor/composer/src/nsComposerRegistration.cpp
rename from editor/composer/nsEditingSession.cpp
rename to editor/composer/src/nsEditingSession.cpp
rename from editor/composer/nsEditingSession.h
rename to editor/composer/src/nsEditingSession.h
rename from editor/composer/nsEditorSpellCheck.cpp
rename to editor/composer/src/nsEditorSpellCheck.cpp
rename from editor/composer/nsEditorSpellCheck.h
rename to editor/composer/src/nsEditorSpellCheck.h
rename from editor/composer/res/EditorOverride.css
rename to editor/composer/src/res/EditorOverride.css
rename from editor/composer/res/grabber.gif
rename to editor/composer/src/res/grabber.gif
rename from editor/composer/res/table-add-column-after-active.gif
rename to editor/composer/src/res/table-add-column-after-active.gif
rename from editor/composer/res/table-add-column-after-hover.gif
rename to editor/composer/src/res/table-add-column-after-hover.gif
rename from editor/composer/res/table-add-column-after.gif
rename to editor/composer/src/res/table-add-column-after.gif
rename from editor/composer/res/table-add-column-before-active.gif
rename to editor/composer/src/res/table-add-column-before-active.gif
rename from editor/composer/res/table-add-column-before-hover.gif
rename to editor/composer/src/res/table-add-column-before-hover.gif
rename from editor/composer/res/table-add-column-before.gif
rename to editor/composer/src/res/table-add-column-before.gif
rename from editor/composer/res/table-add-row-after-active.gif
rename to editor/composer/src/res/table-add-row-after-active.gif
rename from editor/composer/res/table-add-row-after-hover.gif
rename to editor/composer/src/res/table-add-row-after-hover.gif
rename from editor/composer/res/table-add-row-after.gif
rename to editor/composer/src/res/table-add-row-after.gif
rename from editor/composer/res/table-add-row-before-active.gif
rename to editor/composer/src/res/table-add-row-before-active.gif
rename from editor/composer/res/table-add-row-before-hover.gif
rename to editor/composer/src/res/table-add-row-before-hover.gif
rename from editor/composer/res/table-add-row-before.gif
rename to editor/composer/src/res/table-add-row-before.gif
rename from editor/composer/res/table-remove-column-active.gif
rename to editor/composer/src/res/table-remove-column-active.gif
rename from editor/composer/res/table-remove-column-hover.gif
rename to editor/composer/src/res/table-remove-column-hover.gif
rename from editor/composer/res/table-remove-column.gif
rename to editor/composer/src/res/table-remove-column.gif
rename from editor/composer/res/table-remove-row-active.gif
rename to editor/composer/src/res/table-remove-row-active.gif
rename from editor/composer/res/table-remove-row-hover.gif
rename to editor/composer/src/res/table-remove-row-hover.gif
rename from editor/composer/res/table-remove-row.gif
rename to editor/composer/src/res/table-remove-row.gif
rename from editor/composer/res/text_caret.png
rename to editor/composer/src/res/text_caret.png
rename from editor/composer/res/text_caret@1.5x.png
rename to editor/composer/src/res/text_caret@1.5x.png
rename from editor/composer/res/text_caret@2.25x.png
rename to editor/composer/src/res/text_caret@2.25x.png
rename from editor/composer/res/text_caret@2x.png
rename to editor/composer/src/res/text_caret@2x.png
rename from editor/composer/res/text_caret_tilt_left.png
rename to editor/composer/src/res/text_caret_tilt_left.png
rename from editor/composer/res/text_caret_tilt_left@1.5x.png
rename to editor/composer/src/res/text_caret_tilt_left@1.5x.png
rename from editor/composer/res/text_caret_tilt_left@2.25x.png
rename to editor/composer/src/res/text_caret_tilt_left@2.25x.png
rename from editor/composer/res/text_caret_tilt_left@2x.png
rename to editor/composer/src/res/text_caret_tilt_left@2x.png
rename from editor/composer/res/text_caret_tilt_right.png
rename to editor/composer/src/res/text_caret_tilt_right.png
rename from editor/composer/res/text_caret_tilt_right@1.5x.png
rename to editor/composer/src/res/text_caret_tilt_right@1.5x.png
rename from editor/composer/res/text_caret_tilt_right@2.25x.png
rename to editor/composer/src/res/text_caret_tilt_right@2.25x.png
rename from editor/composer/res/text_caret_tilt_right@2x.png
rename to editor/composer/src/res/text_caret_tilt_right@2x.png
rename from editor/composer/res/text_selection_handle.png
rename to editor/composer/src/res/text_selection_handle.png
rename from editor/composer/res/text_selection_handle@1.5.png
rename to editor/composer/src/res/text_selection_handle@1.5.png
rename from editor/composer/res/text_selection_handle@2.png
rename to editor/composer/src/res/text_selection_handle@2.png
--- a/editor/crashtests.list
+++ b/editor/crashtests.list
@@ -1,9 +1,9 @@
 # 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/.
 
-include libeditor/crashtests/crashtests.list
 include libeditor/html/crashtests/crashtests.list
+include libeditor/base/crashtests/crashtests.list
 include libeditor/text/crashtests/crashtests.list
-include composer/crashtests/crashtests.list
+include composer/src/crashtests/crashtests.list
 include txmgr/tests/crashtests/crashtests.list
new file mode 100644
--- /dev/null
+++ b/editor/idl/moz.build
@@ -0,0 +1,29 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+    'nsIContentFilter.idl',
+    'nsIDocumentStateListener.idl',
+    'nsIEditActionListener.idl',
+    'nsIEditor.idl',
+    'nsIEditorIMESupport.idl',
+    'nsIEditorMailSupport.idl',
+    'nsIEditorObserver.idl',
+    'nsIEditorSpellCheck.idl',
+    'nsIEditorStyleSheets.idl',
+    'nsIHTMLAbsPosEditor.idl',
+    'nsIHTMLEditor.idl',
+    'nsIHTMLInlineTableEditor.idl',
+    'nsIHTMLObjectResizeListener.idl',
+    'nsIHTMLObjectResizer.idl',
+    'nsIPlaintextEditor.idl',
+    'nsITableEditor.idl',
+    'nsIURIRefObject.idl',
+    'nsPIEditorTransaction.idl',
+]
+
+XPIDL_MODULE = 'editor'
+
rename from editor/nsIContentFilter.idl
rename to editor/idl/nsIContentFilter.idl
rename from editor/nsIDocumentStateListener.idl
rename to editor/idl/nsIDocumentStateListener.idl
rename from editor/nsIEditActionListener.idl
rename to editor/idl/nsIEditActionListener.idl
rename from editor/nsIEditor.idl
rename to editor/idl/nsIEditor.idl
rename from editor/nsIEditorIMESupport.idl
rename to editor/idl/nsIEditorIMESupport.idl
rename from editor/nsIEditorMailSupport.idl
rename to editor/idl/nsIEditorMailSupport.idl
rename from editor/nsIEditorObserver.idl
rename to editor/idl/nsIEditorObserver.idl
rename from editor/nsIEditorSpellCheck.idl
rename to editor/idl/nsIEditorSpellCheck.idl
rename from editor/nsIEditorStyleSheets.idl
rename to editor/idl/nsIEditorStyleSheets.idl
rename from editor/nsIHTMLAbsPosEditor.idl
rename to editor/idl/nsIHTMLAbsPosEditor.idl
rename from editor/nsIHTMLEditor.idl
rename to editor/idl/nsIHTMLEditor.idl
rename from editor/nsIHTMLInlineTableEditor.idl
rename to editor/idl/nsIHTMLInlineTableEditor.idl
rename from editor/nsIHTMLObjectResizeListener.idl
rename to editor/idl/nsIHTMLObjectResizeListener.idl
rename from editor/nsIHTMLObjectResizer.idl
rename to editor/idl/nsIHTMLObjectResizer.idl
rename from editor/nsIPlaintextEditor.idl
rename to editor/idl/nsIPlaintextEditor.idl
rename from editor/nsITableEditor.idl
rename to editor/idl/nsITableEditor.idl
rename from editor/nsIURIRefObject.idl
rename to editor/idl/nsIURIRefObject.idl
rename from editor/nsPIEditorTransaction.idl
rename to editor/idl/nsPIEditorTransaction.idl
rename from editor/libeditor/ChangeAttributeTxn.cpp
rename to editor/libeditor/base/ChangeAttributeTxn.cpp
rename from editor/libeditor/ChangeAttributeTxn.h
rename to editor/libeditor/base/ChangeAttributeTxn.h
rename from editor/libeditor/ChangeCSSInlineStyleTxn.cpp
rename to editor/libeditor/base/ChangeCSSInlineStyleTxn.cpp
rename from editor/libeditor/ChangeCSSInlineStyleTxn.h
rename to editor/libeditor/base/ChangeCSSInlineStyleTxn.h
rename from editor/libeditor/CreateElementTxn.cpp
rename to editor/libeditor/base/CreateElementTxn.cpp
rename from editor/libeditor/CreateElementTxn.h
rename to editor/libeditor/base/CreateElementTxn.h
rename from editor/libeditor/DeleteNodeTxn.cpp
rename to editor/libeditor/base/DeleteNodeTxn.cpp
rename from editor/libeditor/DeleteNodeTxn.h
rename to editor/libeditor/base/DeleteNodeTxn.h
rename from editor/libeditor/DeleteRangeTxn.cpp
rename to editor/libeditor/base/DeleteRangeTxn.cpp
rename from editor/libeditor/DeleteRangeTxn.h
rename to editor/libeditor/base/DeleteRangeTxn.h
rename from editor/libeditor/DeleteTextTxn.cpp
rename to editor/libeditor/base/DeleteTextTxn.cpp
rename from editor/libeditor/DeleteTextTxn.h
rename to editor/libeditor/base/DeleteTextTxn.h
rename from editor/libeditor/EditActionListener.h
rename to editor/libeditor/base/EditActionListener.h
rename from editor/libeditor/EditAggregateTxn.cpp
rename to editor/libeditor/base/EditAggregateTxn.cpp
rename from editor/libeditor/EditAggregateTxn.h
rename to editor/libeditor/base/EditAggregateTxn.h
rename from editor/libeditor/EditTxn.cpp
rename to editor/libeditor/base/EditTxn.cpp
rename from editor/libeditor/EditTxn.h
rename to editor/libeditor/base/EditTxn.h
rename from editor/libeditor/IMETextTxn.cpp
rename to editor/libeditor/base/IMETextTxn.cpp
rename from editor/libeditor/IMETextTxn.h
rename to editor/libeditor/base/IMETextTxn.h
rename from editor/libeditor/InsertElementTxn.cpp
rename to editor/libeditor/base/InsertElementTxn.cpp
rename from editor/libeditor/InsertElementTxn.h
rename to editor/libeditor/base/InsertElementTxn.h
rename from editor/libeditor/InsertTextTxn.cpp
rename to editor/libeditor/base/InsertTextTxn.cpp
rename from editor/libeditor/InsertTextTxn.h
rename to editor/libeditor/base/InsertTextTxn.h
rename from editor/libeditor/JoinElementTxn.cpp
rename to editor/libeditor/base/JoinElementTxn.cpp
rename from editor/libeditor/JoinElementTxn.h
rename to editor/libeditor/base/JoinElementTxn.h
rename from editor/libeditor/PlaceholderTxn.cpp
rename to editor/libeditor/base/PlaceholderTxn.cpp
rename from editor/libeditor/PlaceholderTxn.h
rename to editor/libeditor/base/PlaceholderTxn.h
rename from editor/libeditor/SetDocTitleTxn.cpp
rename to editor/libeditor/base/SetDocTitleTxn.cpp
rename from editor/libeditor/SetDocTitleTxn.h
rename to editor/libeditor/base/SetDocTitleTxn.h
rename from editor/libeditor/SplitElementTxn.cpp
rename to editor/libeditor/base/SplitElementTxn.cpp
rename from editor/libeditor/SplitElementTxn.h
rename to editor/libeditor/base/SplitElementTxn.h
rename from editor/libeditor/crashtests/336104.html
rename to editor/libeditor/base/crashtests/336104.html
rename from editor/libeditor/crashtests/382527-1.html
rename to editor/libeditor/base/crashtests/382527-1.html
rename from editor/libeditor/crashtests/402172-1.html
rename to editor/libeditor/base/crashtests/402172-1.html
rename from editor/libeditor/crashtests/407079-1.html
rename to editor/libeditor/base/crashtests/407079-1.html
rename from editor/libeditor/crashtests/407256-1.html
rename to editor/libeditor/base/crashtests/407256-1.html
rename from editor/libeditor/crashtests/430624-1.html
rename to editor/libeditor/base/crashtests/430624-1.html
rename from editor/libeditor/crashtests/459613-iframe.html
rename to editor/libeditor/base/crashtests/459613-iframe.html
rename from editor/libeditor/crashtests/459613.html
rename to editor/libeditor/base/crashtests/459613.html
rename from editor/libeditor/crashtests/475132-1.xhtml
rename to editor/libeditor/base/crashtests/475132-1.xhtml
rename from editor/libeditor/crashtests/633709.xhtml
rename to editor/libeditor/base/crashtests/633709.xhtml
rename from editor/libeditor/crashtests/636074-1.html
rename to editor/libeditor/base/crashtests/636074-1.html
rename from editor/libeditor/crashtests/713427-1.html
rename to editor/libeditor/base/crashtests/713427-1.html
rename from editor/libeditor/crashtests/713427-2.xhtml
rename to editor/libeditor/base/crashtests/713427-2.xhtml
rename from editor/libeditor/crashtests/762183.html
rename to editor/libeditor/base/crashtests/762183.html
rename from editor/libeditor/crashtests/766360.html
rename to editor/libeditor/base/crashtests/766360.html
rename from editor/libeditor/crashtests/766413.html
rename to editor/libeditor/base/crashtests/766413.html
rename from editor/libeditor/crashtests/766845.xhtml
rename to editor/libeditor/base/crashtests/766845.xhtml
rename from editor/libeditor/crashtests/768765.html
rename to editor/libeditor/base/crashtests/768765.html
rename from editor/libeditor/crashtests/771749.html
rename to editor/libeditor/base/crashtests/771749.html
rename from editor/libeditor/crashtests/772282.html
rename to editor/libeditor/base/crashtests/772282.html
rename from editor/libeditor/crashtests/776323.html
rename to editor/libeditor/base/crashtests/776323.html
rename from editor/libeditor/crashtests/crashtests.list
rename to editor/libeditor/base/crashtests/crashtests.list
new file mode 100644
--- /dev/null
+++ b/editor/libeditor/base/moz.build
@@ -0,0 +1,44 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+TEST_DIRS += ['tests']
+
+UNIFIED_SOURCES += [
+    'ChangeAttributeTxn.cpp',
+    'ChangeCSSInlineStyleTxn.cpp',
+    'CreateElementTxn.cpp',
+    'DeleteNodeTxn.cpp',
+    'DeleteRangeTxn.cpp',
+    'DeleteTextTxn.cpp',
+    'EditAggregateTxn.cpp',
+    'EditTxn.cpp',
+    'IMETextTxn.cpp',
+    'InsertElementTxn.cpp',
+    'InsertTextTxn.cpp',
+    'JoinElementTxn.cpp',
+    'nsEditor.cpp',
+    'nsEditorCommands.cpp',
+    'nsEditorController.cpp',
+    'nsEditorEventListener.cpp',
+    'nsEditorUtils.cpp',
+    'nsSelectionState.cpp',
+    'nsStyleSheetTxns.cpp',
+    'PlaceholderTxn.cpp',
+    'SetDocTitleTxn.cpp',
+    'SplitElementTxn.cpp',
+]
+
+FAIL_ON_WARNINGS = True
+
+LOCAL_INCLUDES += [
+    '../text',
+    '/content/base/src',
+    '/editor/txmgr/src',
+    '/extensions/spellcheck/src',
+    '/layout/style',
+]
+
+FINAL_LIBRARY = 'gklayout'
rename from editor/libeditor/nsEditProperty.h
rename to editor/libeditor/base/nsEditProperty.h
rename from editor/libeditor/nsEditPropertyAtomList.h
rename to editor/libeditor/base/nsEditPropertyAtomList.h
rename from editor/libeditor/nsEditRules.h
rename to editor/libeditor/base/nsEditRules.h
rename from editor/libeditor/nsEditor.cpp
rename to editor/libeditor/base/nsEditor.cpp
rename from editor/libeditor/nsEditor.h
rename to editor/libeditor/base/nsEditor.h
rename from editor/libeditor/nsEditorCommands.cpp
rename to editor/libeditor/base/nsEditorCommands.cpp
rename from editor/libeditor/nsEditorCommands.h
rename to editor/libeditor/base/nsEditorCommands.h
rename from editor/libeditor/nsEditorController.cpp
rename to editor/libeditor/base/nsEditorController.cpp
rename from editor/libeditor/nsEditorController.h
rename to editor/libeditor/base/nsEditorController.h
rename from editor/libeditor/nsEditorEventListener.cpp
rename to editor/libeditor/base/nsEditorEventListener.cpp
rename from editor/libeditor/nsEditorEventListener.h
rename to editor/libeditor/base/nsEditorEventListener.h
rename from editor/libeditor/nsEditorUtils.cpp
rename to editor/libeditor/base/nsEditorUtils.cpp
rename from editor/libeditor/nsEditorUtils.h
rename to editor/libeditor/base/nsEditorUtils.h
rename from editor/libeditor/nsIAbsorbingTransaction.h
rename to editor/libeditor/base/nsIAbsorbingTransaction.h
rename from editor/libeditor/nsSelectionState.cpp
rename to editor/libeditor/base/nsSelectionState.cpp
rename from editor/libeditor/nsSelectionState.h
rename to editor/libeditor/base/nsSelectionState.h
rename from editor/libeditor/nsStyleSheetTxns.cpp
rename to editor/libeditor/base/nsStyleSheetTxns.cpp
rename from editor/libeditor/nsStyleSheetTxns.h
rename to editor/libeditor/base/nsStyleSheetTxns.h
rename from editor/libeditor/tests/chrome.ini
rename to editor/libeditor/base/tests/chrome.ini
rename from editor/libeditor/tests/file_bug586662.html
rename to editor/libeditor/base/tests/file_bug586662.html
rename from editor/libeditor/tests/mochitest.ini
rename to editor/libeditor/base/tests/mochitest.ini
rename from editor/libeditor/tests/moz.build
rename to editor/libeditor/base/tests/moz.build
rename from editor/libeditor/tests/test_bug408231.html
rename to editor/libeditor/base/tests/test_bug408231.html
rename from editor/libeditor/tests/test_bug46555.html
rename to editor/libeditor/base/tests/test_bug46555.html
rename from editor/libeditor/tests/test_bug502673.html
rename to editor/libeditor/base/tests/test_bug502673.html
rename from editor/libeditor/tests/test_bug514156.html
rename to editor/libeditor/base/tests/test_bug514156.html
rename from editor/libeditor/tests/test_bug567213.html
rename to editor/libeditor/base/tests/test_bug567213.html
rename from editor/libeditor/tests/test_bug586662.html
rename to editor/libeditor/base/tests/test_bug586662.html
rename from editor/libeditor/tests/test_bug599983.html
rename to editor/libeditor/base/tests/test_bug599983.html
rename from editor/libeditor/tests/test_bug599983.xul
rename to editor/libeditor/base/tests/test_bug599983.xul
rename from editor/libeditor/tests/test_bug646194.xul
rename to editor/libeditor/base/tests/test_bug646194.xul
rename from editor/libeditor/tests/test_bug742261.html
rename to editor/libeditor/base/tests/test_bug742261.html
rename from editor/libeditor/tests/test_bug773262.html
rename to editor/libeditor/base/tests/test_bug773262.html
rename from editor/libeditor/tests/test_bug795785.html
rename to editor/libeditor/base/tests/test_bug795785.html
rename from editor/libeditor/tests/test_dragdrop.html
rename to editor/libeditor/base/tests/test_dragdrop.html
rename from editor/libeditor/tests/test_selection_move_commands.xul
rename to editor/libeditor/base/tests/test_selection_move_commands.xul
--- a/editor/libeditor/html/moz.build
+++ b/editor/libeditor/html/moz.build
@@ -24,19 +24,19 @@ UNIFIED_SOURCES += [
     'nsWSRunObject.cpp',
     'TextEditorTest.cpp',
     'TypeInState.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 LOCAL_INCLUDES += [
+    '../base',
+    '../text',
     '/content/base/src',
-    '/editor/libeditor',
-    '/editor/libeditor/text',
-    '/editor/txmgr',
+    '/editor/txmgr/src',
     '/layout/generic',
     '/layout/style',
     '/layout/tables',
     '/layout/xul',
 ]
 
 FINAL_LIBRARY = 'gklayout'
--- a/editor/libeditor/moz.build
+++ b/editor/libeditor/moz.build
@@ -1,45 +1,7 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-PARALLEL_DIRS += ['text', 'html']
-TEST_DIRS += ['tests']
-
-UNIFIED_SOURCES += [
-    'ChangeAttributeTxn.cpp',
-    'ChangeCSSInlineStyleTxn.cpp',
-    'CreateElementTxn.cpp',
-    'DeleteNodeTxn.cpp',
-    'DeleteRangeTxn.cpp',
-    'DeleteTextTxn.cpp',
-    'EditAggregateTxn.cpp',
-    'EditTxn.cpp',
-    'IMETextTxn.cpp',
-    'InsertElementTxn.cpp',
-    'InsertTextTxn.cpp',
-    'JoinElementTxn.cpp',
-    'nsEditor.cpp',
-    'nsEditorCommands.cpp',
-    'nsEditorController.cpp',
-    'nsEditorEventListener.cpp',
-    'nsEditorUtils.cpp',
-    'nsSelectionState.cpp',
-    'nsStyleSheetTxns.cpp',
-    'PlaceholderTxn.cpp',
-    'SetDocTitleTxn.cpp',
-    'SplitElementTxn.cpp',
-]
-
-FAIL_ON_WARNINGS = True
-
-LOCAL_INCLUDES += [
-    '/content/base/src',
-    '/editor/libeditor/text',
-    '/editor/txmgr',
-    '/extensions/spellcheck/src',
-    '/layout/style',
-]
-
-FINAL_LIBRARY = 'gklayout'
+PARALLEL_DIRS += ['base', 'text', 'html']
--- a/editor/libeditor/text/moz.build
+++ b/editor/libeditor/text/moz.build
@@ -11,18 +11,18 @@ UNIFIED_SOURCES += [
     'nsTextEditRules.cpp',
     'nsTextEditRulesBidi.cpp',
     'nsTextEditUtils.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 LOCAL_INCLUDES += [
+    '../base',
     '/content/base/src',
-    '/editor/libeditor',
-    '/editor/txmgr',
+    '/editor/txmgr/src',
 ]
 
 FINAL_LIBRARY = 'gklayout'
 
 MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
 
 MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini']
--- a/editor/moz.build
+++ b/editor/moz.build
@@ -1,43 +1,18 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 PARALLEL_DIRS += [
+    'public',
+    'idl',
     'txtsvc',
     'libeditor',
     'txmgr',
     'composer',
 ]
 
-XPIDL_SOURCES += [
-    'nsIContentFilter.idl',
-    'nsIDocumentStateListener.idl',
-    'nsIEditActionListener.idl',
-    'nsIEditor.idl',
-    'nsIEditorIMESupport.idl',
-    'nsIEditorMailSupport.idl',
-    'nsIEditorObserver.idl',
-    'nsIEditorSpellCheck.idl',
-    'nsIEditorStyleSheets.idl',
-    'nsIHTMLAbsPosEditor.idl',
-    'nsIHTMLEditor.idl',
-    'nsIHTMLInlineTableEditor.idl',
-    'nsIHTMLObjectResizeListener.idl',
-    'nsIHTMLObjectResizer.idl',
-    'nsIPlaintextEditor.idl',
-    'nsITableEditor.idl',
-    'nsIURIRefObject.idl',
-    'nsPIEditorTransaction.idl',
-]
-
-XPIDL_MODULE = 'editor'
-
-EXPORTS += [
-    'nsEditorCID.h',
-]
-
 EXTRA_JS_MODULES += [
     'AsyncSpellCheckTestHelper.jsm',
 ]
new file mode 100644
--- /dev/null
+++ b/editor/public/moz.build
@@ -0,0 +1,10 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+EXPORTS += [
+    'nsEditorCID.h',
+]
+
rename from editor/nsEditorCID.h
rename to editor/public/nsEditorCID.h
new file mode 100644
--- /dev/null
+++ b/editor/txmgr/idl/moz.build
@@ -0,0 +1,15 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+    'nsITransaction.idl',
+    'nsITransactionList.idl',
+    'nsITransactionListener.idl',
+    'nsITransactionManager.idl',
+]
+
+XPIDL_MODULE = 'txmgr'
+
rename from editor/txmgr/nsITransaction.idl
rename to editor/txmgr/idl/nsITransaction.idl
rename from editor/txmgr/nsITransactionList.idl
rename to editor/txmgr/idl/nsITransactionList.idl
rename from editor/txmgr/nsITransactionListener.idl
rename to editor/txmgr/idl/nsITransactionListener.idl
rename from editor/txmgr/nsITransactionManager.idl
rename to editor/txmgr/idl/nsITransactionManager.idl
--- a/editor/txmgr/moz.build
+++ b/editor/txmgr/moz.build
@@ -1,32 +1,9 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
+PARALLEL_DIRS += ['public', 'src', 'idl']
 TEST_TOOL_DIRS += ['tests']
 
-XPIDL_SOURCES += [
-    'nsITransaction.idl',
-    'nsITransactionList.idl',
-    'nsITransactionListener.idl',
-    'nsITransactionManager.idl',
-]
-
-XPIDL_MODULE = 'txmgr'
-
-EXPORTS += [
-    'nsTransactionManagerCID.h',
-]
-
-UNIFIED_SOURCES += [
-    'nsTransactionItem.cpp',
-    'nsTransactionList.cpp',
-    'nsTransactionManager.cpp',
-    'nsTransactionManagerFactory.cpp',
-    'nsTransactionStack.cpp',
-]
-
-FAIL_ON_WARNINGS = True
-
-FINAL_LIBRARY = 'xul'
new file mode 100644
--- /dev/null
+++ b/editor/txmgr/public/moz.build
@@ -0,0 +1,10 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+EXPORTS += [
+    'nsTransactionManagerCID.h',
+]
+
rename from editor/txmgr/nsTransactionManagerCID.h
rename to editor/txmgr/public/nsTransactionManagerCID.h
new file mode 100644
--- /dev/null
+++ b/editor/txmgr/src/moz.build
@@ -0,0 +1,17 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+UNIFIED_SOURCES += [
+    'nsTransactionItem.cpp',
+    'nsTransactionList.cpp',
+    'nsTransactionManager.cpp',
+    'nsTransactionManagerFactory.cpp',
+    'nsTransactionStack.cpp',
+]
+
+FAIL_ON_WARNINGS = True
+
+FINAL_LIBRARY = 'xul'
rename from editor/txmgr/nsTransactionItem.cpp
rename to editor/txmgr/src/nsTransactionItem.cpp
rename from editor/txmgr/nsTransactionItem.h
rename to editor/txmgr/src/nsTransactionItem.h
rename from editor/txmgr/nsTransactionList.cpp
rename to editor/txmgr/src/nsTransactionList.cpp
rename from editor/txmgr/nsTransactionList.h
rename to editor/txmgr/src/nsTransactionList.h
rename from editor/txmgr/nsTransactionManager.cpp
rename to editor/txmgr/src/nsTransactionManager.cpp
rename from editor/txmgr/nsTransactionManager.h
rename to editor/txmgr/src/nsTransactionManager.h
rename from editor/txmgr/nsTransactionManagerFactory.cpp
rename to editor/txmgr/src/nsTransactionManagerFactory.cpp
rename from editor/txmgr/nsTransactionStack.cpp
rename to editor/txmgr/src/nsTransactionStack.cpp
rename from editor/txmgr/nsTransactionStack.h
rename to editor/txmgr/src/nsTransactionStack.h
--- a/editor/txtsvc/moz.build
+++ b/editor/txtsvc/moz.build
@@ -1,28 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-XPIDL_SOURCES += [
-    'nsIInlineSpellChecker.idl',
-    'nsITextServicesFilter.idl',
-]
-
-XPIDL_MODULE = 'txtsvc'
+PARALLEL_DIRS += ['public', 'src']
 
-EXPORTS += [
-    'nsISpellChecker.h',
-    'nsITextService.h',
-    'nsITextServicesDocument.h',
-    'nsTextServicesCID.h',
-]
-
-UNIFIED_SOURCES += [
-    'nsFilteredContentIterator.cpp',
-    'nsTextServicesDocument.cpp',
-]
-
-FAIL_ON_WARNINGS = True
-
-FINAL_LIBRARY = 'gklayout'
new file mode 100644
--- /dev/null
+++ b/editor/txtsvc/public/moz.build
@@ -0,0 +1,20 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+XPIDL_SOURCES += [
+    'nsIInlineSpellChecker.idl',
+    'nsITextServicesFilter.idl',
+]
+
+XPIDL_MODULE = 'txtsvc'
+
+EXPORTS += [
+    'nsISpellChecker.h',
+    'nsITextService.h',
+    'nsITextServicesDocument.h',
+    'nsTextServicesCID.h',
+]
+
rename from editor/txtsvc/nsIInlineSpellChecker.idl
rename to editor/txtsvc/public/nsIInlineSpellChecker.idl
rename from editor/txtsvc/nsISpellChecker.h
rename to editor/txtsvc/public/nsISpellChecker.h
rename from editor/txtsvc/nsITextService.h
rename to editor/txtsvc/public/nsITextService.h
rename from editor/txtsvc/nsITextServicesDocument.h
rename to editor/txtsvc/public/nsITextServicesDocument.h
rename from editor/txtsvc/nsITextServicesFilter.idl
rename to editor/txtsvc/public/nsITextServicesFilter.idl
rename from editor/txtsvc/nsTextServicesCID.h
rename to editor/txtsvc/public/nsTextServicesCID.h
new file mode 100644
--- /dev/null
+++ b/editor/txtsvc/src/moz.build
@@ -0,0 +1,14 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+UNIFIED_SOURCES += [
+    'nsFilteredContentIterator.cpp',
+    'nsTextServicesDocument.cpp',
+]
+
+FAIL_ON_WARNINGS = True
+
+FINAL_LIBRARY = 'gklayout'
rename from editor/txtsvc/nsFilteredContentIterator.cpp
rename to editor/txtsvc/src/nsFilteredContentIterator.cpp
rename from editor/txtsvc/nsFilteredContentIterator.h
rename to editor/txtsvc/src/nsFilteredContentIterator.h
rename from editor/txtsvc/nsTSAtomList.h
rename to editor/txtsvc/src/nsTSAtomList.h
rename from editor/txtsvc/nsTextServicesDocument.cpp
rename to editor/txtsvc/src/nsTextServicesDocument.cpp
rename from editor/txtsvc/nsTextServicesDocument.h
rename to editor/txtsvc/src/nsTextServicesDocument.h
rename from editor/txtsvc/nsTextServicesFactory.cpp
rename to editor/txtsvc/src/nsTextServicesFactory.cpp
--- a/extensions/spellcheck/hunspell/src/moz.build
+++ b/extensions/spellcheck/hunspell/src/moz.build
@@ -29,14 +29,14 @@ if not CONFIG['MOZ_NATIVE_HUNSPELL']:
 
 FINAL_LIBRARY = 'spellchecker'
 
 LOCAL_INCLUDES += [
     '/extensions/spellcheck/src',
 ]
 
 LOCAL_INCLUDES += [
-    '/editor/libeditor',
+    '/editor/libeditor/base',
 ]
 
 # Suppress warnings in third-party code.
 if CONFIG['CLANG_CXX']:
     CXXFLAGS += ['-Wno-unused-private-field']
--- a/extensions/spellcheck/src/moz.build
+++ b/extensions/spellcheck/src/moz.build
@@ -17,10 +17,10 @@ UNIFIED_SOURCES += [
 
 LIBRARY_NAME = 'spellchecker'
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
     '../hunspell/src',
     '/content/base/src',
-    '/editor/libeditor',
+    '/editor/libeditor/base',
 ]
--- a/layout/build/moz.build
+++ b/layout/build/moz.build
@@ -61,22 +61,22 @@ LOCAL_INCLUDES += [
     '/dom/src/offline',
     '/dom/src/storage',
     '/dom/telephony',
     '/dom/xbl',
     '/dom/xslt/base',
     '/dom/xslt/xml',
     '/dom/xslt/xpath',
     '/dom/xslt/xslt',
-    '/editor/composer',
-    '/editor/libeditor',
+    '/editor/composer/src',
+    '/editor/libeditor/base',
     '/editor/libeditor/html',
     '/editor/libeditor/text',
-    '/editor/txmgr',
-    '/editor/txtsvc',
+    '/editor/txmgr/src',
+    '/editor/txtsvc/src',
     '/extensions/cookie',
     '/js/xpconnect/loader',
     '/js/xpconnect/src',
     '/netwerk/base/src',
     '/netwerk/cookie',
     '/view/src',
 ]
 
--- a/layout/forms/moz.build
+++ b/layout/forms/moz.build
@@ -40,19 +40,19 @@ FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 FINAL_LIBRARY = 'gklayout'
 
 LOCAL_INCLUDES += [
     '../../content/base/src',
     '../../content/html/content/src',
-    '../../editor/libeditor',
+    '../../editor/libeditor/base',
     '../../editor/libeditor/text',
-    '../../editor/txmgr',
+    '../../editor/txmgr/src',
     '../base',
     '../generic',
     '../xul',
 ]
 
 if CONFIG['ENABLE_INTL_API']:
     # nsNumberControlFrame.cpp requires ICUUtils.h which in turn requires
     # i18n/unum.h
--- a/toolkit/content/license.html
+++ b/toolkit/content/license.html
@@ -1936,17 +1936,17 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT
 
 
     <hr>
 
     <h1><a id="chromium"></a>Chromium License</h1>
 
     <p>This license applies to parts of the code in
       <span class="path">security/sandbox/</span>,
-      <span class="path">editor/libeditor/nsEditorEventListener.cpp</span>,
+      <span class="path">editor/libeditor/base/nsEditorEventListener.cpp</span>,
       <span class="path">widget/cocoa/GfxInfo.mm</span>
       and also some files in the directories
       <span class="path">ipc/chromium/</span>,
       <span class="path">dom/plugins/</span>,
       <span class="path">tools/profiler/sps/</span>,
       <span class="path">gfx/ots/</span>,
       <span class="path">gfx/ycbcr</span> and
       <span class="path">content/media/webspeech/recognition/</span>.
--- a/xpcom/string/moz.build
+++ b/xpcom/string/moz.build
@@ -1,63 +1,8 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
-EXPORTS += [
-    'nsAlgorithm.h',
-    'nsAString.h',
-    'nsCharTraits.h',
-    'nsDependentString.h',
-    'nsDependentSubstring.h',
-    'nsEmbedString.h',
-    'nsLiteralString.h',
-    'nsPrintfCString.h',
-    'nsPromiseFlatString.h',
-    'nsReadableUtils.h',
-    'nsString.h',
-    'nsStringBuffer.h',
-    'nsStringFwd.h',
-    'nsStringIterator.h',
-    'nsSubstring.h',
-    'nsSubstringTuple.h',
-    'nsTDependentString.h',
-    'nsTDependentSubstring.h',
-    'nsTLiteralString.h',
-    'nsTPromiseFlatString.h',
-    'nsTString.h',
-    'nsTSubstring.h',
-    'nsTSubstringTuple.h',
-    'nsUTF8Utils.h',
-    'nsXPCOMStrings.h',
-    'nsXPIDLString.h',
-    'string-template-def-char.h',
-    'string-template-def-unichar.h',
-    'string-template-undef.h',
-]
+DIRS += ['public', 'src']
 
-UNIFIED_SOURCES += [
-    'nsDependentString.cpp',
-    'nsDependentSubstring.cpp',
-    'nsPromiseFlatString.cpp',
-    'nsReadableUtils.cpp',
-    'nsString.cpp',
-    'nsStringComparator.cpp',
-    'nsStringObsolete.cpp',
-    'nsSubstring.cpp',
-    'nsSubstringTuple.cpp',
-]
-
-# Are we targeting x86 or x86-64?  If so, compile the SSE2 functions for
-# nsUTF8Utils.cpp.
-if CONFIG['INTEL_ARCHITECTURE']:
-    SOURCES += ['nsUTF8UtilsSSE2.cpp']
-    SOURCES['nsUTF8UtilsSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
-
-LOCAL_INCLUDES += [
-    '/mfbt/double-conversion',
-]
-
-MSVC_ENABLE_PGO = True
-
-FINAL_LIBRARY = 'xpcom_core'
new file mode 100644
--- /dev/null
+++ b/xpcom/string/public/moz.build
@@ -0,0 +1,37 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+EXPORTS += [
+    'nsAlgorithm.h',
+    'nsAString.h',
+    'nsCharTraits.h',
+    'nsDependentString.h',
+    'nsDependentSubstring.h',
+    'nsEmbedString.h',
+    'nsLiteralString.h',
+    'nsPrintfCString.h',
+    'nsPromiseFlatString.h',
+    'nsReadableUtils.h',
+    'nsString.h',
+    'nsStringBuffer.h',
+    'nsStringFwd.h',
+    'nsStringIterator.h',
+    'nsSubstring.h',
+    'nsSubstringTuple.h',
+    'nsTDependentString.h',
+    'nsTDependentSubstring.h',
+    'nsTLiteralString.h',
+    'nsTPromiseFlatString.h',
+    'nsTString.h',
+    'nsTSubstring.h',
+    'nsTSubstringTuple.h',
+    'nsUTF8Utils.h',
+    'nsXPCOMStrings.h',
+    'nsXPIDLString.h',
+    'string-template-def-char.h',
+    'string-template-def-unichar.h',
+    'string-template-undef.h',
+]
rename from xpcom/string/nsAString.h
rename to xpcom/string/public/nsAString.h
rename from xpcom/string/nsAlgorithm.h
rename to xpcom/string/public/nsAlgorithm.h
rename from xpcom/string/nsCharTraits.h
rename to xpcom/string/public/nsCharTraits.h
rename from xpcom/string/nsDependentString.h
rename to xpcom/string/public/nsDependentString.h
rename from xpcom/string/nsDependentSubstring.h
rename to xpcom/string/public/nsDependentSubstring.h
rename from xpcom/string/nsEmbedString.h
rename to xpcom/string/public/nsEmbedString.h
rename from xpcom/string/nsLiteralString.h
rename to xpcom/string/public/nsLiteralString.h
rename from xpcom/string/nsPrintfCString.h
rename to xpcom/string/public/nsPrintfCString.h
rename from xpcom/string/nsPromiseFlatString.h
rename to xpcom/string/public/nsPromiseFlatString.h
rename from xpcom/string/nsReadableUtils.h
rename to xpcom/string/public/nsReadableUtils.h
rename from xpcom/string/nsString.h
rename to xpcom/string/public/nsString.h
rename from xpcom/string/nsStringBuffer.h
rename to xpcom/string/public/nsStringBuffer.h
rename from xpcom/string/nsStringFwd.h
rename to xpcom/string/public/nsStringFwd.h
rename from xpcom/string/nsStringIterator.h
rename to xpcom/string/public/nsStringIterator.h
rename from xpcom/string/nsSubstring.h
rename to xpcom/string/public/nsSubstring.h
rename from xpcom/string/nsSubstringTuple.h
rename to xpcom/string/public/nsSubstringTuple.h
rename from xpcom/string/nsTDependentString.h
rename to xpcom/string/public/nsTDependentString.h
rename from xpcom/string/nsTDependentSubstring.h
rename to xpcom/string/public/nsTDependentSubstring.h
rename from xpcom/string/nsTLiteralString.h
rename to xpcom/string/public/nsTLiteralString.h
rename from xpcom/string/nsTPromiseFlatString.h
rename to xpcom/string/public/nsTPromiseFlatString.h
rename from xpcom/string/nsTString.h
rename to xpcom/string/public/nsTString.h
rename from xpcom/string/nsTSubstring.h
rename to xpcom/string/public/nsTSubstring.h
rename from xpcom/string/nsTSubstringTuple.h
rename to xpcom/string/public/nsTSubstringTuple.h
rename from xpcom/string/nsUTF8Utils.h
rename to xpcom/string/public/nsUTF8Utils.h
rename from xpcom/string/nsXPCOMStrings.h
rename to xpcom/string/public/nsXPCOMStrings.h
rename from xpcom/string/nsXPIDLString.h
rename to xpcom/string/public/nsXPIDLString.h
rename from xpcom/string/string-template-def-char.h
rename to xpcom/string/public/string-template-def-char.h
rename from xpcom/string/string-template-def-unichar.h
rename to xpcom/string/public/string-template-def-unichar.h
rename from xpcom/string/string-template-undef.h
rename to xpcom/string/public/string-template-undef.h
new file mode 100644
--- /dev/null
+++ b/xpcom/string/src/moz.build
@@ -0,0 +1,31 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+UNIFIED_SOURCES += [
+    'nsDependentString.cpp',
+    'nsDependentSubstring.cpp',
+    'nsPromiseFlatString.cpp',
+    'nsReadableUtils.cpp',
+    'nsString.cpp',
+    'nsStringComparator.cpp',
+    'nsStringObsolete.cpp',
+    'nsSubstring.cpp',
+    'nsSubstringTuple.cpp',
+]
+
+# Are we targeting x86 or x86-64?  If so, compile the SSE2 functions for
+# nsUTF8Utils.cpp.
+if CONFIG['INTEL_ARCHITECTURE']:
+    SOURCES += ['nsUTF8UtilsSSE2.cpp']
+    SOURCES['nsUTF8UtilsSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+
+LOCAL_INCLUDES += [
+    '/mfbt/double-conversion',
+]
+
+MSVC_ENABLE_PGO = True
+
+FINAL_LIBRARY = 'xpcom_core'
rename from xpcom/string/nsDependentString.cpp
rename to xpcom/string/src/nsDependentString.cpp
rename from xpcom/string/nsDependentSubstring.cpp
rename to xpcom/string/src/nsDependentSubstring.cpp
rename from xpcom/string/nsPromiseFlatString.cpp
rename to xpcom/string/src/nsPromiseFlatString.cpp
rename from xpcom/string/nsReadableUtils.cpp
rename to xpcom/string/src/nsReadableUtils.cpp
rename from xpcom/string/nsString.cpp
rename to xpcom/string/src/nsString.cpp
rename from xpcom/string/nsStringComparator.cpp
rename to xpcom/string/src/nsStringComparator.cpp
rename from xpcom/string/nsStringObsolete.cpp
rename to xpcom/string/src/nsStringObsolete.cpp
rename from xpcom/string/nsSubstring.cpp
rename to xpcom/string/src/nsSubstring.cpp
rename from xpcom/string/nsSubstringTuple.cpp
rename to xpcom/string/src/nsSubstringTuple.cpp
rename from xpcom/string/nsTDependentString.cpp
rename to xpcom/string/src/nsTDependentString.cpp
rename from xpcom/string/nsTDependentSubstring.cpp
rename to xpcom/string/src/nsTDependentSubstring.cpp
rename from xpcom/string/nsTPromiseFlatString.cpp
rename to xpcom/string/src/nsTPromiseFlatString.cpp
rename from xpcom/string/nsTString.cpp
rename to xpcom/string/src/nsTString.cpp
rename from xpcom/string/nsTStringComparator.cpp
rename to xpcom/string/src/nsTStringComparator.cpp
rename from xpcom/string/nsTStringObsolete.cpp
rename to xpcom/string/src/nsTStringObsolete.cpp
rename from xpcom/string/nsTSubstring.cpp
rename to xpcom/string/src/nsTSubstring.cpp
rename from xpcom/string/nsTSubstringTuple.cpp
rename to xpcom/string/src/nsTSubstringTuple.cpp
rename from xpcom/string/nsUTF8UtilsSSE2.cpp
rename to xpcom/string/src/nsUTF8UtilsSSE2.cpp