Work towards support for Internet Explorer 9.This may end when we come across an insurmountable problem like we did with IE8.
Add code to iterator over selected elements.
Work on formatting.
Some work on formatting.
Work on hooking up the UI to the formatting of the document.
Add class for formatting. (Empty so far).
Better type checking.
Start on conversion of odfedit.html to an Ext.JS UI.
Fix small bug: node may be an element and not have getAttributeNS
Compile fixes for new stricter Closure Compiler version.
Add initial support for list styles.
More memoization, more speed.
Small speedup by allowing unordered memoization.
Cleanup debug output and format code.
Speed up 10% by elimination duplicate choices.
Fix "anyName" and "xml" namespace related bugs.
Fix bugs related to name resultion and oneOrMore element.
Add ability to quickly create a pattern without looking up information in the memoization cache.
Use memoization on all pattern creating functions.
Set element hash to its id value.Now all patterns can have a hash value.
Change the new implementation to use the refactored reference resolution.All unit tests still pass, but validating a huge ODT document still takes longer than I want to wait.
Resolve references in such a way that each element definition gets a unique id.This enables implementation of a hash function for the patterns, which in turn is needed to curb exponential scaling behavior as explained in the derivative.html document.
Do not create pattern members if they are empty. This should save quite a bit of memory.
Use JSON.stringify as default hash function.
Start framework for interning patterns
To avoid exponential blowup, it is needed to be able to compare patterns. This comparison involves tree traversal unless hashes are used and patterns are deduplicated by looking them up in a cache.
Fix unit test.
Add <choice/> support for element and attribute names to the new implementation.
Add tests for parsing of name choices.
Fix parsing of name choices.
Comment out debug output.
Fix loading for large rng file and add a few more needed functions.
Fix latest unit test.
Make circular dependencies possible.
snapshot after more tests work with new validator
snapshot after a fourth and fifth test work with new validator
snapshot after a second and third test work with new validator
snapshot after one test works with new validator
follow simplication specification more closely
Fix name resultion for attribute names.Milestone: we can now validate the ODF 1.2 in the flat XML form. This XML file is nearly 10 megabytes and the specification rng is about 440 kilobytes.
Add an extra check to make sure an attribute is really not defined.If an element is not present, getAttributeNS will return an empty string, but an empty string is possible attribute value, so an extra check is needed.
Fix bug in interleave that was exposed by test16.xml
If an interleave element has a oneOrMore child, try it every round where the current node has moved.
When in an interleave element, only report an error if there was an error.
Change the way <interleave/> is handled.Now all interleave elements that have interleave children, merge their children.That way it is easier to handle the complicated interleave scenarios.This also fixed a bug that prevented test13.xml from passing validation.
Fix a touch problem with efficiently traversing possibilities for attributes.
Only try an interleaved pattern twice if it involves subelements and not attributes. This avoid expensive re-iterations.
If first entry in interleave element does not advance the walker, try it again at the end.
Move on after parsing a text node.
Yet another fix to Relax NG parsing. Do not report an error if an element which can have text, does not.
Add class documentation.
Add fix for attribute value handling and a test for it.
Fix parsing of choice and text elements.
Fix bug in parsing of Relax NG: property "names" was lost when simplifying certain elements.
Check for attribute value.
Check if an attribute is present on an element.
Add active element to the function parameters in the Relax NG validator.
Work on Relax NG validator.
Refactor RelaxNG validator to match more closely the grammar for the Relax NG simple syntax.
Do not serialize any dom node from the http://www.w3.org/2000/xmlns/ and http://www.w3.org/1999/xhtml namespaces.xhtml is more specific and handled by the filter. xmlns should never be serialized and is hence excluded in the serializer itself.
Do not serialize a namespace declaration for "xmlns".
Add a save function.
Fix conversion to utf8 array. The last part was left out of the converted array, because the native array did not autoexpand when access with an index outside of the range.Now required length is calculated first.
Make the cursor appear on first click in Firefox.
Make a paragraph editable when it is clicked. In firefox (4) activating a paragraph for editing requires two clicks.
Fix Runtime so it can use native arrays in Firefox 4 and still send binary data.
Remove erroneous "new".
Do not store font face declarations in content.xml at all.
When writing content.xml or styles.xml only write the automatic styles that are relevant to that particular file.
Filter out child nodes that are meant to be filtered out.
Load and save font-face-decls and make serializing of namespaces prettier.
Fix retrieving the of styles that are used.
Fix bug in transformation and comment out functions that are not needed in validating the simple Relax NG grammar.
Rewrite using the Relax NG simplification transformations. Still work in progress.
Work on Relax NG validation. Can now partially validate simple documents.
Add class for determining to which style key group a style reference belongs. This will be used for splitting up the element automatic-styles over styles.xml and content.xml.
Add snapshot of class for Relax NG validation. Work in progress.
Fix errors reported by closure compiler.
Fix implementation to signature for loadXML.
Some work on splitting office:automatic-styles when saving.
Send binary data via an ArrayBuffer if that is available.ArrayBuffer is part of http://www.khronos.org/registry/typedarray/specs/latest/ and http://dev.w3.org/2006/webapi/XMLHttpRequest-2/ .This works in Chromium 10.
Fix writeFile unit test in Firefox.
Fix concatByteArrays so it works with native byte arrays.
Rewrite convertUTF8ArrayToBase64 such that the source array is unmodified.
A few small JSDoc improvments.
Fix unit tests on Rhino runtime.Also fix closure compiler error.
Remove debug output.
Use typed arrays for the buffersif they are available in the browser.
Refactor use of byte arrays
Previously, byte arrays were implemented as string with values from 0 to 255 inclusive. Some runtimes such as Node and modern browsers have native array implementations. These should be faster.
This commit changes changes WebODF to use the native arrays. Since byte arrays differ across runtimes, they are now abstracted by the Runtime.
Add code to serialize the DOM to the ODF file. This is not complete yet.
More type checking.
Slight refactor with more type checking.
Fix compilation and unit tests.
Fix roundtripping of Zip files and ODF files.An open issue is that, if the ODF file has been modified, the changes have to be reflected in the Zip entries. In other words, DOM serialization is not part of the saving process yet.
Make sure the data for allzip entries has been loaded before starting to write the zip file.
If there is no data in a zip file entry, save it as an empty entry.