r12500 tlsa - /trunk/netsurf/riscos/window.c
by netsurf@semichrome.net
Author: tlsa
Date: Fri Jun 24 05:50:43 2011
New Revision: 12500
URL: http://source.netsurf-browser.org?rev=12500&view=rev
Log:
Delete commented out code.
Modified:
trunk/netsurf/riscos/window.c
Modified: trunk/netsurf/riscos/window.c
URL: http://source.netsurf-browser.org/trunk/netsurf/riscos/window.c?rev=12500...
==============================================================================
--- trunk/netsurf/riscos/window.c (original)
+++ trunk/netsurf/riscos/window.c Fri Jun 24 05:50:43 2011
@@ -2310,10 +2310,6 @@
scale = scale_snap_to[SCALE_SNAP_TO_SIZE - 1];
if (g->bw->scale != scale) {
browser_window_set_scale(g->bw, scale, true);
-// g->reformat_pending = true;
-// if ((h) && (content_get_type(h) != CONTENT_HTML))
-// browser_window_update(g->bw, false);
-// browser_reformat_pending = true;
}
return true;
11 years, 11 months
r12499 tlsa - /trunk/netsurf/riscos/window.c
by netsurf@semichrome.net
Author: tlsa
Date: Fri Jun 24 05:48:29 2011
New Revision: 12499
URL: http://source.netsurf-browser.org?rev=12499&view=rev
Log:
Replace iframe stuff with asserts for now.
Modified:
trunk/netsurf/riscos/window.c
Modified: trunk/netsurf/riscos/window.c
URL: http://source.netsurf-browser.org/trunk/netsurf/riscos/window.c?rev=12499...
==============================================================================
--- trunk/netsurf/riscos/window.c (original)
+++ trunk/netsurf/riscos/window.c Fri Jun 24 05:48:29 2011
@@ -498,7 +498,8 @@
window.title_fg = 0xff;
break;
case BROWSER_WINDOW_IFRAME:
- window.flags |= wimp_WINDOW_NO_BOUNDS;
+ assert(0);
+ break;
case BROWSER_WINDOW_FRAME:
if (bw->scrolling == SCROLLING_NO)
window.flags &= ~(wimp_WINDOW_VSCROLL |
@@ -982,10 +983,7 @@
/* store position for children */
if (parent->browser_window_type == BROWSER_WINDOW_IFRAME) {
- bw->x0 = x0;
- bw->y0 = y0;
- bw->x1 = x1;
- bw->y1 = y1;
+ assert(0);
} else {
bw->x0 = x0 = parent->x0 + x0;
bw->y0 = y0 = parent->y0 + y0;
@@ -994,8 +992,9 @@
}
/* only scale iframe locations */
- if (bw->browser_window_type == BROWSER_WINDOW_IFRAME)
- scale = g->bw->scale;
+ if (bw->browser_window_type == BROWSER_WINDOW_IFRAME) {
+ assert(0);
+ }
/* get the position of the top level window */
state.w = top->window->window;
11 years, 11 months
r12498 tlsa - /trunk/netsurf/render/html_redraw.c
by netsurf@semichrome.net
Author: tlsa
Date: Fri Jun 24 04:51:17 2011
New Revision: 12498
URL: http://source.netsurf-browser.org?rev=12498&view=rev
Log:
Correct offset for scaled iframe redraw.
Modified:
trunk/netsurf/render/html_redraw.c
Modified: trunk/netsurf/render/html_redraw.c
URL: http://source.netsurf-browser.org/trunk/netsurf/render/html_redraw.c?rev=...
==============================================================================
--- trunk/netsurf/render/html_redraw.c (original)
+++ trunk/netsurf/render/html_redraw.c Fri Jun 24 04:51:17 2011
@@ -661,9 +661,11 @@
false, false))
return false;
- } else if (box->flags & IFRAME) {
+ } else if (box->iframe) {
+ /* Offset is passed to browser window redraw unscaled */
browser_window_redraw(box->iframe,
- x + padding_left, y + padding_top, &r);
+ (x + padding_left) / scale,
+ (y + padding_top) / scale, &r);
} else if (box->gadget && box->gadget->type == GADGET_CHECKBOX) {
if (!html_redraw_checkbox(x + padding_left, y + padding_top,
11 years, 11 months
r12497 tlsa - in /trunk/netsurf: amiga/ atari/ beos/ cocoa/ content/ desktop/ gtk/ monkey/ render/ riscos/ windows/
by netsurf@semichrome.net
Author: tlsa
Date: Fri Jun 24 04:30:33 2011
New Revision: 12497
URL: http://source.netsurf-browser.org?rev=12497&view=rev
Log:
If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
Modified:
trunk/netsurf/amiga/gui.c
trunk/netsurf/atari/browser_win.c
trunk/netsurf/atari/global_evnt.c
trunk/netsurf/beos/beos_window.cpp
trunk/netsurf/cocoa/BrowserView.m
trunk/netsurf/content/content.c
trunk/netsurf/content/content.h
trunk/netsurf/content/content_protected.h
trunk/netsurf/desktop/browser.c
trunk/netsurf/desktop/browser.h
trunk/netsurf/desktop/frames.c
trunk/netsurf/desktop/print.c
trunk/netsurf/gtk/window.c
trunk/netsurf/monkey/browser.c
trunk/netsurf/render/html.c
trunk/netsurf/render/layout.c
trunk/netsurf/riscos/print.c
trunk/netsurf/riscos/window.c
trunk/netsurf/windows/drawable.c
trunk/netsurf/windows/gui.c
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=12497&r1=...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Fri Jun 24 04:30:33 2011
@@ -3343,7 +3343,7 @@
if(g->bw->reformat_pending)
{
- browser_window_reformat(g->bw,width,height);
+ browser_window_reformat(g->bw,false,width,height);
g->bw->reformat_pending = false;
g->redraw_scroll = false;
}
Modified: trunk/netsurf/atari/browser_win.c
URL: http://source.netsurf-browser.org/trunk/netsurf/atari/browser_win.c?rev=1...
==============================================================================
--- trunk/netsurf/atari/browser_win.c (original)
+++ trunk/netsurf/atari/browser_win.c Fri Jun 24 04:30:33 2011
@@ -771,7 +771,7 @@
browser_update_rects( gw );
browser_get_rect( gw, BR_CONTENT, &rect );
if( gw->browser->bw->current_content != NULL )
- browser_window_reformat(gw->browser->bw, rect.g_w, rect.g_h );
+ browser_window_reformat(gw->browser->bw, false, rect.g_w, rect.g_h );
gw->root->toolbar->url.scrollx = 0;
window_redraw_controls(gw, 0);
/* TODO: recalculate scroll position, istead of zeroing? */
Modified: trunk/netsurf/atari/global_evnt.c
URL: http://source.netsurf-browser.org/trunk/netsurf/atari/global_evnt.c?rev=1...
==============================================================================
--- trunk/netsurf/atari/global_evnt.c (original)
+++ trunk/netsurf/atari/global_evnt.c Fri Jun 24 04:30:33 2011
@@ -192,7 +192,7 @@
if ( input_window->browser != NULL && input_window->browser->bw != NULL) {
LGRECT rect;
browser_get_rect( input_window, BR_CONTENT, &rect );
- browser_window_reformat(input_window->browser->bw, rect.g_w, rect.g_h );
+ browser_window_reformat(input_window->browser->bw, false, rect.g_w, rect.g_h );
}
}
}
Modified: trunk/netsurf/beos/beos_window.cpp
URL: http://source.netsurf-browser.org/trunk/netsurf/beos/beos_window.cpp?rev=...
==============================================================================
--- trunk/netsurf/beos/beos_window.cpp (original)
+++ trunk/netsurf/beos/beos_window.cpp Fri Jun 24 04:30:33 2011
@@ -1273,6 +1273,7 @@
view->UnlockLooper();
#warning XXX why - 1 & - 2 !???
browser_window_reformat(g->bw,
+ false,
bounds.Width() + 1 /* - 2*/,
bounds.Height() + 1);
}
@@ -1285,6 +1286,7 @@
continue;
g->bw->reformat_pending = false;
browser_window_reformat(g->bw,
+ false,
widget->allocation.width - 2,
widget->allocation.height);
}
Modified: trunk/netsurf/cocoa/BrowserView.m
URL: http://source.netsurf-browser.org/trunk/netsurf/cocoa/BrowserView.m?rev=1...
==============================================================================
--- trunk/netsurf/cocoa/BrowserView.m (original)
+++ trunk/netsurf/cocoa/BrowserView.m Fri Jun 24 04:30:33 2011
@@ -486,7 +486,7 @@
- (void) reformat;
{
NSRect size = [[self superview] frame];
- browser_window_reformat( browser, cocoa_pt_to_px( NSWidth( size ) ), cocoa_pt_to_px( NSHeight( size ) ) );
+ browser_window_reformat( browser, false, cocoa_pt_to_px( NSWidth( size ) ), cocoa_pt_to_px( NSHeight( size ) ) );
}
+ (void)reformatTimerFired: (NSTimer *) timer;
Modified: trunk/netsurf/content/content.c
URL: http://source.netsurf-browser.org/trunk/netsurf/content/content.c?rev=124...
==============================================================================
--- trunk/netsurf/content/content.c (original)
+++ trunk/netsurf/content/content.c Fri Jun 24 04:30:33 2011
@@ -329,12 +329,15 @@
* Calls the reformat function for the content.
*/
-void content_reformat(hlcache_handle *h, int width, int height)
-{
- content__reformat(hlcache_handle_get_content(h), width, height);
-}
-
-void content__reformat(struct content *c, int width, int height)
+void content_reformat(hlcache_handle *h, bool background,
+ int width, int height)
+{
+ content__reformat(hlcache_handle_get_content(h), background,
+ width, height);
+}
+
+void content__reformat(struct content *c, bool background,
+ int width, int height)
{
union content_msg_data data;
assert(c != 0);
@@ -346,6 +349,7 @@
c->available_width = width;
if (c->handler->reformat != NULL) {
c->handler->reformat(c, width, height);
+ data.background = background;
content_broadcast(c, CONTENT_MSG_REFORMAT, data);
}
c->locked = false;
Modified: trunk/netsurf/content/content.h
URL: http://source.netsurf-browser.org/trunk/netsurf/content/content.h?rev=124...
==============================================================================
--- trunk/netsurf/content/content.h (original)
+++ trunk/netsurf/content/content.h Fri Jun 24 04:30:33 2011
@@ -88,6 +88,8 @@
int object_width, object_height;
} redraw;
int delay; /**< Minimum delay, for CONTENT_MSG_REFRESH */
+ /** Reformat should not cause a redraw, for CONTENT_MSG_REFORMAT */
+ bool background;
/** Low-level cache handle, for CONTENT_MSG_DOWNLOAD */
struct llcache_handle *download;
};
@@ -117,7 +119,8 @@
/* Client functions */
bool content_can_reformat(struct hlcache_handle *h);
-void content_reformat(struct hlcache_handle *h, int width, int height);
+void content_reformat(struct hlcache_handle *h, bool background,
+ int width, int height);
void content_request_redraw(struct hlcache_handle *h,
int x, int y, int width, int height);
void content_mouse_track(struct hlcache_handle *h, struct browser_window *bw,
Modified: trunk/netsurf/content/content_protected.h
URL: http://source.netsurf-browser.org/trunk/netsurf/content/content_protected...
==============================================================================
--- trunk/netsurf/content/content_protected.h (original)
+++ trunk/netsurf/content/content_protected.h Fri Jun 24 04:30:33 2011
@@ -152,7 +152,8 @@
void content_add_error(struct content *c, const char *token,
unsigned int line);
-void content__reformat(struct content *c, int width, int height);
+void content__reformat(struct content *c, bool background,
+ int width, int height);
bool content__set_title(struct content *c, const char *title);
Modified: trunk/netsurf/desktop/browser.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/browser.c?rev=124...
==============================================================================
--- trunk/netsurf/desktop/browser.c (original)
+++ trunk/netsurf/desktop/browser.c Fri Jun 24 04:30:33 2011
@@ -174,7 +174,6 @@
void browser_window_get_position(struct browser_window *bw, bool root,
int *pos_x, int *pos_y)
{
- int x, y;
*pos_x = 0;
*pos_y = 0;
@@ -189,11 +188,9 @@
/* There is no offset to the root browser window */
break;
case BROWSER_WINDOW_IFRAME:
- /* offset comes from its box position in parent bw */
- box_coords(bw->box, &x, &y);
-
- *pos_x += x * bw->scale;
- *pos_y += y * bw->scale;
+
+ *pos_x += bw->x * bw->scale;
+ *pos_y += bw->y * bw->scale;
break;
}
@@ -204,6 +201,26 @@
* browser window. */
return;
}
+ }
+}
+
+/* exported interface, documented in browser.h */
+void browser_window_set_position(struct browser_window *bw, int x, int y)
+{
+ assert(bw != NULL);
+
+ switch (bw->browser_window_type) {
+ default:
+ /* fall through to NORMAL until frame(set)s are handled
+ * in the core */
+ case BROWSER_WINDOW_NORMAL:
+ /* TODO: Not implemented yet */
+ break;
+ case BROWSER_WINDOW_IFRAME:
+
+ bw->x = x;
+ bw->y = y;
+ break;
}
}
@@ -603,7 +620,7 @@
/* Format the new content to the correct dimensions */
browser_window_get_dimensions(bw, &width, &height, true);
- content_reformat(c, width, height);
+ content_reformat(c, false, width, height);
browser_window_remove_caret(bw);
@@ -711,7 +728,10 @@
if (bw->move_callback)
bw->move_callback(bw, bw->caret_p);
- browser_window_update(bw, false);
+ if (!(event->data.background)) {
+ /* Reformatted content should be redrawn */
+ browser_window_update(bw, false);
+ }
break;
case CONTENT_MSG_REDRAW:
@@ -750,15 +770,12 @@
void browser_window_get_dimensions(struct browser_window *bw,
int *width, int *height, bool scaled)
{
- struct rect rect;
+ assert(bw);
switch (bw->browser_window_type) {
case BROWSER_WINDOW_IFRAME:
- /* browser window is size of associated box */
- box_bounds(bw->box, &rect);
-LOG(("SCALED: %s", scaled ? "yes" : "no"));
- *width = rect.x1 - rect.x0;
- *height = rect.y1 - rect.y0;
+ *width = bw->width;
+ *height = bw->height;
break;
case BROWSER_WINDOW_FRAME:
@@ -768,6 +785,34 @@
* size of gui window viewport */
assert(bw->window);
gui_window_get_dimensions(bw->window, width, height, scaled);
+ break;
+ }
+}
+
+
+/*
+ * Set the dimensions of the area a browser window occupies
+ *
+ * \param bw The browser window to set dimensions of
+ * \param width Width in pixels
+ * \param height Height in pixels
+ */
+
+void browser_window_set_dimensions(struct browser_window *bw,
+ int width, int height)
+{
+ assert(bw);
+
+ switch (bw->browser_window_type) {
+ case BROWSER_WINDOW_IFRAME:
+ bw->width = width;
+ bw->height = height;
+ break;
+
+ case BROWSER_WINDOW_FRAME:
+ case BROWSER_WINDOW_FRAMESET:
+ case BROWSER_WINDOW_NORMAL:
+ /* TODO: Not implemented yet */
break;
}
}
@@ -1323,7 +1368,8 @@
* \param height new height
*/
-void browser_window_reformat(struct browser_window *bw, int width, int height)
+void browser_window_reformat(struct browser_window *bw, bool background,
+ int width, int height)
{
hlcache_handle *c = bw->current_content;
@@ -1336,7 +1382,7 @@
height /= bw->scale;
}
- content_reformat(c, width, height);
+ content_reformat(c, background, width, height);
}
Modified: trunk/netsurf/desktop/browser.h
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/browser.h?rev=124...
==============================================================================
--- trunk/netsurf/desktop/browser.h (original)
+++ trunk/netsurf/desktop/browser.h Fri Jun 24 04:30:33 2011
@@ -123,11 +123,17 @@
/** Window has been resized, and content needs reformatting. */
bool reformat_pending;
- /** Window dimensions */
+ /** Window dimensions (to be phased out) */
int x0;
int y0;
int x1;
int y1;
+
+ /** Window dimensions */
+ int x;
+ int y;
+ int width;
+ int height;
/** scale of window contents */
float scale;
@@ -213,6 +219,8 @@
struct hlcache_handle *parent);
void browser_window_get_dimensions(struct browser_window *bw,
int *width, int *height, bool scaled);
+void browser_window_set_dimensions(struct browser_window *bw,
+ int width, int height);
void browser_window_download(struct browser_window *bw,
const char *url, const char *referrer);
void browser_window_update(struct browser_window *bw, bool scroll_to_top);
@@ -222,7 +230,8 @@
void browser_window_reload(struct browser_window *bw, bool all);
void browser_window_destroy(struct browser_window *bw);
struct browser_window * browser_window_owner(struct browser_window *bw);
-void browser_window_reformat(struct browser_window *bw, int width, int height);
+void browser_window_reformat(struct browser_window *bw, bool background,
+ int width, int height);
void browser_window_set_scale(struct browser_window *bw, float scale, bool all);
void browser_window_refresh_url_bar(struct browser_window *bw, const char *url,
@@ -310,6 +319,16 @@
void browser_window_get_position(struct browser_window *bw, bool root,
int *pos_x, int *pos_y);
+/*
+ * Set the position of the current browser window with respect to the parent
+ * browser window
+ *
+ * \param bw browser window to get the position of
+ * \param x x position of bw
+ * \param y y position of bw
+ */
+void browser_window_set_position(struct browser_window *bw, int x, int y);
+
/* In platform specific hotlist.c. */
void hotlist_visited(struct hlcache_handle *c);
Modified: trunk/netsurf/desktop/frames.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/frames.c?rev=1249...
==============================================================================
--- trunk/netsurf/desktop/frames.c (original)
+++ trunk/netsurf/desktop/frames.c Fri Jun 24 04:30:33 2011
@@ -58,6 +58,7 @@
struct content_html_iframe *iframe) {
struct browser_window *window;
struct content_html_iframe *cur;
+ struct rect rect;
int iframes = 0;
int index;
@@ -94,6 +95,13 @@
window->box = cur->box;
window->parent = bw;
window->box->iframe = window;
+
+ /* iframe dimensions */
+ box_bounds(window->box, &rect);
+
+ browser_window_set_position(window, rect.x0, rect.y0);
+ browser_window_set_dimensions(window, rect.x1 - rect.x0,
+ rect.y1 - rect.y0);
}
/* calculate dimensions */
Modified: trunk/netsurf/desktop/print.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/print.c?rev=12497...
==============================================================================
--- trunk/netsurf/desktop/print.c (original)
+++ trunk/netsurf/desktop/print.c Fri Jun 24 04:30:33 2011
@@ -189,7 +189,7 @@
FIXTOFLT(FSUB(settings->margins[MARGINTOP],
settings->margins[MARGINBOTTOM]))) / settings->scale;
- content_reformat(content, page_content_width, 0);
+ content_reformat(content, false, page_content_width, 0);
LOG(("New layout applied.New height = %d ; New width = %d ",
content_get_height(content),
Modified: trunk/netsurf/gtk/window.c
URL: http://source.netsurf-browser.org/trunk/netsurf/gtk/window.c?rev=12497&r1...
==============================================================================
--- trunk/netsurf/gtk/window.c (original)
+++ trunk/netsurf/gtk/window.c Fri Jun 24 04:30:33 2011
@@ -755,7 +755,7 @@
if (!g->bw->reformat_pending)
continue;
g->bw->reformat_pending = false;
- browser_window_reformat(g->bw,
+ browser_window_reformat(g->bw, false,
widget->allocation.width,
widget->allocation.height);
}
Modified: trunk/netsurf/monkey/browser.c
URL: http://source.netsurf-browser.org/trunk/netsurf/monkey/browser.c?rev=1249...
==============================================================================
--- trunk/netsurf/monkey/browser.c (original)
+++ trunk/netsurf/monkey/browser.c Fri Jun 24 04:30:33 2011
@@ -70,6 +70,7 @@
RING_ITERATE_STOP(gw_ring, c_ring);
if (c_ring->bw->reformat_pending) {
browser_window_reformat(c_ring->bw,
+ false,
c_ring->width,
c_ring->height);
}
Modified: trunk/netsurf/render/html.c
URL: http://source.netsurf-browser.org/trunk/netsurf/render/html.c?rev=12497&r...
==============================================================================
--- trunk/netsurf/render/html.c (original)
+++ trunk/netsurf/render/html.c Fri Jun 24 04:30:33 2011
@@ -1480,7 +1480,7 @@
html_object_done(box, object, o->background);
if (c->base.status == CONTENT_STATUS_READY ||
c->base.status == CONTENT_STATUS_DONE)
- content__reformat(&c->base,
+ content__reformat(&c->base, false,
c->base.available_width,
c->base.height);
}
@@ -1581,7 +1581,7 @@
event->type == CONTENT_MSG_DONE ||
event->type == CONTENT_MSG_ERROR)) {
/* all objects have arrived */
- content__reformat(&c->base, c->base.available_width,
+ content__reformat(&c->base, false, c->base.available_width,
c->base.height);
html_set_status(c, "");
content_set_done(&c->base);
@@ -1601,7 +1601,7 @@
(c->base.status == CONTENT_STATUS_READY ||
c->base.status == CONTENT_STATUS_DONE) &&
(wallclock() > c->base.reformat_time)) {
- content__reformat(&c->base, c->base.available_width,
+ content__reformat(&c->base, false, c->base.available_width,
c->base.height);
}
Modified: trunk/netsurf/render/layout.c
URL: http://source.netsurf-browser.org/trunk/netsurf/render/layout.c?rev=12497...
==============================================================================
--- trunk/netsurf/render/layout.c (original)
+++ trunk/netsurf/render/layout.c Fri Jun 24 04:30:33 2011
@@ -273,12 +273,6 @@
return true;
}
- /* special case if the block contains an iframe */
- if (block->iframe) {
- browser_window_reformat(block->iframe, block->width,
- block->height == AUTO ? 0 : block->height);
- }
-
/* special case if the block contains an radio button or checkbox */
if (block->gadget && (block->gadget->type == GADGET_RADIO ||
block->gadget->type == GADGET_CHECKBOX)) {
@@ -512,11 +506,6 @@
if (!layout_block_object(box))
return false;
- } else if (box->iframe) {
- browser_window_reformat(box->iframe, box->width,
- box->height == AUTO ?
- 0 : box->height);
-
} else if (box->type == BOX_INLINE_CONTAINER) {
box->width = box->parent->width;
if (!layout_inline_container(box, box->width, block,
@@ -1045,7 +1034,7 @@
#endif
if (content_get_type(block->object) == CONTENT_HTML) {
- content_reformat(block->object, block->width, 1);
+ content_reformat(block->object, false, block->width, 1);
} else {
/* Non-HTML objects */
/* this case handled already in
@@ -2515,7 +2504,7 @@
content_get_available_width(b->object)) {
htype = css_computed_height(b->style, &value, &unit);
- content_reformat(b->object, b->width, b->height);
+ content_reformat(b->object, false, b->width, b->height);
if (htype == CSS_HEIGHT_AUTO)
b->height = content_get_height(b->object);
@@ -2730,13 +2719,6 @@
}
b->next_float = cont->float_children;
cont->float_children = b;
-
- /* If the iframe's bw is in place, reformat it to the
- * new box size */
- if (b->iframe) {
- browser_window_reformat(b->iframe,
- b->width, b->height);
- }
split_box = 0;
}
@@ -5007,7 +4989,8 @@
/**
- * Recursively calculate the descendant_[xy][01] values for a laid-out box tree.
+ * Recursively calculate the descendant_[xy][01] values for a laid-out box tree
+ * and inform iframe browser windows of their size and position.
*
* \param box tree of boxes to update
*/
@@ -5029,6 +5012,17 @@
box->descendant_x1 = content_get_width(box->object);
if (box->descendant_y1 < content_get_height(box->object))
box->descendant_y1 = content_get_height(box->object);
+ }
+
+ if (box->iframe != NULL) {
+ int x, y;
+ box_coords(box, &x, &y);
+
+ browser_window_set_position(box->iframe, x, y);
+ browser_window_set_dimensions(box->iframe,
+ box->width, box->height);
+ browser_window_reformat(box->iframe, true,
+ box->width, box->height);
}
if (box->type == BOX_INLINE || box->type == BOX_TEXT)
Modified: trunk/netsurf/riscos/print.c
URL: http://source.netsurf-browser.org/trunk/netsurf/riscos/print.c?rev=12497&...
==============================================================================
--- trunk/netsurf/riscos/print.c (original)
+++ trunk/netsurf/riscos/print.c Fri Jun 24 04:30:33 2011
@@ -588,7 +588,7 @@
saved_width = content_get_width(h);
saved_height = content_get_height(h);
if (content_get_type(h) == CONTENT_HTML)
- content_reformat(h, width, height);
+ content_reformat(h, false, width, height);
/* open printer file */
error = xosfind_openoutw(osfind_NO_PATH | osfind_ERROR_IF_DIR |
@@ -758,7 +758,7 @@
/* restore document layout and redraw browser window */
if (content_get_type(h) == CONTENT_HTML)
- content_reformat(h, saved_width, saved_height);
+ content_reformat(h, false, saved_width, saved_height);
gui_window_redraw_window(g);
@@ -778,7 +778,7 @@
/* restore document layout */
if (content_get_type(h) == CONTENT_HTML)
- content_reformat(h, saved_width, saved_height);
+ content_reformat(h, false, saved_width, saved_height);
return false;
}
Modified: trunk/netsurf/riscos/window.c
URL: http://source.netsurf-browser.org/trunk/netsurf/riscos/window.c?rev=12497...
==============================================================================
--- trunk/netsurf/riscos/window.c (original)
+++ trunk/netsurf/riscos/window.c Fri Jun 24 04:30:33 2011
@@ -4426,7 +4426,7 @@
if (!g->bw->reformat_pending)
continue;
g->bw->reformat_pending = false;
- browser_window_reformat(g->bw,
+ browser_window_reformat(g->bw, false,
g->old_width / 2,
g->old_height / 2);
}
Modified: trunk/netsurf/windows/drawable.c
URL: http://source.netsurf-browser.org/trunk/netsurf/windows/drawable.c?rev=12...
==============================================================================
--- trunk/netsurf/windows/drawable.c (original)
+++ trunk/netsurf/windows/drawable.c Fri Jun 24 04:30:33 2011
@@ -203,7 +203,7 @@
static LRESULT
nsws_drawable_resize(struct gui_window *gw)
{
- browser_window_reformat(gw->bw, gw->width, gw->height);
+ browser_window_reformat(gw->bw, false, gw->width, gw->height);
return 0;
}
Modified: trunk/netsurf/windows/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/windows/gui.c?rev=12497&r...
==============================================================================
--- trunk/netsurf/windows/gui.c (original)
+++ trunk/netsurf/windows/gui.c Fri Jun 24 04:30:33 2011
@@ -858,7 +858,7 @@
gui_window_get_scroll(gw, &x, &y);
if (gw->bw != NULL) {
browser_window_set_scale(gw->bw, gw->bw->scale * 1.1, true);
- browser_window_reformat(gw->bw, gw->width, gw->height);
+ browser_window_reformat(gw->bw, false, gw->width, gw->height);
}
gui_window_redraw_window(gw);
gui_window_set_scroll(gw, x, y);
@@ -871,7 +871,7 @@
if (gw->bw != NULL) {
browser_window_set_scale(gw->bw,
gw->bw->scale * 0.9, true);
- browser_window_reformat(gw->bw, gw->width, gw->height);
+ browser_window_reformat(gw->bw, false, gw->width, gw->height);
}
gui_window_redraw_window(gw);
gui_window_set_scroll(gw, x, y);
@@ -883,7 +883,7 @@
gui_window_get_scroll(gw, &x, &y);
if (gw->bw != NULL) {
browser_window_set_scale(gw->bw, 1.0, true);
- browser_window_reformat(gw->bw, gw->width, gw->height);
+ browser_window_reformat(gw->bw, false, gw->width, gw->height);
}
gui_window_redraw_window(gw);
gui_window_set_scroll(gw, x, y);
@@ -948,7 +948,9 @@
case IDM_VIEW_TOGGLE_DEBUG_RENDERING:
html_redraw_debug = !html_redraw_debug;
if (gw->bw != NULL) {
- browser_window_reformat(gw->bw, gw->width, gw->height);
+ /* TODO: This should only redraw, not reformat.
+ * (Layout doesn't change, so reformat is a waste of time) */
+ browser_window_reformat(gw->bw, false, gw->width, gw->height);
}
break;
11 years, 11 months
r12496 chris_y - in /trunk/netsurf/amiga: context_menu.c gui.h
by netsurf@semichrome.net
Author: chris_y
Date: Thu Jun 23 12:35:35 2011
New Revision: 12496
URL: http://source.netsurf-browser.org?rev=12496&view=rev
Log:
Decouple context menus from gui_window, ensure they get disposed on exit
Modified:
trunk/netsurf/amiga/context_menu.c
trunk/netsurf/amiga/gui.h
Modified: trunk/netsurf/amiga/context_menu.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/context_menu.c?rev=...
==============================================================================
--- trunk/netsurf/amiga/context_menu.c (original)
+++ trunk/netsurf/amiga/context_menu.c Thu Jun 23 12:35:35 2011
@@ -53,7 +53,7 @@
static bool ami_context_menu_history(const struct history *history, int x0, int y0,
int x1, int y1, const struct history_entry *entry, void *user_data);
-uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved);
+static uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved);
enum {
CMID_SELECTFILE,
@@ -82,7 +82,9 @@
struct Library *PopupMenuBase = NULL;
struct PopupMenuIFace *IPopupMenu = NULL;
-char *ctxmenulab[CMID_LAST];
+static char *ctxmenulab[CMID_LAST];
+static Object *ctxmenuobj = NULL;
+static struct Hook ctxmenuhook;
void ami_context_menu_init(void)
{
@@ -124,6 +126,8 @@
{
int i;
+ if(ctxmenuobj) DisposeObject(ctxmenuobj);
+
for(i=0;i<CMID_LAST;i++)
{
ami_utf8_free(ctxmenulab[i]);
@@ -173,13 +177,14 @@
if(!cc) return;
if(content_get_type(cc) != CONTENT_HTML) return;
- if(gwin->objects[OID_MENU]) DisposeObject(gwin->objects[OID_MENU]);
-
- gwin->popuphook.h_Entry = ami_context_menu_hook;
- gwin->popuphook.h_Data = gwin;
-
- gwin->objects[OID_MENU] = NewObject( POPUPMENU_GetClass(), NULL,
- PMA_MenuHandler, &gwin->popuphook,
+ if(ctxmenuobj) DisposeObject(ctxmenuobj);
+
+ ctxmenuhook.h_Entry = ami_context_menu_hook;
+ ctxmenuhook.h_SubEntry = NULL;
+ ctxmenuhook.h_Data = gwin;
+
+ ctxmenuobj = NewObject( POPUPMENU_GetClass(), NULL,
+ PMA_MenuHandler, &ctxmenuhook,
TAG_DONE);
if(gwin->bw && gwin->bw->history &&
@@ -189,13 +194,13 @@
gwin->temp = 0;
history_enumerate_back(gwin->bw->history, ami_context_menu_history, gwin);
- IDoMethod(gwin->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, ~0,
TAG_DONE),
~0);
- IDoMethod(gwin->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMID_HISTORY],
PMIA_ID, CMID_HISTORY,
@@ -212,13 +217,13 @@
gwin->temp = 0;
history_enumerate_forward(gwin->bw->history, ami_context_menu_history, gwin);
- IDoMethod(gwin->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, ~0,
TAG_DONE),
~0);
- IDoMethod(gwin->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMID_HISTORY],
PMIA_ID, CMID_HISTORY,
@@ -240,7 +245,7 @@
if(no_url && curbox->href)
{
- IDoMethod(gwin->objects[OID_MENU],PM_INSERT,
+ IDoMethod(ctxmenuobj,PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMSUB_URL],
PMSIMPLESUB,
@@ -275,7 +280,7 @@
if(no_obj && curbox->object &&
(content_get_type(curbox->object) == CONTENT_IMAGE))
{
- IDoMethod(gwin->objects[OID_MENU],PM_INSERT,
+ IDoMethod(ctxmenuobj,PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMSUB_OBJECT],
PMSIMPLESUB,
@@ -320,7 +325,7 @@
BOOL disabled_readonly = selection_read_only(gwin->bw->sel);
BOOL disabled_noselection = !selection_defined(gwin->bw->sel);
- IDoMethod(gwin->objects[OID_MENU],PM_INSERT,
+ IDoMethod(ctxmenuobj,PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMSUB_SEL],
PMIA_SubMenu, NewObject(POPUPMENU_GetClass(), NULL,
@@ -369,7 +374,7 @@
{
if(ami_mime_content_to_cmd(curbox->object))
{
- IDoMethod(gwin->objects[OID_MENU],PM_INSERT,
+ IDoMethod(ctxmenuobj,PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMID_PLUGINCMD],
PMIA_ID, CMID_PLUGINCMD,
@@ -385,7 +390,7 @@
switch (curbox->gadget->type)
{
case GADGET_FILE:
- IDoMethod(gwin->objects[OID_MENU],PM_INSERT,
+ IDoMethod(ctxmenuobj,PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ctxmenulab[CMID_SELECTFILE],
PMIA_ID,CMID_SELECTFILE,
@@ -403,7 +408,7 @@
if(!menuhascontent) return;
gui_window_set_pointer(gwin->bw->window,GUI_POINTER_DEFAULT);
- IDoMethod(gwin->objects[OID_MENU],PM_OPEN,gwin->win);
+ IDoMethod(ctxmenuobj,PM_OPEN,gwin->win);
}
static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved)
@@ -626,7 +631,7 @@
gwin->temp++;
if(gwin->temp > 10) return false;
- IDoMethod(gwin->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject(POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)history_entry_get_title(entry),
PMIA_ID, CMID_HISTORY,
@@ -637,7 +642,7 @@
return true;
}
-uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved)
+static uint32 ami_popup_hook(struct Hook *hook,Object *item,APTR reserved)
{
int32 itemid = 0;
struct gui_window *gwin = hook->h_Data;
@@ -662,19 +667,20 @@
struct form_option *opt = control->data.select.items;
ULONG i = 0;
- if(gwin->shared->objects[OID_MENU]) DisposeObject(gwin->shared->objects[OID_MENU]);
-
- gwin->shared->popuphook.h_Entry = ami_popup_hook;
- gwin->shared->popuphook.h_Data = gwin;
+ if(ctxmenuobj) DisposeObject(ctxmenuobj);
+
+ ctxmenuhook.h_Entry = ami_popup_hook;
+ ctxmenuhook.h_SubEntry = NULL;
+ ctxmenuhook.h_Data = gwin;
gwin->shared->control = control;
- gwin->shared->objects[OID_MENU] = PMMENU(ami_utf8_easy(control->name)),
- PMA_MenuHandler, &gwin->shared->popuphook, End;
+ ctxmenuobj = PMMENU(ami_utf8_easy(control->name)),
+ PMA_MenuHandler, &ctxmenuhook, End;
while(opt)
{
- IDoMethod(gwin->shared->objects[OID_MENU], PM_INSERT,
+ IDoMethod(ctxmenuobj, PM_INSERT,
NewObject( POPUPMENU_GetItemClass(), NULL,
PMIA_Title, (ULONG)ami_utf8_easy(opt->text),
PMIA_ID, i,
@@ -689,7 +695,7 @@
gui_window_set_pointer(gwin, GUI_POINTER_DEFAULT); // Clear the menu-style pointer
- IDoMethod(gwin->shared->objects[OID_MENU], PM_OPEN, gwin->shared->win);
+ IDoMethod(ctxmenuobj, PM_OPEN, gwin->shared->win);
}
#else
Modified: trunk/netsurf/amiga/gui.h
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.h?rev=12496&r1=...
==============================================================================
--- trunk/netsurf/amiga/gui.h (original)
+++ trunk/netsurf/amiga/gui.h Thu Jun 23 12:35:35 2011
@@ -34,7 +34,6 @@
OID_MAIN = 0,
OID_VSCROLL,
OID_HSCROLL,
- OID_MENU,
OID_LAST, /* for compatibility */
GID_MAIN,
GID_TABLAYOUT,
@@ -87,7 +86,6 @@
ULONG tabs;
ULONG next_tab;
struct Hook scrollerhook;
- struct Hook popuphook;
struct form_control *control;
browser_mouse_state mouse_state;
browser_mouse_state key_state;
11 years, 11 months
r12495 tlsa - /trunk/netsurf/desktop/browser.c
by netsurf@semichrome.net
Author: tlsa
Date: Wed Jun 22 08:52:56 2011
New Revision: 12495
URL: http://source.netsurf-browser.org?rev=12495&view=rev
Log:
Ensure top level browser window has focus by default.
Modified:
trunk/netsurf/desktop/browser.c
Modified: trunk/netsurf/desktop/browser.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/browser.c?rev=124...
==============================================================================
--- trunk/netsurf/desktop/browser.c (original)
+++ trunk/netsurf/desktop/browser.c Wed Jun 22 08:52:56 2011
@@ -238,6 +238,7 @@
bw->border = true;
bw->no_resize = true;
bw->last_action = wallclock();
+ bw->focus = bw;
bw->sel = selection_create();
selection_set_browser_window(bw->sel, bw);
@@ -1234,7 +1235,7 @@
top = top->parent;
if (top->focus == bw)
- top->focus = NULL;
+ top->focus = top;
}
/* Destruction order is important: we must ensure that the frontend
11 years, 11 months
r12494 tlsa - /trunk/netsurf/desktop/browser.c
by netsurf@semichrome.net
Author: tlsa
Date: Wed Jun 22 05:27:20 2011
New Revision: 12494
URL: http://source.netsurf-browser.org?rev=12494&view=rev
Log:
Purge more favicon remnants.
Modified:
trunk/netsurf/desktop/browser.c
Modified: trunk/netsurf/desktop/browser.c
URL: http://source.netsurf-browser.org/trunk/netsurf/desktop/browser.c?rev=124...
==============================================================================
--- trunk/netsurf/desktop/browser.c (original)
+++ trunk/netsurf/desktop/browser.c Wed Jun 22 05:27:20 2011
@@ -633,13 +633,6 @@
/* This is safe as we've just added the URL */
global_history_add(urldb_get_url(url));
}
- }
-
- /* favicon preload */
- if (bw->browser_window_type == BROWSER_WINDOW_NORMAL &&
- content_get_type(c) == CONTENT_HTML) {
- gui_window_set_icon(bw->window,
- html_get_favicon(bw->current_content));
}
/* text selection */
11 years, 11 months
r12492 chris_y - /trunk/netsurf/amiga/filetype.c
by netsurf@semichrome.net
Author: chris_y
Date: Sun Jun 19 06:24:22 2011
New Revision: 12492
URL: http://source.netsurf-browser.org?rev=12492&view=rev
Log:
translate / to - when guessing mime types
Modified:
trunk/netsurf/amiga/filetype.c
Modified: trunk/netsurf/amiga/filetype.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/filetype.c?rev=1249...
==============================================================================
--- trunk/netsurf/amiga/filetype.c (original)
+++ trunk/netsurf/amiga/filetype.c Sun Jun 19 06:24:22 2011
@@ -372,6 +372,7 @@
while(*p != '\0')
{
if(*p == ' ') *p = '-';
+ if(*p == '/') *p = '-';
p++;
}
@@ -634,7 +635,7 @@
while(mimeentry = ami_mime_entry_locate(NULL, AMI_MIME_MIMETYPE, &node))
{
- LOG(("%s DT=%s TYPE=%s CMD=%s",
+ LOG(("%s DT=\"%s\" TYPE=\"%s\" CMD=\"%s\"",
mimeentry->mimetype ? lwc_string_data(mimeentry->mimetype) : "",
mimeentry->datatype ? lwc_string_data(mimeentry->datatype) : "",
mimeentry->filetype ? lwc_string_data(mimeentry->filetype) : "",
11 years, 11 months
r12491 chris_y - /trunk/netsurf/amiga/gui.c
by netsurf@semichrome.net
Author: chris_y
Date: Sun Jun 19 06:16:48 2011
New Revision: 12491
URL: http://source.netsurf-browser.org?rev=12491&view=rev
Log:
Ensure the WB screen gets unlocked, avoid passing a NULL to CloseScreen
Modified:
trunk/netsurf/amiga/gui.c
Modified: trunk/netsurf/amiga/gui.c
URL: http://source.netsurf-browser.org/trunk/netsurf/amiga/gui.c?rev=12491&r1=...
==============================================================================
--- trunk/netsurf/amiga/gui.c (original)
+++ trunk/netsurf/amiga/gui.c Sun Jun 19 06:16:48 2011
@@ -572,14 +572,13 @@
if(option_use_pubscreen && option_use_pubscreen[0] != '\0')
{
- if(scrn = LockPubScreen(option_use_pubscreen))
- {
- locked_screen = TRUE;
- }
- else
+ scrn = LockPubScreen(option_use_pubscreen);
+
+ if(scrn == NULL)
{
scrn = LockPubScreen("Workbench");
}
+ locked_screen = TRUE;
}
dri = GetScreenDrawInfo(scrn);
ami_font_setdevicedpi(id);
@@ -705,6 +704,7 @@
IDoMethod(arexx_obj,AM_EXECUTE,sendcmd,"NETSURF",NULL,NULL,NULL,NULL);
IDoMethod(arexx_obj,AM_EXECUTE,"TOFRONT","NETSURF",NULL,NULL,NULL,NULL);
FreeVec(sendcmd);
+
netsurf_quit=true;
return;
}
@@ -2160,6 +2160,7 @@
{
ULONG scrnsig = 1 << screen_signal;
+ if(scrn == NULL) return;
if(CloseScreen(scrn)) return;
LOG(("Waiting for visitor windows to close..."));
11 years, 11 months