Changes to Mozile between 0.6.28 and 0.6.29
Mozile 0.6.29 - 6 November 2006
Reload with MIME type
New feature added to reload pages with a different MIME type.
This has been added to the fixed toolbar commands with a selection of common
MIME types, and as a MES formatting that can be used to specify any MIME type.
Bug fixes and minor changes
- Toolbar arrowscrollbox had stopped scrolling in Fx2.0 - now fixed.
- Saving problems (converting entities, etc) fixed. This is due to problems with
the Javascript instanceof operator and Array objects.
(Browser bug?)
The bug seems to be worse in Fx2.0 than Fx1.5.
Changes to Mozile between 0.6.27 and 0.6.28
Mozile 0.6.28 - 29 October 2006
Updated to work with Firefox 2.0
install.rdf : minVersion increased to 2.0, maxVersion increased to 2.0.0.*
Bug fixes and minor changes
- Bug correction. Adding a link without a title incorrectly added a null title="" attribute.
Correction in eDOMXHTML.js linkText()
- mozileSave.js : HTML to xhtml conversion changed to use a regular expression.
- mozileWrappers.js, jsdav.js : modified to remove javascript warnings about functions
not returning values.
Changes to Mozile between 0.6.26 and 0.6.27
Mozile 0.6.27 - 2 June 2006
Internationalization / Default MES
Options added to allow you to choose which Editing Scheme (MES) to use when you make a page editable.
This can be one of the internal MES', or an external MES on your local disk.
Currently, only en-US and en-UK are included.
Minor changes
Delete bug fixed - deleting at the end of an inline element sometimes deleted the next
character as well.
Mozile user preferences reworked. The caret option now mirrors the
browser's caret preference (accessibility.browsewithcaret) when Mozile is first installed.
Changes to Mozile between 0.6.25.1 and 0.6.26
Mozile 0.6.26 - 25 May 2006
Internationalization
- DTD files and properties file created to allow for Internationalization of
all significant text strings.
- Default XHTML MES reworked.
User interface
- Various dialogs tidied up and improved.
- Header line containing title and version number has been removed from dialogs.
- Main Mozile menu has been reordered. Right click context menu has been added to allow pages
(Demo, Help, Home) to be opened in the current Window, a New Window, or a New Tab.
The default for a left click is to open in a New Tab.
- When the caret is not focused in an editable area the fixed menu commands that
are not available (undo,cut/paste,save, etc) are now disabled and are greyed out.
The alerts that used to be generated to indicate the commands were not working are no longer required.
- The underline of the first letter of the "Mozile" and "Commands" menus now displays correctly with a
space between the letter and the underline.
- The Bug button is not displayed if debugging is disabled.
- The MES can now include a toolbar and menu separator command.
- Most of the default xhtml commands are shown as "Active" by the toolbar and menus.
Link command
- You can now add a "title" via the link command as well as setting the "href" attribute.
"pre" sections
- Added temporary bodge to give better cursor movement at the end/start of "pre" lines.
- Shift+Enter now splits a "pre" section rather than entering a <br/>.
Previously, if the "pre" section was the last one in the editable area there was no
way to "break-out" of it.
[Ideally you should be able to enter a <br/> in a "pre" section so this will have
to be added again later.
E.g. If you have a "p" element designated as whitespace "pre" you are more
likely to use <br/> rather than a linefeed. In a "pre" element where the
CSS whitespace property already defaults to "pre" normal usage is a linefeed
rather than a <br/>.]
- Enter inserts a newline (line feed = \u000A), and a Token ( )
if it is required. (E.g. at the end of a line, and to separate two linefeeds.)
Insertion leaves the cursor at the wrong position due to the "pre" navigation bug.
Insertion/deletion of newline still doesn't have correct Token insertion/deletion logic
built in, so you have to manually delete the Tokens and the newline chars. [Note that you
must have a Token between multiple newline characters otherwise the newlines
become unselectable with the keyboard, the mouse and via Javascript.]
Significant Bug Fixes
- InsertionPoint.splitXHTMLLine
Splitting nested block level elements wasn't working due to an incorrect reference
to the "top" node rather than the parent of the line container.
eDOM split aslo fixed to prevent split when inline elements are the "top"
editable element.
- eDOM.js : InsertionPoint.__insertTextNode
Incorrect variable name, "parentnode" should be "parentNode".
Caused an error when inserting a new text node at the end of a text node.
E.g. when pasting at the end of a line.
- After injection of the eDOM files a short timeout has been introduced before displaying
the toolbar for the first time. Without a delay the eDOM code isn't recognised
and the Active toolbar states aren't set.
Documentation
- The Changelog is now in html rather than pdf format.
- The documentation and test files have been revised and improved.
Changes to Mozile between 0.6.25 and 0.6.25.1
Mozile 0.6.25.1 - 31 March 2006
Fixes in mozCE.js and eDOMXHTML.js
1. Styling applied outside the editable content.
Bug fix with the styleText and toggleTextStyle commands.
E.g. If you have something like this;
<div class="edit>text</div>
and highlight all of "text" with the mouse, then apply a text styling command such as Bold, the
style gets incorrectly applied to the div. This has now been fixed and the text is correctly
wrapped in a "span" before being styled.
[Other combinations such as highlighting part of the text already worked correctly.]
2. changeLinesContainer and removeLinesContainer improved.
changeLinesContainer now checks that the new container is a valid child of the parent.
Also, bug with changing mixtures of Contained and Bounded Lines now fixed. (Bounded Lines weren't
being handled correctly.)
removeLinesContainer now checks that the container is within the "top" editable container.
i.e. prevents problems if you execute this command with "p" or "b", etc as the "top" container
instead of "div".
Changes to Mozile between 0.6.24 and 0.6.25
Mozile 0.6.25 - 20 March 2006
Bug fixes - Lists, deleting
- List items containing other block level elements such as <p> should now outdent
correctly. The <li> tag was not being removed.
- Delete/Backspace should both now work at, and just before, the start of a list.
- Each deletion is now added to the Undo stack. Previously a deletion didn't necessarily get
added to the undo stack - this made the Undo appear to be a bit jumpy and inconsistent. The only
drawback to the new method is that holding down the Delete/Backspace key to delete large chunks
of text fills up the undo stack and will make Undoing the text rather slow.
- Minor changes to the style of the "About" dialog and adding non-break spaces to ensure
people's names don't get split across lines.
Online documentation
The developer documentation is now online, with links to the files in CVS.
Demos
Updated the Custom MES basic text editor; new styling, changed Tag CSS file.
Changes to Mozile between 0.6.23 and 0.6.24
Mozile 0.6.24 - 17 Feb 2006
Build
Two builds, some of the docs and testing files only included in the "devel" build. Other than
this both should have the same code.
mozile-0.6.24.xpi : without JSUnit testing file and developer docs
mozile-0.6.24-devel : developer version.
Commands
styleLines bug fixed : it was not working correctly when there was only a single line
in the editable area.
styleText/toggleStyle bug fixed : wasn't correctly selecting text nodes when applied
across some ranges. (Bug fix in eDOM textNodes function.)
When the Enter key is pressed at the end of an XHTML Heading Line (h1 to h6) a new Paragraph
Line (p) is now created. Previously, a new Heading Line would be created. Pressing the Enter key
at any other position within the line splits the Heading line into two Heading lines, as
before.
POST Saving
A small correction has been made to the code. The content length header can no longer be set
and is applied automatically. The content length is equal to the length of the saved data + 4.
(Pre-Firefox I think the content length was equal to the length of the saved data excluding the
CR/LF's.) The save data is preceded and followed by a CR/LF pair, as before. Updated the POST
Save docs to remind people to remove the CR/LF pairs when processing the data server side. (If
you don't you add an extra CR/LF pair before and after the data every time you save.)
Changes to Mozile between 0.6.22.7 and 0.6.23
Mozile 0.6.23 - 9 Feb 2007
Options
The enable/disable Mozile option has been reworded to avoid any confusion with the extension
enable/disable option. The alert saying that Mozile is switched OFF has been removed. The toolbar
icons are now dimmed when Mozile is switched off. Clicking the toolbar buttons doesn't do
anything. Shortcut added - double click Mozile menu to toggle ON/OFF.
Caret and Navigation
Some changes made to insertion point forward movement to fix bugs to do with getting stuck
when an image is at the end of a line. Some changes made to insertion of
element. Seems to be working better, although code to correctly handle deletion of break and
whitespace in one go, and the handling of an editing token when
is at the end of the line remain.
XHTML Line Splitting (Enter key)
I've added a lookup table to check if splitting can occur. This stops splitting if you make
Line containers such as "p" or "h1" the top editable element, or if you use inline elements such
as "span" as the top editable element. Not all commands check if what they do is valid. E.g. you
can incorrectly change the line container when "span" is the editable element. Hence, currently
difficult to mix editing of div's and span's with the same MES.
Demos
Added an additional demo so that you can test what happens with "div", "p" or "b" as the top
editable element.
CVS
All the files should be in CVS now in the following folder:
mozile\source\extension\mozile-0.6
Changes to Mozile between 0.6.22.6 and 0.6.22.7
Mozile 0.6.22.7 - 2 Feb 2007
Installation
Version number increased in install.rdf so that it now works in Fx 1.5.0.1
Testing
The JsUnit testing directory put back in, although no updates to the test files.
Interestingly, I haven't updated the testing document, which is an xml file with an xsl
transform. This won't open, as noted before, and gives a security warning. However, I changed the
link to point to the testing directory, and my PC now gives a list of all the files in the
directory when I click the link. When I click on the "mozileTesting.xml" file it now opens... Is
this a security hole, or the other error a security bug?
Changes to Mozile between 0.6.22 and 0.6.22.6
Mozile 0.6.22.6 - 1 Feb 2006
Browser
This version only works in Firefox 1.5. It should be possible to get it working again in
Mozilla with changes to the installation procedure and possibly minor changes to the browser
overlay file.
Mozile Detection
The detection still requires clicking once in a document to correctly reset the toolbar.
Ideally the toolbar would change whenever you swap a browser tab, either via a mouse click or a
keyboard shortcut, but I can't see this being added to the 0.6 version.
- Mouse click now detects a click on a browser tab and shows/hides the toolbar according to the
Mozile autohide preference.
- Timeout resets the toolbar after using navigation keys such as up/down arrow, page
up/down.
- When an editable selection is not detected the Mozile Commands menu is hidden.
- Show tags works once Mozile has been detected for the first time.
The state of the Show-Tags button is now remembered for each window.
- beforeunload event : changed to include a custom message.
- unload handler added to mozileConifguration.js.
This resets the toolbar, etc when the window containing the current mozileTarget is
unloaded.
- NEW Wake up detection for xhtml documents. A load event scans all documents.
It can "wake up" Mozile if the special meta tag is present in xhtml documents.
<meta name="mozile" content="...anything...">
If detected, any custom RSD and MES configuration files are immediately loaded.
The presence of the meta tag also prevents users from making the entire document editable.
[Future: add version information so that Mozile can be disabled if it is an incompatible version.
Plus maybe add a url to where the new version can be downloaded.]
- Detection of xhtml textarea and input boxes now fixed so that you can enter data into them if
they occur in an editable area. (This doesn't means forms are supported by Mozile.)
Mozile Options
- Options : Allow Mozile to override browser command keys.
This is now implemented. If enabled, when in an editable section all ctrl/meta and alt key
presses are handled by Mozile. It allows all the hard-coded Mozile shortcuts, and any shortcuts
specified for toolbar buttons and menu items in the MES. If disabled, Mozile ignores all the
hard-coded and MES shortcuts.
- For mouse clicks the override preference prevents the default action when you left click on a
hyperlink. (i.e. you don't navigate away.) The caret is focused where you click in the link.
Right click is still allowed, so you can right click and open in a new window.
- Options : Mozile enable/disable option added. Disable removes the mouse and keyboard event
listeners and prevents just about all commands from being executed.
MozileToolbar
- Mozile Toolbar menus now support access keys.
- Context menus can now have a text label. Previously they could only have an image.
- MES has option to hide any of the fixed toolbar buttons. (Corresponding keyboard shortcuts
are NOT disabled.) If the Source Edit button is disabled the source editing window is
automatically closed.
MES
- MES has option to set default xhtml container.
- toggleStyle command can now toggle multiple styles.
- Line indent (margin-left) and list indent (nesting lists) separated as two different
commands.
- Line indent can now have an argument (size of indent).
Editing
- shift+spacebar now inserts a non-break space.
- tab inserts a tab character if white-space: pre, otherwise does nothing.
- Delete key (i.e. delete one character to the right) improved. Now doesn't delete to the left
if at the end of the editable section. (This resulted from DELETE being implemented as one space
forward, then BACKSPACE (delete left).)
- Simple XHTML Lists (ul and ol) - You can now break out from the end of a simple (i.e. one
level deep) list.
- Nested Lists - Some corrections made to indent/outdent of nested lists but this is still
incomplete. Previously, lists were indented with invalid xhtml tag nesting.
- Typing - State is saved after the first keypress to the Mozile Undo stack. Avoids possible
problem of navigating away from the page if you haven't typed enough chars to hit the auto save
limit.
- Xhtml break tag. Changed eDOM so that it is not forced to have a CSS "display" value of
"block". Normally it has the value "inline". Break implementation still incomplete.
- Improved the normalizing and removing of redundant inline styles.
- Corrected bugs with xhtml link command. Can now single click anywhere in a link and either
remove it using the unlink command, or change or remove the current href value using the link
command.
General
- MES/toolbar.js
MES data is added to each editable document rather than being global.
E.g. variable mesCommands replaced by mozileTarget.document.mesCommands, etc.
This means you can have a different MES for documents open in multiple tabs.
- Special Chars - Configuration and additional MES data is now added to each editable document
rather than being global.
- Mozile Undo feature - tidied up several places where blank or double "do" was performed.
Still needs further work because "do" executed before commands and takes no account of commands
that fail to make any changes to the document. Small change to remove slack when you change
direction in undo/redo.
- All variables loaded into target window/document should now begin with "mozile" to prevent
any possible clash with other javascript variables.
- Cut/Paste. Changed default to "text" as this seems to work.
Use this in your RSD "pasteMode" settings.
Haven't tested the XML/HTML modes but I think they need a bit of tweaking to get them to
work.
- I think that Source Edit is one of the few features left that doesn't save state on a per
document basis.
- Bug where Commands menu gets stuck down may be fixed.
- eDOM/EDOMXHTML - considerable rewrite of eDOMXHTML and numerous bug fixes/changes to eDOM.
Still some more to do.
Minor Fixes
- BUG :: Pasting in text mode. Inserted text node wasn't being normalized. This resulted in you
being asked if you wanted to navigate away from the page the next time you clicked on the
inserted text.
- BUG :: /xul/info.js - javascript error using typeof, missing quotes around "undefined".
- BUG :: /main/mozileSpecialChars.js - line 273, undeclared variable block.
- Duplicate mozileVersion in mozile.js and mozileMain.js. Removed duplicate from mozile.js and
replaced with a call that uses mozile.version. options.js modified to still work correctly when
opened from the main Firefox extensions menu.