gecko/editor/libeditor/nsHTMLInlineTableEditor.cpp
Ehsan Akhgari 56a7c31718 Bug 1055105 - Flatten editor/libeditor/html to editor/libeditor; r=poiru
--HG--
rename : editor/libeditor/html/TextEditorTest.cpp => editor/libeditor/TextEditorTest.cpp
rename : editor/libeditor/html/TextEditorTest.h => editor/libeditor/TextEditorTest.h
rename : editor/libeditor/html/TypeInState.cpp => editor/libeditor/TypeInState.cpp
rename : editor/libeditor/html/TypeInState.h => editor/libeditor/TypeInState.h
rename : editor/libeditor/html/crashtests/336081-1.xhtml => editor/libeditor/crashtests/336081-1.xhtml
rename : editor/libeditor/html/crashtests/382778-1.html => editor/libeditor/crashtests/382778-1.html
rename : editor/libeditor/html/crashtests/407074-1.html => editor/libeditor/crashtests/407074-1.html
rename : editor/libeditor/html/crashtests/407277-1.html => editor/libeditor/crashtests/407277-1.html
rename : editor/libeditor/html/crashtests/414178-1.html => editor/libeditor/crashtests/414178-1.html
rename : editor/libeditor/html/crashtests/418923-1.html => editor/libeditor/crashtests/418923-1.html
rename : editor/libeditor/html/crashtests/420439.html => editor/libeditor/crashtests/420439.html
rename : editor/libeditor/html/crashtests/428489-1.html => editor/libeditor/crashtests/428489-1.html
rename : editor/libeditor/html/crashtests/431086-1.xhtml => editor/libeditor/crashtests/431086-1.xhtml
rename : editor/libeditor/html/crashtests/448329-1.html => editor/libeditor/crashtests/448329-1.html
rename : editor/libeditor/html/crashtests/448329-2.html => editor/libeditor/crashtests/448329-2.html
rename : editor/libeditor/html/crashtests/448329-3.html => editor/libeditor/crashtests/448329-3.html
rename : editor/libeditor/html/crashtests/456727-1.html => editor/libeditor/crashtests/456727-1.html
rename : editor/libeditor/html/crashtests/456727-2.html => editor/libeditor/crashtests/456727-2.html
rename : editor/libeditor/html/crashtests/467647-1.html => editor/libeditor/crashtests/467647-1.html
rename : editor/libeditor/html/crashtests/499844-1.html => editor/libeditor/crashtests/499844-1.html
rename : editor/libeditor/html/crashtests/503709-1.xhtml => editor/libeditor/crashtests/503709-1.xhtml
rename : editor/libeditor/html/crashtests/513375-1.xhtml => editor/libeditor/crashtests/513375-1.xhtml
rename : editor/libeditor/html/crashtests/535632-1.xhtml => editor/libeditor/crashtests/535632-1.xhtml
rename : editor/libeditor/html/crashtests/574558-1.xhtml => editor/libeditor/crashtests/574558-1.xhtml
rename : editor/libeditor/html/crashtests/582138-1.xhtml => editor/libeditor/crashtests/582138-1.xhtml
rename : editor/libeditor/html/crashtests/612565-1.html => editor/libeditor/crashtests/612565-1.html
rename : editor/libeditor/html/crashtests/615015-1.html => editor/libeditor/crashtests/615015-1.html
rename : editor/libeditor/html/crashtests/615450-1.html => editor/libeditor/crashtests/615450-1.html
rename : editor/libeditor/html/crashtests/639736-1.xhtml => editor/libeditor/crashtests/639736-1.xhtml
rename : editor/libeditor/html/crashtests/643786-1.html => editor/libeditor/crashtests/643786-1.html
rename : editor/libeditor/html/crashtests/682650-1.html => editor/libeditor/crashtests/682650-1.html
rename : editor/libeditor/html/crashtests/716456-1.html => editor/libeditor/crashtests/716456-1.html
rename : editor/libeditor/html/crashtests/759748.html => editor/libeditor/crashtests/759748.html
rename : editor/libeditor/html/crashtests/761861.html => editor/libeditor/crashtests/761861.html
rename : editor/libeditor/html/crashtests/766305.html => editor/libeditor/crashtests/766305.html
rename : editor/libeditor/html/crashtests/766387.html => editor/libeditor/crashtests/766387.html
rename : editor/libeditor/html/crashtests/766795.html => editor/libeditor/crashtests/766795.html
rename : editor/libeditor/html/crashtests/767169.html => editor/libeditor/crashtests/767169.html
rename : editor/libeditor/html/crashtests/768748.html => editor/libeditor/crashtests/768748.html
rename : editor/libeditor/html/crashtests/769008-1.html => editor/libeditor/crashtests/769008-1.html
rename : editor/libeditor/html/crashtests/769967.xhtml => editor/libeditor/crashtests/769967.xhtml
rename : editor/libeditor/html/crashtests/793866.html => editor/libeditor/crashtests/793866.html
rename : editor/libeditor/html/nsEditProperty.cpp => editor/libeditor/nsEditProperty.cpp
rename : editor/libeditor/html/nsHTMLAbsPosition.cpp => editor/libeditor/nsHTMLAbsPosition.cpp
rename : editor/libeditor/html/nsHTMLAnonymousUtils.cpp => editor/libeditor/nsHTMLAnonymousUtils.cpp
rename : editor/libeditor/html/nsHTMLCSSUtils.cpp => editor/libeditor/nsHTMLCSSUtils.cpp
rename : editor/libeditor/html/nsHTMLCSSUtils.h => editor/libeditor/nsHTMLCSSUtils.h
rename : editor/libeditor/html/nsHTMLDataTransfer.cpp => editor/libeditor/nsHTMLDataTransfer.cpp
rename : editor/libeditor/html/nsHTMLEditRules.cpp => editor/libeditor/nsHTMLEditRules.cpp
rename : editor/libeditor/html/nsHTMLEditRules.h => editor/libeditor/nsHTMLEditRules.h
rename : editor/libeditor/html/nsHTMLEditUtils.cpp => editor/libeditor/nsHTMLEditUtils.cpp
rename : editor/libeditor/html/nsHTMLEditUtils.h => editor/libeditor/nsHTMLEditUtils.h
rename : editor/libeditor/html/nsHTMLEditor.cpp => editor/libeditor/nsHTMLEditor.cpp
rename : editor/libeditor/html/nsHTMLEditor.h => editor/libeditor/nsHTMLEditor.h
rename : editor/libeditor/html/nsHTMLEditorEventListener.cpp => editor/libeditor/nsHTMLEditorEventListener.cpp
rename : editor/libeditor/html/nsHTMLEditorEventListener.h => editor/libeditor/nsHTMLEditorEventListener.h
rename : editor/libeditor/html/nsHTMLEditorStyle.cpp => editor/libeditor/nsHTMLEditorStyle.cpp
rename : editor/libeditor/html/nsHTMLInlineTableEditor.cpp => editor/libeditor/nsHTMLInlineTableEditor.cpp
rename : editor/libeditor/html/nsHTMLObjectResizer.cpp => editor/libeditor/nsHTMLObjectResizer.cpp
rename : editor/libeditor/html/nsHTMLObjectResizer.h => editor/libeditor/nsHTMLObjectResizer.h
rename : editor/libeditor/html/nsHTMLURIRefObject.cpp => editor/libeditor/nsHTMLURIRefObject.cpp
rename : editor/libeditor/html/nsHTMLURIRefObject.h => editor/libeditor/nsHTMLURIRefObject.h
rename : editor/libeditor/html/nsTableEditor.cpp => editor/libeditor/nsTableEditor.cpp
rename : editor/libeditor/html/nsWSRunObject.cpp => editor/libeditor/nsWSRunObject.cpp
rename : editor/libeditor/html/nsWSRunObject.h => editor/libeditor/nsWSRunObject.h
rename : editor/libeditor/html/tests/browserscope/lib/richtext/LICENSE => editor/libeditor/tests/browserscope/lib/richtext/LICENSE
rename : editor/libeditor/html/tests/browserscope/lib/richtext/README => editor/libeditor/tests/browserscope/lib/richtext/README
rename : editor/libeditor/html/tests/browserscope/lib/richtext/README.Mozilla => editor/libeditor/tests/browserscope/lib/richtext/README.Mozilla
rename : editor/libeditor/html/tests/browserscope/lib/richtext/currentStatus.js => editor/libeditor/tests/browserscope/lib/richtext/currentStatus.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext/current_revision => editor/libeditor/tests/browserscope/lib/richtext/current_revision
rename : editor/libeditor/html/tests/browserscope/lib/richtext/richtext/editable.html => editor/libeditor/tests/browserscope/lib/richtext/richtext/editable.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext/richtext/js/range.js => editor/libeditor/tests/browserscope/lib/richtext/richtext/js/range.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext/richtext/richtext.html => editor/libeditor/tests/browserscope/lib/richtext/richtext/richtext.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext/update_from_upstream => editor/libeditor/tests/browserscope/lib/richtext/update_from_upstream
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/LICENSE => editor/libeditor/tests/browserscope/lib/richtext2/LICENSE
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/README => editor/libeditor/tests/browserscope/lib/richtext2/README
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/README.Mozilla => editor/libeditor/tests/browserscope/lib/richtext2/README.Mozilla
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/currentStatus.js => editor/libeditor/tests/browserscope/lib/richtext2/currentStatus.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/current_revision => editor/libeditor/tests/browserscope/lib/richtext2/current_revision
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/__init__.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/__init__.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/common.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/common.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/handlers.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/handlers.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/common.css => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/common.css
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/editable-body.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/editable-body.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/editable-dM.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/editable-dM.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/editable-div.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/editable-div.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/editable.css => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/editable.css
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/canonicalize.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/canonicalize.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/compare.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/compare.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/output.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/output.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/pad.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/pad.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/range-bootstrap.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/range-bootstrap.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/range.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/range.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/run.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/run.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/units.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/units.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/static/js/variables.js => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/static/js/variables.js
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/templates/output.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/templates/output.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/templates/richtext2.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/templates/richtext2.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/__init__.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/__init__.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/apply.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/apply.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/applyCSS.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/applyCSS.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/change.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/change.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/changeCSS.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/changeCSS.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/delete.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/delete.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/forwarddelete.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/forwarddelete.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/insert.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/insert.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/queryEnabled.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/queryEnabled.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/queryIndeterm.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/queryIndeterm.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/queryState.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/queryState.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/querySupported.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/querySupported.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/queryValue.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/queryValue.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/selection.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/selection.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/unapply.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/unapply.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/tests/unapplyCSS.py => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/tests/unapplyCSS.py
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/richtext2/unittestexample.html => editor/libeditor/tests/browserscope/lib/richtext2/richtext2/unittestexample.html
rename : editor/libeditor/html/tests/browserscope/lib/richtext2/update_from_upstream => editor/libeditor/tests/browserscope/lib/richtext2/update_from_upstream
rename : editor/libeditor/html/tests/browserscope/mochitest.ini => editor/libeditor/tests/browserscope/mochitest.ini
rename : editor/libeditor/html/tests/browserscope/test_richtext.html => editor/libeditor/tests/browserscope/test_richtext.html
rename : editor/libeditor/html/tests/browserscope/test_richtext2.html => editor/libeditor/tests/browserscope/test_richtext2.html
rename : editor/libeditor/html/tests/data/cfhtml-chromium.txt => editor/libeditor/tests/data/cfhtml-chromium.txt
rename : editor/libeditor/html/tests/data/cfhtml-firefox.txt => editor/libeditor/tests/data/cfhtml-firefox.txt
rename : editor/libeditor/html/tests/data/cfhtml-ie.txt => editor/libeditor/tests/data/cfhtml-ie.txt
rename : editor/libeditor/html/tests/data/cfhtml-nocontext.txt => editor/libeditor/tests/data/cfhtml-nocontext.txt
rename : editor/libeditor/html/tests/data/cfhtml-ooo.txt => editor/libeditor/tests/data/cfhtml-ooo.txt
rename : editor/libeditor/html/tests/file_bug549262.html => editor/libeditor/tests/file_bug549262.html
rename : editor/libeditor/html/tests/file_bug674770-1.html => editor/libeditor/tests/file_bug674770-1.html
rename : editor/libeditor/html/tests/file_select_all_without_body.html => editor/libeditor/tests/file_select_all_without_body.html
rename : editor/libeditor/html/tests/green.png => editor/libeditor/tests/green.png
rename : editor/libeditor/html/tests/test_CF_HTML_clipboard.html => editor/libeditor/tests/test_CF_HTML_clipboard.html
rename : editor/libeditor/html/tests/test_bug200416.html => editor/libeditor/tests/test_bug200416.html
rename : editor/libeditor/html/tests/test_bug289384.html => editor/libeditor/tests/test_bug289384.html
rename : editor/libeditor/html/tests/test_bug290026.html => editor/libeditor/tests/test_bug290026.html
rename : editor/libeditor/html/tests/test_bug291780.html => editor/libeditor/tests/test_bug291780.html
rename : editor/libeditor/html/tests/test_bug316447.html => editor/libeditor/tests/test_bug316447.html
rename : editor/libeditor/html/tests/test_bug332636.html => editor/libeditor/tests/test_bug332636.html
rename : editor/libeditor/html/tests/test_bug332636.html^headers^ => editor/libeditor/tests/test_bug332636.html^headers^
rename : editor/libeditor/html/tests/test_bug366682.html => editor/libeditor/tests/test_bug366682.html
rename : editor/libeditor/html/tests/test_bug372345.html => editor/libeditor/tests/test_bug372345.html
rename : editor/libeditor/html/tests/test_bug404320.html => editor/libeditor/tests/test_bug404320.html
rename : editor/libeditor/html/tests/test_bug410986.html => editor/libeditor/tests/test_bug410986.html
rename : editor/libeditor/html/tests/test_bug414526.html => editor/libeditor/tests/test_bug414526.html
rename : editor/libeditor/html/tests/test_bug417418.html => editor/libeditor/tests/test_bug417418.html
rename : editor/libeditor/html/tests/test_bug432225.html => editor/libeditor/tests/test_bug432225.html
rename : editor/libeditor/html/tests/test_bug439808.html => editor/libeditor/tests/test_bug439808.html
rename : editor/libeditor/html/tests/test_bug442186.html => editor/libeditor/tests/test_bug442186.html
rename : editor/libeditor/html/tests/test_bug449243.html => editor/libeditor/tests/test_bug449243.html
rename : editor/libeditor/html/tests/test_bug455992.html => editor/libeditor/tests/test_bug455992.html
rename : editor/libeditor/html/tests/test_bug456244.html => editor/libeditor/tests/test_bug456244.html
rename : editor/libeditor/html/tests/test_bug460740.html => editor/libeditor/tests/test_bug460740.html
rename : editor/libeditor/html/tests/test_bug468353.html => editor/libeditor/tests/test_bug468353.html
rename : editor/libeditor/html/tests/test_bug478725.html => editor/libeditor/tests/test_bug478725.html
rename : editor/libeditor/html/tests/test_bug480647.html => editor/libeditor/tests/test_bug480647.html
rename : editor/libeditor/html/tests/test_bug480972.html => editor/libeditor/tests/test_bug480972.html
rename : editor/libeditor/html/tests/test_bug484181.html => editor/libeditor/tests/test_bug484181.html
rename : editor/libeditor/html/tests/test_bug487524.html => editor/libeditor/tests/test_bug487524.html
rename : editor/libeditor/html/tests/test_bug489202.xul => editor/libeditor/tests/test_bug489202.xul
rename : editor/libeditor/html/tests/test_bug490879.xul => editor/libeditor/tests/test_bug490879.xul
rename : editor/libeditor/html/tests/test_bug520189.html => editor/libeditor/tests/test_bug520189.html
rename : editor/libeditor/html/tests/test_bug525389.html => editor/libeditor/tests/test_bug525389.html
rename : editor/libeditor/html/tests/test_bug537046.html => editor/libeditor/tests/test_bug537046.html
rename : editor/libeditor/html/tests/test_bug549262.html => editor/libeditor/tests/test_bug549262.html
rename : editor/libeditor/html/tests/test_bug550434.html => editor/libeditor/tests/test_bug550434.html
rename : editor/libeditor/html/tests/test_bug551704.html => editor/libeditor/tests/test_bug551704.html
rename : editor/libeditor/html/tests/test_bug552782.html => editor/libeditor/tests/test_bug552782.html
rename : editor/libeditor/html/tests/test_bug570144.html => editor/libeditor/tests/test_bug570144.html
rename : editor/libeditor/html/tests/test_bug578771.html => editor/libeditor/tests/test_bug578771.html
rename : editor/libeditor/html/tests/test_bug587461.html => editor/libeditor/tests/test_bug587461.html
rename : editor/libeditor/html/tests/test_bug592592.html => editor/libeditor/tests/test_bug592592.html
rename : editor/libeditor/html/tests/test_bug597784.html => editor/libeditor/tests/test_bug597784.html
rename : editor/libeditor/html/tests/test_bug599322.html => editor/libeditor/tests/test_bug599322.html
rename : editor/libeditor/html/tests/test_bug607584.html => editor/libeditor/tests/test_bug607584.html
rename : editor/libeditor/html/tests/test_bug607584.xul => editor/libeditor/tests/test_bug607584.xul
rename : editor/libeditor/html/tests/test_bug611182.html => editor/libeditor/tests/test_bug611182.html
rename : editor/libeditor/html/tests/test_bug612128.html => editor/libeditor/tests/test_bug612128.html
rename : editor/libeditor/html/tests/test_bug612447.html => editor/libeditor/tests/test_bug612447.html
rename : editor/libeditor/html/tests/test_bug616590.xul => editor/libeditor/tests/test_bug616590.xul
rename : editor/libeditor/html/tests/test_bug620906.html => editor/libeditor/tests/test_bug620906.html
rename : editor/libeditor/html/tests/test_bug622371.html => editor/libeditor/tests/test_bug622371.html
rename : editor/libeditor/html/tests/test_bug629845.html => editor/libeditor/tests/test_bug629845.html
rename : editor/libeditor/html/tests/test_bug635636.html => editor/libeditor/tests/test_bug635636.html
rename : editor/libeditor/html/tests/test_bug640321.html => editor/libeditor/tests/test_bug640321.html
rename : editor/libeditor/html/tests/test_bug668599.html => editor/libeditor/tests/test_bug668599.html
rename : editor/libeditor/html/tests/test_bug674770-1.html => editor/libeditor/tests/test_bug674770-1.html
rename : editor/libeditor/html/tests/test_bug674770-2.html => editor/libeditor/tests/test_bug674770-2.html
rename : editor/libeditor/html/tests/test_bug674861.html => editor/libeditor/tests/test_bug674861.html
rename : editor/libeditor/html/tests/test_bug676401.html => editor/libeditor/tests/test_bug676401.html
rename : editor/libeditor/html/tests/test_bug677752.html => editor/libeditor/tests/test_bug677752.html
rename : editor/libeditor/html/tests/test_bug686203.html => editor/libeditor/tests/test_bug686203.html
rename : editor/libeditor/html/tests/test_bug697842.html => editor/libeditor/tests/test_bug697842.html
rename : editor/libeditor/html/tests/test_bug725069.html => editor/libeditor/tests/test_bug725069.html
rename : editor/libeditor/html/tests/test_bug735059.html => editor/libeditor/tests/test_bug735059.html
rename : editor/libeditor/html/tests/test_bug738366.html => editor/libeditor/tests/test_bug738366.html
rename : editor/libeditor/html/tests/test_bug757371.html => editor/libeditor/tests/test_bug757371.html
rename : editor/libeditor/html/tests/test_bug767684.html => editor/libeditor/tests/test_bug767684.html
rename : editor/libeditor/html/tests/test_bug780035.html => editor/libeditor/tests/test_bug780035.html
rename : editor/libeditor/html/tests/test_bug780908.xul => editor/libeditor/tests/test_bug780908.xul
rename : editor/libeditor/html/tests/test_bug787432.html => editor/libeditor/tests/test_bug787432.html
rename : editor/libeditor/html/tests/test_bug790475.html => editor/libeditor/tests/test_bug790475.html
rename : editor/libeditor/html/tests/test_bug796839.html => editor/libeditor/tests/test_bug796839.html
rename : editor/libeditor/html/tests/test_bug832025.html => editor/libeditor/tests/test_bug832025.html
rename : editor/libeditor/html/tests/test_bug857487.html => editor/libeditor/tests/test_bug857487.html
rename : editor/libeditor/html/tests/test_bug966155.html => editor/libeditor/tests/test_bug966155.html
rename : editor/libeditor/html/tests/test_bug966552.html => editor/libeditor/tests/test_bug966552.html
rename : editor/libeditor/html/tests/test_bug998188.html => editor/libeditor/tests/test_bug998188.html
rename : editor/libeditor/html/tests/test_contenteditable_focus.html => editor/libeditor/tests/test_contenteditable_focus.html
rename : editor/libeditor/html/tests/test_contenteditable_text_input_handling.html => editor/libeditor/tests/test_contenteditable_text_input_handling.html
rename : editor/libeditor/html/tests/test_dom_input_event_on_htmleditor.html => editor/libeditor/tests/test_dom_input_event_on_htmleditor.html
rename : editor/libeditor/html/tests/test_htmleditor_keyevent_handling.html => editor/libeditor/tests/test_htmleditor_keyevent_handling.html
rename : editor/libeditor/html/tests/test_keypress_untrusted_event.html => editor/libeditor/tests/test_keypress_untrusted_event.html
rename : editor/libeditor/html/tests/test_root_element_replacement.html => editor/libeditor/tests/test_root_element_replacement.html
rename : editor/libeditor/html/tests/test_select_all_without_body.html => editor/libeditor/tests/test_select_all_without_body.html
rename : editor/libeditor/html/tests/test_spellcheck_pref.html => editor/libeditor/tests/test_spellcheck_pref.html
2014-08-18 17:28:17 -04:00

273 lines
8.9 KiB
C++

/* 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 "mozilla/dom/Element.h"
#include "nsAString.h"
#include "nsCOMPtr.h"
#include "nsDebug.h"
#include "nsError.h"
#include "nsHTMLEditUtils.h"
#include "nsHTMLEditor.h"
#include "nsIContent.h"
#include "nsIDOMElement.h"
#include "nsIDOMEventTarget.h"
#include "nsIDOMHTMLElement.h"
#include "nsIDOMNode.h"
#include "nsIHTMLEditor.h"
#include "nsIHTMLObjectResizer.h"
#include "nsIPresShell.h"
#include "nsLiteralString.h"
#include "nsReadableUtils.h"
#include "nsString.h"
#include "nscore.h"
// Uncomment the following line if you want to disable
// table deletion when the only column/row is removed
// #define DISABLE_TABLE_DELETION 1
NS_IMETHODIMP
nsHTMLEditor::SetInlineTableEditingEnabled(bool aIsEnabled)
{
mIsInlineTableEditingEnabled = aIsEnabled;
return NS_OK;
}
NS_IMETHODIMP
nsHTMLEditor::GetInlineTableEditingEnabled(bool * aIsEnabled)
{
*aIsEnabled = mIsInlineTableEditingEnabled;
return NS_OK;
}
NS_IMETHODIMP
nsHTMLEditor::ShowInlineTableEditingUI(nsIDOMElement * aCell)
{
NS_ENSURE_ARG_POINTER(aCell);
// do nothing if aCell is not a table cell...
if (!nsHTMLEditUtils::IsTableCell(aCell))
return NS_OK;
if (mInlineEditedCell) {
NS_ERROR("call HideInlineTableEditingUI first");
return NS_ERROR_UNEXPECTED;
}
// the resizers and the shadow will be anonymous children of the body
nsCOMPtr<nsIDOMElement> bodyElement = do_QueryInterface(GetRoot());
NS_ENSURE_TRUE(bodyElement, NS_ERROR_NULL_POINTER);
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableAddColumnBefore"),
false, getter_AddRefs(mAddColumnBeforeButton));
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableRemoveColumn"),
false, getter_AddRefs(mRemoveColumnButton));
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableAddColumnAfter"),
false, getter_AddRefs(mAddColumnAfterButton));
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableAddRowBefore"),
false, getter_AddRefs(mAddRowBeforeButton));
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableRemoveRow"),
false, getter_AddRefs(mRemoveRowButton));
CreateAnonymousElement(NS_LITERAL_STRING("a"), bodyElement,
NS_LITERAL_STRING("mozTableAddRowAfter"),
false, getter_AddRefs(mAddRowAfterButton));
AddMouseClickListener(mAddColumnBeforeButton);
AddMouseClickListener(mRemoveColumnButton);
AddMouseClickListener(mAddColumnAfterButton);
AddMouseClickListener(mAddRowBeforeButton);
AddMouseClickListener(mRemoveRowButton);
AddMouseClickListener(mAddRowAfterButton);
mInlineEditedCell = aCell;
return RefreshInlineTableEditingUI();
}
NS_IMETHODIMP
nsHTMLEditor::HideInlineTableEditingUI()
{
mInlineEditedCell = nullptr;
RemoveMouseClickListener(mAddColumnBeforeButton);
RemoveMouseClickListener(mRemoveColumnButton);
RemoveMouseClickListener(mAddColumnAfterButton);
RemoveMouseClickListener(mAddRowBeforeButton);
RemoveMouseClickListener(mRemoveRowButton);
RemoveMouseClickListener(mAddRowAfterButton);
// get the presshell's document observer interface.
nsCOMPtr<nsIPresShell> ps = GetPresShell();
// We allow the pres shell to be null; when it is, we presume there
// are no document observers to notify, but we still want to
// UnbindFromTree.
// get the root content node.
nsCOMPtr<nsIContent> bodyContent = GetRoot();
NS_ENSURE_TRUE(bodyContent, NS_ERROR_FAILURE);
DeleteRefToAnonymousNode(mAddColumnBeforeButton, bodyContent, ps);
mAddColumnBeforeButton = nullptr;
DeleteRefToAnonymousNode(mRemoveColumnButton, bodyContent, ps);
mRemoveColumnButton = nullptr;
DeleteRefToAnonymousNode(mAddColumnAfterButton, bodyContent, ps);
mAddColumnAfterButton = nullptr;
DeleteRefToAnonymousNode(mAddRowBeforeButton, bodyContent, ps);
mAddRowBeforeButton = nullptr;
DeleteRefToAnonymousNode(mRemoveRowButton, bodyContent, ps);
mRemoveRowButton = nullptr;
DeleteRefToAnonymousNode(mAddRowAfterButton, bodyContent, ps);
mAddRowAfterButton = nullptr;
return NS_OK;
}
NS_IMETHODIMP
nsHTMLEditor::DoInlineTableEditingAction(nsIDOMElement * aElement)
{
NS_ENSURE_ARG_POINTER(aElement);
bool anonElement = false;
if (aElement &&
NS_SUCCEEDED(aElement->HasAttribute(NS_LITERAL_STRING("_moz_anonclass"), &anonElement)) &&
anonElement) {
nsAutoString anonclass;
nsresult res = aElement->GetAttribute(NS_LITERAL_STRING("_moz_anonclass"), anonclass);
NS_ENSURE_SUCCESS(res, res);
if (!StringBeginsWith(anonclass, NS_LITERAL_STRING("mozTable")))
return NS_OK;
nsCOMPtr<nsIDOMNode> tableNode = GetEnclosingTable(mInlineEditedCell);
nsCOMPtr<nsIDOMElement> tableElement = do_QueryInterface(tableNode);
int32_t rowCount, colCount;
res = GetTableSize(tableElement, &rowCount, &colCount);
NS_ENSURE_SUCCESS(res, res);
bool hideUI = false;
bool hideResizersWithInlineTableUI = (mResizedObject == tableElement);
if (anonclass.EqualsLiteral("mozTableAddColumnBefore"))
InsertTableColumn(1, false);
else if (anonclass.EqualsLiteral("mozTableAddColumnAfter"))
InsertTableColumn(1, true);
else if (anonclass.EqualsLiteral("mozTableAddRowBefore"))
InsertTableRow(1, false);
else if (anonclass.EqualsLiteral("mozTableAddRowAfter"))
InsertTableRow(1, true);
else if (anonclass.EqualsLiteral("mozTableRemoveColumn")) {
DeleteTableColumn(1);
#ifndef DISABLE_TABLE_DELETION
hideUI = (colCount == 1);
#endif
}
else if (anonclass.EqualsLiteral("mozTableRemoveRow")) {
DeleteTableRow(1);
#ifndef DISABLE_TABLE_DELETION
hideUI = (rowCount == 1);
#endif
}
else
return NS_OK;
if (hideUI) {
HideInlineTableEditingUI();
if (hideResizersWithInlineTableUI)
HideResizers();
}
}
return NS_OK;
}
void
nsHTMLEditor::AddMouseClickListener(nsIDOMElement * aElement)
{
nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(aElement));
if (evtTarget) {
evtTarget->AddEventListener(NS_LITERAL_STRING("click"),
mEventListener, true);
}
}
void
nsHTMLEditor::RemoveMouseClickListener(nsIDOMElement * aElement)
{
nsCOMPtr<nsIDOMEventTarget> evtTarget(do_QueryInterface(aElement));
if (evtTarget) {
evtTarget->RemoveEventListener(NS_LITERAL_STRING("click"),
mEventListener, true);
}
}
NS_IMETHODIMP
nsHTMLEditor::RefreshInlineTableEditingUI()
{
nsCOMPtr<nsIDOMHTMLElement> htmlElement = do_QueryInterface(mInlineEditedCell);
if (!htmlElement) {
return NS_ERROR_NULL_POINTER;
}
int32_t xCell, yCell, wCell, hCell;
GetElementOrigin(mInlineEditedCell, xCell, yCell);
nsresult res = htmlElement->GetOffsetWidth(&wCell);
NS_ENSURE_SUCCESS(res, res);
res = htmlElement->GetOffsetHeight(&hCell);
NS_ENSURE_SUCCESS(res, res);
int32_t xHoriz = xCell + wCell/2;
int32_t yVert = yCell + hCell/2;
nsCOMPtr<nsIDOMNode> tableNode = GetEnclosingTable(mInlineEditedCell);
nsCOMPtr<nsIDOMElement> tableElement = do_QueryInterface(tableNode);
int32_t rowCount, colCount;
res = GetTableSize(tableElement, &rowCount, &colCount);
NS_ENSURE_SUCCESS(res, res);
SetAnonymousElementPosition(xHoriz-10, yCell-7, mAddColumnBeforeButton);
#ifdef DISABLE_TABLE_DELETION
NS_NAMED_LITERAL_STRING(classStr, "class");
if (colCount== 1) {
mRemoveColumnButton->SetAttribute(classStr,
NS_LITERAL_STRING("hidden"));
}
else {
bool hasClass = false;
res = mRemoveColumnButton->HasAttribute(classStr, &hasClass);
if (NS_SUCCEEDED(res) && hasClass)
mRemoveColumnButton->RemoveAttribute(classStr);
#endif
SetAnonymousElementPosition(xHoriz-4, yCell-7, mRemoveColumnButton);
#ifdef DISABLE_TABLE_DELETION
}
#endif
SetAnonymousElementPosition(xHoriz+6, yCell-7, mAddColumnAfterButton);
SetAnonymousElementPosition(xCell-7, yVert-10, mAddRowBeforeButton);
#ifdef DISABLE_TABLE_DELETION
if (rowCount== 1) {
mRemoveRowButton->SetAttribute(classStr,
NS_LITERAL_STRING("hidden"));
}
else {
bool hasClass = false;
res = mRemoveRowButton->HasAttribute(classStr, &hasClass);
if (NS_SUCCEEDED(res) && hasClass)
mRemoveRowButton->RemoveAttribute(classStr);
#endif
SetAnonymousElementPosition(xCell-7, yVert-4, mRemoveRowButton);
#ifdef DISABLE_TABLE_DELETION
}
#endif
SetAnonymousElementPosition(xCell-7, yVert+6, mAddRowAfterButton);
return NS_OK;
}