treewide changes to convert incorrect usages of string.Length() to string.IsEmpty().
thanks to afatecha@idea.com.py (Ariel Fatecha) for the patch. r=dwitte, sr=jst.
got the ok from Asa to land into a closed tree.
Renaming nsIControllerCommandManager to nsIControllerCommandTable to reduce confusion.
Moving the immutability flag from the nsBaseCommandController to the nsControllerCommandTable.
Renaming the 'refcon' on nsIControllerContext to 'context', and giving nsIControllerContext an Init() method that optionally takes a command table.
Fixing the editor and composer module code to create pre-filled nsIControllerCommandTables as services, and the controller constructors to create singleton command tables with do_GetService.
r=brade, sr=alecf.
nsHTMLEditor::SetFinalSize]
- A one line fix in HideResizers() which prevents the
reported crash by setting mIsResizing to false. I assume
we can't be resizing if the resize handles are being hidden.
The assertion and null check in SetFinalSize() are just because
I'm paranoid, but they should never be triggered if HideResizers()
is called first.
- The changes in StartResizing() makes it so that we don't create
a new mouse motion listener if we already have one. We were
creating a new listener each time we clicked on the handles, and
never unregistering the old one ... this meant that the old
listeners could be triggered if the editor were ever destroyed
and the document left in tact ... allowing us to crash because the
listeners keep an un-addref'd pointer to the HTMLEditor. Note that
this crash is not likely to be hit in Mozilla since we always
destroy the document and editor in Composer and MailCompose, but
it can happen in an embedding context.
r=glazman@netscape.comsr=sfraser@netscape.com
subtree
mozilla/editor/libeditor/html/nsHTMLEditor.cpp
- jfrancis' fix for netscape bug 615240 (applying mozilla patch
on branch. Fixing problems of improper handling of del and
backspace keys with file attachments.) which was originally
landed in revision 1.445.6.3. This patch is necessary to make
the fix for bug 200549 work properly.
r=sfraser@netscape.comsr=kin@netscape.com
mozilla/editor/libeditor/html/nsHTMLEditorMouseListener.cpp
mozilla/editor/libeditor/html/nsHTMLEditorMouseListener.h
- Modified nsHTMLEditorMouseListener::MouseDown() to
call FindUserSelectAllNode() so that the root of a
-moz-user-select:all subtree gets selected during
a double or context click.
- Modified nsHTMLEditorMouseListener so that it stores an nsHTMLEditor*
instead of an nsIEditor* so we could have access to FindUserSelectAllNode().
r=brade@netscape.comsr=sfraser@netscape.com
subtrees
mozilla/layout/html/base/src/nsFrame.cpp
- Added utility method ContentContainsPoint()
- Modified HandlePress() to allow selection of images, hrs and
-moz-user-select:all subtrees, and then disable selection
processing of drag events.
mozilla/editor/libeditor/html/nsHTMLDataTransfer.cpp
- Modified InsertFromDrop() so that it prevents a drop from
happening in a -moz-user-select:all subtree. (Temporary
workaround to avoid bug 195957 and bug 195959)
r=mjudge@netscape.comsr=sfraser@netscape.com
mozilla/editor/idl/nsIEditor.idl
mozilla/editor/libeditor/base/nsEditor.cpp
mozilla/editor/libeditor/base/PlaceholderTxn.cpp
mozilla/editor/libeditor/html/nsHTMLCSSUtils.cpp
mozilla/editor/libeditor/html/nsHTMLEditor.cpp
mozilla/editor/libeditor/text/nsTextEditRules.cpp
- Renamed nsIEditor::Do() to nsIEditor::DoTransaction() so that it
can be called from JavaScript.
- Cleaned up nsEditor::Begin/EndUpdateViewBatch() so that
nothing happens outside the check of mUpdateCount.
- Modified PlaceholderTxn.cpp so that it checks to see
if a merged transaction implements nsPIEditorTransaction
before attempting to cast it to (EditorTxn*).
mozilla/editor/ui/composer/content/EditorCommandsDebug.js
mozilla/editor/ui/composer/content/editorOverlay.xul
mozilla/editor/ui/composer/locale/en-US/editorOverlay.dtd
- Added debug menu items to test execution of foreign transactions
via the txnmgr and editor.
r=jfrancis@netscape.comsr=sfraser@netscape.com
Make DragOver() consume the drag event so that the default browser drag listener that is present during embedding, isn't triggered.
r=brade@netscape.comsr=dbaron@dbaron.org