summaryrefslogtreecommitdiff
path: root/docs/Architecture
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-04-15 11:05:13 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-04-15 11:05:13 +0000
commitbfd63663eb8a2af01b56d05b140e0ea08a464397 (patch)
tree50b629f57bc8e42bcf50eab4052c0481a6a0eebc /docs/Architecture
parentb50dc50a2b25c7cc77843b25adc41575cfce7fd6 (diff)
downloadlibhubbub-bfd63663eb8a2af01b56d05b140e0ea08a464397.tar.gz
libhubbub-bfd63663eb8a2af01b56d05b140e0ea08a464397.tar.bz2
Merged revisions 7071-7082 via svnmerge from
svn://source.netsurf-browser.org/branches/jmb/hubbub-errors ........ r7077 | jmb | 2009-04-15 11:32:43 +0100 (Wed, 15 Apr 2009) | 2 lines Don't bother attempting to allow restarting the parser after an error in the treebuilder. It's far too complicated. ........ r7078 | jmb | 2009-04-15 11:46:12 +0100 (Wed, 15 Apr 2009) | 2 lines Document what should happen in exceptional circumstances ........ svn path=/trunk/hubbub/; revision=7083
Diffstat (limited to 'docs/Architecture')
-rw-r--r--docs/Architecture15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/Architecture b/docs/Architecture
index 90d8688..23c820a 100644
--- a/docs/Architecture
+++ b/docs/Architecture
@@ -54,3 +54,18 @@ Parse errors
Notification of parse errors is made through a dedicated event. This event
contains the line/column offset of the error location, along with a message
detailing the error.
+
+Exceptional circumstances
+-------------------------
+
+ Exceptional circumstances (such as memory exhaustion) are reported
+ immediately.
+
+ The parser's state in such situations is undefined. There is no recovery
+ mechanism.
+
+ Therefore, if the client is able to recover from the exceptional
+ circumstance (e.g. by making more free memory available) the only valid
+ way to proceed is to create a new parser instance and start parsing from
+ scratch. The client should ensure that they destroy the old parser instance
+ and any DOM tree produced by it, to avoid resource leaks.