summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-09-21 00:25:09 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-09-21 00:25:09 +0000
commitf27d5a3e15b5931f36b96bc5fb3d2572d339715d (patch)
treecb003adc645f8efccf31b1d0971f5e1ff842c814 /render
parent0cf35ff7302525cffda2c9064b4077e80db9f663 (diff)
downloadnetsurf-f27d5a3e15b5931f36b96bc5fb3d2572d339715d.tar.gz
netsurf-f27d5a3e15b5931f36b96bc5fb3d2572d339715d.tar.bz2
Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
Diffstat (limited to 'render')
-rw-r--r--render/box_construct.c4
-rw-r--r--render/box_normalise.c3
-rw-r--r--render/html.c47
-rw-r--r--render/layout.c40
4 files changed, 3 insertions, 91 deletions
diff --git a/render/box_construct.c b/render/box_construct.c
index 990fa380c..aafb0e5b5 100644
--- a/render/box_construct.c
+++ b/render/box_construct.c
@@ -38,12 +38,10 @@
#include "css/css.h"
#include "css/utils.h"
#include "css/select.h"
-#include "desktop/browser.h"
#include "desktop/options.h"
#include "render/box.h"
#include "render/form.h"
#include "render/html_internal.h"
-#include "desktop/gui.h"
#include "utils/locale.h"
#include "utils/log.h"
#include "utils/messages.h"
@@ -257,8 +255,6 @@ bool box_construct_element(xmlNode *n, html_content *content,
assert(parent);
assert(inline_container);
- gui_multitask();
-
/* In case the parent is a pre block, we clear the
* PRE_STRIP flag since it is not used if we
* follow the pre with a tag
diff --git a/render/box_normalise.c b/render/box_normalise.c
index f7154c5f3..8d88a2ef2 100644
--- a/render/box_normalise.c
+++ b/render/box_normalise.c
@@ -30,7 +30,6 @@
#include "render/box.h"
#include "render/html_internal.h"
#include "render/table.h"
-#include "desktop/gui.h"
#include "utils/log.h"
#include "utils/talloc.h"
@@ -114,8 +113,6 @@ bool box_normalise_block(struct box *block, html_content *c)
assert(block->type == BOX_BLOCK || block->type == BOX_INLINE_BLOCK ||
block->type == BOX_TABLE_CELL);
- gui_multitask();
-
for (child = block->children; child != NULL; child = next_child) {
#ifdef BOX_NORMALISE_DEBUG
LOG(("child %p, child->type = %d", child, child->type));
diff --git a/render/html.c b/render/html.c
index 286fc9644..392fec18e 100644
--- a/render/html.c
+++ b/render/html.c
@@ -32,7 +32,6 @@
#include "content/fetch.h"
#include "content/hlcache.h"
#include "desktop/browser.h"
-#include "desktop/gui.h"
#include "desktop/options.h"
#include "desktop/selection.h"
#include "image/bitmap.h"
@@ -301,36 +300,16 @@ error:
/**
* Process data for CONTENT_HTML.
- *
- * The data is parsed in chunks of size CHUNK, multitasking in between.
*/
bool html_process_data(struct content *c, const char *data, unsigned int size)
{
html_content *html = (html_content *) c;
- unsigned long x;
binding_error err;
const char *encoding;
- for (x = 0; x + CHUNK <= size; x += CHUNK) {
- err = binding_parse_chunk(html->parser_binding,
- (const uint8_t *) data + x, CHUNK);
- if (err == BINDING_ENCODINGCHANGE) {
- goto encoding_change;
- } else if (err != BINDING_OK) {
- union content_msg_data msg_data;
-
- msg_data.error = messages_get("NoMemory");
- content_broadcast(c, CONTENT_MSG_ERROR, msg_data);
-
- return false;
- }
-
- gui_multitask();
- }
-
err = binding_parse_chunk(html->parser_binding,
- (const uint8_t *) data + x, (size - x));
+ (const uint8_t *) data, size);
if (err == BINDING_ENCODINGCHANGE) {
goto encoding_change;
} else if (err != BINDING_OK) {
@@ -404,8 +383,8 @@ encoding_change:
source_data = content__get_source_data(c, &source_size);
- /* Recurse to reprocess all that data. This is safe because
- * the encoding is now specified at parser-start which means
+ /* Recurse to reprocess all the data. This is safe because
+ * the encoding is now specified at parser start which means
* it cannot be changed again. */
return html_process_data(c, source_data, source_size);
}
@@ -1731,26 +1710,6 @@ void html_stop(struct content *c)
switch (c->status) {
case CONTENT_STATUS_LOADING:
- /* Clean up objects if we were stopped after queuing up some
- * fetches within xml_to_box (i.e. gui_multitask is somewhere
- * in our call stack) */
- for (object = htmlc->object_list; object != NULL;
- object = object->next) {
- if (object->content == NULL)
- continue;
-
- /* If there's a content already associated with our
- * handle, something's gone very wrong */
- assert(content_get_status(object->content) ==
- CONTENT_STATUS_ERROR);
-
- hlcache_handle_abort(object->content);
- hlcache_handle_release(object->content);
- object->content = NULL;
-
- c->active--;
- }
-
/* Still loading; simply flag that we've been aborted
* html_convert/html_finish_conversion will do the rest */
htmlc->aborted = true;
diff --git a/render/layout.c b/render/layout.c
index 0506c60d5..a55793e89 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -43,7 +43,6 @@
#include "css/css.h"
#include "css/utils.h"
#include "content/content_protected.h"
-#include "desktop/gui.h"
#include "desktop/options.h"
#include "desktop/scrollbar.h"
#include "render/box.h"
@@ -220,45 +219,6 @@ bool layout_block_context(struct box *block, int viewport_height,
assert(block->width != UNKNOWN_WIDTH);
assert(block->width != AUTO);
-#ifdef riscos
- /* Why the ifdef? You don't really want to know. If you do, read on.
- *
- * So, the only way into this function is through the rest of the
- * layout code. The only external entry points into the layout code
- * are layout_document and layout_inline_container. The latter is only
- * ever called when editing text in form textareas, so we can ignore it
- * for the purposes of this discussion.
- *
- * layout_document is only ever called from html_reformat, which itself
- * is only ever called from content_reformat. content_reformat locks
- * the content structure while reformatting is taking place.
- *
- * If we call gui_multitask here, then any pending UI events will get
- * processed. This includes window expose/redraw events. Upon receipt
- * of these events, the UI code will call content_redraw for the
- * window's content. content_redraw will return immediately if the
- * content is currently locked (which it will be if we're still doing
- * layout).
- *
- * On RISC OS, this isn't a problem as the UI code's window redraw
- * handler explicitly checks for locked contents and does nothing
- * in that case. This effectively means that the window contents
- * aren't updated, so whatever's already in the window will remain
- * on-screen. On GTK, however, redraw is not direct-to-screen, but
- * to a pixmap which is then blitted to screen. If we perform no
- * redraw, then the pixmap will be flat white. When this is
- * subsequently blitted, the user gets greeted with an unsightly
- * flicker to white (and then back to the document when the content
- * is redrawn when unlocked).
- *
- * In the long term, this upcall into the GUI event dispatch code needs
- * to disappear. It needs to remain for the timebeing, however, as
- * document reflow can be fairly time consuming and we need to remain
- * responsive to user input.
- */
- gui_multitask();
-#endif
-
block->float_children = NULL;
block->clear_level = 0;