mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
731dbac067
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
183 lines
5.5 KiB
C++
183 lines
5.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/. */
|
|
|
|
#include "SetDocTitleTxn.h"
|
|
#include "mozilla/dom/Element.h" // for Element
|
|
#include "nsAString.h"
|
|
#include "nsCOMPtr.h" // for nsCOMPtr, getter_AddRefs, etc
|
|
#include "nsDebug.h" // for NS_ENSURE_SUCCESS, etc
|
|
#include "nsError.h" // for NS_OK, NS_ERROR_FAILURE, etc
|
|
#include "nsIDOMCharacterData.h" // for nsIDOMCharacterData
|
|
#include "nsIDOMDocument.h" // for nsIDOMDocument
|
|
#include "nsIDOMElement.h" // for nsIDOMElement
|
|
#include "nsIDOMNode.h" // for nsIDOMNode
|
|
#include "nsIDOMNodeList.h" // for nsIDOMNodeList
|
|
#include "nsIDOMText.h" // for nsIDOMText
|
|
#include "nsIDocument.h" // for nsIDocument
|
|
#include "nsIEditor.h" // for nsIEditor
|
|
#include "nsIHTMLEditor.h" // for nsIHTMLEditor
|
|
#include "nsLiteralString.h" // for NS_LITERAL_STRING
|
|
|
|
using namespace mozilla;
|
|
|
|
// note that aEditor is not refcounted
|
|
SetDocTitleTxn::SetDocTitleTxn()
|
|
: EditTxn()
|
|
, mIsTransient(false)
|
|
{
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::Init(nsIHTMLEditor *aEditor,
|
|
const nsAString *aValue)
|
|
|
|
{
|
|
NS_ASSERTION(aEditor && aValue, "null args");
|
|
if (!aEditor || !aValue) { return NS_ERROR_NULL_POINTER; }
|
|
|
|
mEditor = aEditor;
|
|
mValue = *aValue;
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::DoTransaction(void)
|
|
{
|
|
return SetDomTitle(mValue);
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::UndoTransaction(void)
|
|
{
|
|
// No extra work required; the DOM changes alone are enough
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::RedoTransaction(void)
|
|
{
|
|
// No extra work required; the DOM changes alone are enough
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult SetDocTitleTxn::SetDomTitle(const nsAString& aTitle)
|
|
{
|
|
nsCOMPtr<nsIEditor> editor = do_QueryInterface(mEditor);
|
|
NS_ENSURE_TRUE(editor, NS_ERROR_FAILURE);
|
|
nsCOMPtr<nsIDOMDocument> domDoc;
|
|
nsresult res = editor->GetDocument(getter_AddRefs(domDoc));
|
|
NS_ENSURE_TRUE(domDoc, NS_ERROR_FAILURE);
|
|
|
|
nsCOMPtr<nsIDOMNodeList> titleList;
|
|
res = domDoc->GetElementsByTagName(NS_LITERAL_STRING("title"), getter_AddRefs(titleList));
|
|
NS_ENSURE_SUCCESS(res, res);
|
|
|
|
// First assume we will NOT really do anything
|
|
// (transaction will not be pushed on stack)
|
|
mIsTransient = true;
|
|
|
|
nsCOMPtr<nsIDOMNode>titleNode;
|
|
if(titleList)
|
|
{
|
|
res = titleList->Item(0, getter_AddRefs(titleNode));
|
|
NS_ENSURE_SUCCESS(res, res);
|
|
if (titleNode)
|
|
{
|
|
// Delete existing child textnode of title node
|
|
// (Note: all contents under a TITLE node are always in a single text node)
|
|
nsCOMPtr<nsIDOMNode> child;
|
|
res = titleNode->GetFirstChild(getter_AddRefs(child));
|
|
if(NS_FAILED(res)) return res;
|
|
if(child)
|
|
{
|
|
// Save current text as the undo value
|
|
nsCOMPtr<nsIDOMCharacterData> textNode = do_QueryInterface(child);
|
|
if(textNode)
|
|
{
|
|
textNode->GetData(mUndoValue);
|
|
|
|
// If title text is identical to what already exists,
|
|
// quit now (mIsTransient is now TRUE)
|
|
if (mUndoValue == aTitle)
|
|
return NS_OK;
|
|
}
|
|
res = editor->DeleteNode(child);
|
|
if(NS_FAILED(res)) return res;
|
|
}
|
|
}
|
|
}
|
|
|
|
// We didn't return above, thus we really will be changing the title
|
|
mIsTransient = false;
|
|
|
|
// Get the <HEAD> node, create a <TITLE> and insert it under the HEAD
|
|
nsCOMPtr<nsIDocument> document = do_QueryInterface(domDoc);
|
|
NS_ENSURE_STATE(document);
|
|
|
|
dom::Element* head = document->GetHeadElement();
|
|
NS_ENSURE_STATE(head);
|
|
|
|
bool newTitleNode = false;
|
|
uint32_t newTitleIndex = 0;
|
|
|
|
if (!titleNode)
|
|
{
|
|
// Didn't find one above: Create a new one
|
|
nsCOMPtr<nsIDOMElement>titleElement;
|
|
res = domDoc->CreateElement(NS_LITERAL_STRING("title"), getter_AddRefs(titleElement));
|
|
NS_ENSURE_SUCCESS(res, res);
|
|
NS_ENSURE_TRUE(titleElement, NS_ERROR_FAILURE);
|
|
|
|
titleNode = do_QueryInterface(titleElement);
|
|
newTitleNode = true;
|
|
|
|
// Get index so we append new title node after all existing HEAD children.
|
|
newTitleIndex = head->GetChildCount();
|
|
}
|
|
|
|
// Append a text node under the TITLE
|
|
// only if the title text isn't empty
|
|
if (titleNode && !aTitle.IsEmpty())
|
|
{
|
|
nsCOMPtr<nsIDOMText> textNode;
|
|
res = domDoc->CreateTextNode(aTitle, getter_AddRefs(textNode));
|
|
NS_ENSURE_SUCCESS(res, res);
|
|
nsCOMPtr<nsIDOMNode> newNode = do_QueryInterface(textNode);
|
|
NS_ENSURE_TRUE(newNode, NS_ERROR_FAILURE);
|
|
|
|
if (newTitleNode)
|
|
{
|
|
// Not undoable: We will insert newTitleNode below
|
|
nsCOMPtr<nsIDOMNode> resultNode;
|
|
res = titleNode->AppendChild(newNode, getter_AddRefs(resultNode));
|
|
}
|
|
else
|
|
{
|
|
// This is an undoable transaction
|
|
res = editor->InsertNode(newNode, titleNode, 0);
|
|
}
|
|
NS_ENSURE_SUCCESS(res, res);
|
|
}
|
|
|
|
if (newTitleNode)
|
|
{
|
|
// Undoable transaction to insert title+text together
|
|
res = editor->InsertNode(titleNode, head->AsDOMNode(), newTitleIndex);
|
|
}
|
|
return res;
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::GetTxnDescription(nsAString& aString)
|
|
{
|
|
aString.AssignLiteral("SetDocTitleTxn: ");
|
|
aString += mValue;
|
|
return NS_OK;
|
|
}
|
|
|
|
NS_IMETHODIMP SetDocTitleTxn::GetIsTransient(bool *aIsTransient)
|
|
{
|
|
NS_ENSURE_TRUE(aIsTransient, NS_ERROR_NULL_POINTER);
|
|
*aIsTransient = mIsTransient;
|
|
return NS_OK;
|
|
}
|
|
|